运行时异常都是程序员问题::
package com.itheima.d4_exception_runtimeException;public class ExceptionDemo {public static void main(String[] args) {System.out.println("程序开始: ");// 1. 数组索引越界异常: ArrayIndexOutOfBoundsExceptionint[] arr = {1, 2, 3};System.out.println(arr[2]);// System.out.println(arr[3]); // 该数组没有索引为3的元素,所以异常// 2. 空指针异常: NullPointerException 直接输出没问题,但是调用空指针的变量的功能就会报错String name = null;System.out.println(name); // 直接输出是一个null值// System.out.println(name.length()); // 由于他是一个空值 找不到字符串的长度(会报空指针异常)// 3. 类型转换异常 ClassCastExceptionObject o = 23; // Object是祖宗类,什么类型的都可以接收// String s = (String) o; // 继承和实现关系强转不会报错// 编译时就报错,运行时报错: 因为o是整型,不能转换成字符串// System.out.println(s);// 4. 数字操作异常:.ArithmeticException// int c = 10 / 0; // 0 不能作除数// System.out.println(c);// 5. 数字转换异常 : NumberFormatExceptionString number = "23"; // 字符串数据只要是对应的值就可以转换成数字类型// String number = "23.3"; // 类型出错了,报错(这里只能转浮点数)// String number = "23aa"; // 也报错// 字符串数据只要是对应的值就可以转换成数字类型 //valueOf可以将字符串转换成对应的基础类型,这里用Integer接收Integer it = Integer.valueOf(number); // 运行时异常报错了在这里System.out.println(it + 1); //24}}
