数组的异常及处理

 1 package com.baidu.java;
 2 
 3 public class TestException {//数组的异常
 4     public static void main(String[] args) {
 5         //1.数组下标越界异常 java.lang.ArrayIndexOutOfBoundsException
 6         //第一种
 7         int[] _int=new int[10];
 8         _int[0]=100;
 9         _int[9]=20;
10         _int[10]=90;//到——int[9]就结束了,所以此处越界
11         //第二种
12         for(int i=0;i<=_int.length;i++){//此处<=越界,<就已经满足长度了
13             System.out.println(_int[i]);
14         }
15         //2.空指针的异常java.lang.NullPointerException
16         //第一种
17         boolean[] bool=new boolean[4];
18         bool=null;//此处触发异常,把栈中的bool赋值为null,没法指向堆中的地址元素
19         System.out.println(bool[3]);
20         //第二种
21         String[] str=new String[3];
22         System.out.println(str[2].toString());
23         //str[2]为null,用null调用方法,触发空指针异常,应该先给str[2]赋值
24         //第三种
25         int[][] myInt=new int[3][];//此处声明了三行null
26         myInt[2][0]=12;//给第三行第一个元素赋值,因为只声明了行数为3,3行的值
27         //都是null,所以null不能再指向第一个元素,应该先赋值本行有几个元素。
28         
29     }
30 }
原文地址:https://www.cnblogs.com/yunqing/p/4746236.html