空指針異常發(fā)生在對象為空,但是引用這個對象的方法。
代碼如下:
public class Demo23 {
public static void main(String[] args) {
String s = null; //對象s為空(null)
int length = s.length();//發(fā)生空指針異常
System.out.println(length);
}
}運行結(jié)果如下,發(fā)生空指針異常
正確代碼如下:
public class Demo23 {
public static void main(String[] args) {
String s = "HelloWorld"; //對象s不為空
int length = s.length();
System.out.println(length);
}
}運行結(jié)果如下:
2 數(shù)組越界異常
例如你的數(shù)據(jù)定義了5位,int i[]=new int[6],a[6],所以6這個值是越界的,i[0]到i[5]是正常范圍內(nèi)的,只是在運行i[6]時發(fā)生了越界現(xiàn)象。
先看如下代碼:
publicclass Demo03 {
public static void main(String[] args) {
int i[]={1,2,3,4,};
for(int x=0;x<6;x++)
{
System.out.print(i[x]+"\t");
}
}
}
運行時會出現(xiàn)如下錯誤:
正確代碼如下:
public class Demo03 {
public static void main(String[] args) {
int i[]={1,2,3,4,};
for(int x=0;x<i.length;x++)
{
System.out.print(i[x]+"\t");
}
}
}
運行結(jié)果: