共计 2414 个字符,预计需要花费 7 分钟才能阅读完成。
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 语句,那么此语句将作为异样的对立进口,不论是否产生了异样,最终都要执行此段代码。