1.在老师的笔记里面我知道了,除数为零在JDK8里并不认为是一种异常,而是会给出Infinity或NaN两种计算结果。而且,异常还有大有小,
这个代码是当数组下标越界时怎样处理异常! ArrayDemo01类
package lesson001.lesson002;
/**
- 功能:演示数组下标越界异常及其处理
- 2019年5月16日
*/
public class ArrayDemo01 {
public static void main(String[] args) {
int[] a = new int[10];
try {
for (int i = 0; i <= a.length; i++) {
a[i] = i + 1;
}
}catch (ArrayIndexOutOfBoundsException e) {
//此处写异常处理代码,只要发生了异常才执行此处的代码
System.err.println("温馨提示:数组下标不能越界!");
}finally {
//此处写善后处理代码,无论是否发生异常都会执行此处的代码
System.out.println("执行完毕!");
}
try {
for (int i =0;i <= a.length; i++) {
a[i] = i +1;
}
}catch (ArrayIndexOutOfBoundsException e1){
//小异常在大异常之前
}catch (Exception e) {
e.printStackTrace();
}finally {
}
}
}
2 . 我们可以写代码测试6/0,系统会提示Infinity,和0/0是否会提示NaN,
我们老师写的比较简单,很好记住,O(∩_∩)O哈哈~
创建一个DivisionDemo01类
package lesson001.lesson002;
import java.util.Scanner;
/**
- 功能:实现实属除法
- 通过选择结构防范除数为零
- 2019年5月14日
*/
public class DivisionDemo01 {
public static void main(String[] args) {
//声明部分
double a,b,q;
Scanner sc = new Scanner(System.in);
//输入部分
System.out.print("a= ");
a = sc.nextDouble();
System.out.print("b =");
b =sc.nextDouble();
//处理部分
if(b != 0){
q =a /b;
//输出部分
System.out.println(a + " /" + b + "=" + q );
}else {
//输出部分
System.err.println("温馨提示,除数不能为零!");
}
}
}
这个就可以查看啦,
上课没认真听!!!!!!!!!!!!!,可能还有重点没听到…