1、IDEA下载、装置及卸载
在官网进行下载和装置:
注册后绑定激活码:
装置IDEA和装置其它软件没有什么区别,始终下一步即可,始终到装置实现。
装置插件:Ideavim和Chinese Language Pack等插件(Preference->plugin后搜寻装置即可)
2、异样解决学习点
明确什么是异样 (重点)
能辨识出常见的异样及其含意。 (相熟+)
了解异样产生的原理 (理解)
能解决异样 (重点)
可能自定义异样类型 (相熟)
3、什么是异样
(1)、概述
异样是在程序中导致程序中断运行的一种指令流。
例如,当初有如下的操作代码:
package com.xiaoyaoyou.demo;
public class demo {
public static void main(String[] args) { int i = 10; int j = 0; System.out.println("==========开始计算============="); int temp = i / j; System.out.println("temp = " + temp); System.out.println("==========计算完结=============");}
}
复制代码
运行后果:
以上的代码在“int temp = i / j ;”地位处产生了异样,一旦产生异样之后,异样之后的语句将不再执行了,所以当初的程序并没有正确的执行结束之后就退出了(从最上面开始看能够看出是第8行出错了)。
那么,为了保障程序出现异常之后依然能够正确的执行结束,所以要采纳异样的解决机制。
(2)、解决异样
如果要想对异样进行解决,则必须采纳规范的解决格局,解决格局语法如下:
try{
// 有可能产生异样的代码段
}catch(异样类型1 对象名1){
// 异样的解决操作
}catch(异样类型2 对象名2){
// 异样的解决操作
} ...
finally{
// 异样的对立进口
}
package com.xiaoyaoyou.demo;
public class demo {
public static void main(String[] args) { int i = 10; int j = 0; System.out.println("==========开始计算============="); try { int temp = i / j; System.out.println("temp = " + temp); } catch (ArithmeticException e) { System.out.println("除数不能为0"); } System.out.println("==========计算完结=============");}
}
复制代码
package com.xiaoyaoyou.demo;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) { menu();}public static int menu() { System.out.println("请依据提醒,抉择性能序号:"); System.out.println("1. 减少xx"); System.out.println("2. 删除xx"); System.out.println("3. 批改xx"); System.out.println("0. 退出"); Scanner input = new Scanner(System.in); int num = -1; try{ num = input.nextInt(); if(num < 0 || num > 3) { System.out.println("输出有误,请从新操作!"); return menu(); } }catch (InputMismatchException e) { System.out.println("输出有误,请从新操作!"); return menu(); } return num;}
}
复制代码
package com.xiaoyaoyou.demo;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) { menu();}public static int menu() { System.out.println("请依据提醒,抉择性能序号:"); System.out.println("1. 减少xx"); System.out.println("2. 删除xx"); System.out.println("3. 批改xx"); System.out.println("0. 退出"); Scanner input = new Scanner(System.in); int num = -1; try{ num = input.nextInt(); if(num < 0 || num > 3) { System.out.println("输出有误,请从新操作!"); return menu(); } }catch (Exception e) { System.out.println("输出有误,请从新操作!"); return menu(); } return num;}
}
复制代码
(3)、try+catch的解决流程
1、 一旦产生异样,则零碎会主动产生一个异样类的实例化对象。
2、 那么,此时如果异样产生在try语句,则会主动找到匹配的catch语句执行,如果没有在try语句中,则会将异样抛出。
3、 所有的catch依据办法的参数匹配异样类的实例化对象,如果匹配胜利,则示意由此catch进行解决。
(4)、finally
在进行异样的解决之后,在异样的解决格局中还有一个finally语句,那么此语句将作为异样的对立进口,不论是否产生了异样,最终都要执行此段代码。