自动数据类型转换
低----------------------------->高
byte,short,char,int,long,float,double
高转低会进行强制类型转换会丢失精度
package Test;
public class Test {
private static void test(int[] arr) {
for (int i = 0; i < arr.length; i++) {
try {
if (arr[i] % 2 == 0) {
throw new NullPointerException();
} else {
System.out.print(i);
}
} finally {
System.out.print("e");
}
}
}
public static void main(String[]args) {
try {
test(new int[] {0, 1, 2, 3, 4, 5});
} catch (Exception e) {
System.out.print("E");
}
}
}
由于arr[0]=0,所以进入test()方法里面会在第一个if上抛出一个NullPointerException,接着会执行finally的语句,(finally语句先于return和throw语句执行,输出一个e,然后回到main方法中由于捕获到异常,所以进入到catch与剧中,然后打印一个’E’,所以最终结果为"eE"