Java十分钟掌握数组与常见异常

网友投稿 298 2022-08-21


Java十分钟掌握数组与常见异常

数组的定义

1:单个变量能存储信息

2:用来存储具有相同数据类型的数据集合,可以使用共同的名字来引用数组中存储的数据。

特点

数组可以存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。

数组的使用

声明一个数组变量来存放该数组

语法

数据类型 [] 数组名

数据类型 数组名[]

//声明一个int类型 名为 numebr 的数组

int [] number;

int number [];

//以上两种方法都可以

创建一个新的数组对象并将其赋值给上一步所创建的数组变量:

1:使用new运算符

int [] number = new [5];

// 意思是把number这个数组的长度设置为5,

//但是数组的长度一旦被设置,就无法更改

2:直接初始化数组

int [] number = {1,2,3,4,5,6}

//也可以直接用进行赋值,写入相同类型的数值即可

3:访问或修改此数组中存储的数据

a:如果需要访问数组中的元素,需要使用数组名[下标]的形式访问

b:注意数组的最大下标是:数组的长度-1;最开始的下标是:0

c:数组的长度可以通过使用数组的属性length获取,每一个数组对象都会有length属性来表示数组的长度,也即数组元素的个数

//输出nuBCMqRXTlmber数值第2个数字

System.out.println(number[1])

4:遍历数组:

若要把数组内的所有元素都输出一边,可以采用for循环的方式

int [] numebr = {1,2,3,4,5}

for(int i=0;i

System.out.println(number[i])

}

创建二维数组

二维数组的创建同样有两种方式:

方式一:

使用new运算符

int [][] number = new int[5][5];

方式二:声明数组并且赋初始值

int [][] nuber = {{1,2,3,},{4,5,6,},{7,8}};

//二维数组就是在一个大的数组内,还包含了二BCMqRXTl级数组,可以理解成嵌套的意思

//若要输出二维数组,也可以采用多个for循环的方式

int [][] nuber = {{1,2,3},{4,5,6},{7,8,9}};

for(int i =0;i

for (int j = 0;j

System.out.println(nuber[i][j]);

}

}

需要注意的问题:

数组越界异常报错:

数组越界属于运行时异常,当数组访问长度超过数组本身长度时,就会抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException

数组指向和传递

引用传递的本质是栈内存中的**字段(集合)**指向堆内存中的数据。当发生数组的赋值或者数组的函数参数传递时,传递的是值得引用,也就是将指向该数据的指针传递,使得指向同一块数据内存,从而达到数组传递的目的。所以,当堆内存的数据时,其他指向该数据段的引用都会被修改。

常见异常:

数组下标越界异常:ArrayIndexOutOfBoundsException

字符串下标越界异常:StringIndexOutOfBoundsException

类转换异常:ClassCastException

空指针异常:NullPointerException

数字格式化异常:NumberFormatException

输入无法匹配异常:InputMismatchException

解析异常:ParseException

没有这样的元素异常:NoSuchElementException

文件找不到异常:FileNotFoundException

算术异常:ArithmeticException

错误的参http://数异常:IllegalArgumentException

System.out.println(number[i])

}

创建二维数组

二维数组的创建同样有两种方式:

方式一:

使用new运算符

int [][] number = new int[5][5];

方式二:声明数组并且赋初始值

int [][] nuber = {{1,2,3,},{4,5,6,},{7,8}};

//二维数组就是在一个大的数组内,还包含了二BCMqRXTl级数组,可以理解成嵌套的意思

//若要输出二维数组,也可以采用多个for循环的方式

int [][] nuber = {{1,2,3},{4,5,6},{7,8,9}};

for(int i =0;i

for (int j = 0;j

System.out.println(nuber[i][j]);

}

}

需要注意的问题:

数组越界异常报错:

数组越界属于运行时异常,当数组访问长度超过数组本身长度时,就会抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException

数组指向和传递

引用传递的本质是栈内存中的**字段(集合)**指向堆内存中的数据。当发生数组的赋值或者数组的函数参数传递时,传递的是值得引用,也就是将指向该数据的指针传递,使得指向同一块数据内存,从而达到数组传递的目的。所以,当堆内存的数据时,其他指向该数据段的引用都会被修改。

常见异常:

数组下标越界异常:ArrayIndexOutOfBoundsException

字符串下标越界异常:StringIndexOutOfBoundsException

类转换异常:ClassCastException

空指针异常:NullPointerException

数字格式化异常:NumberFormatException

输入无法匹配异常:InputMismatchException

解析异常:ParseException

没有这样的元素异常:NoSuchElementException

文件找不到异常:FileNotFoundException

算术异常:ArithmeticException

错误的参http://数异常:IllegalArgumentException

for (int j = 0;j

System.out.println(nuber[i][j]);

}

}

需要注意的问题:

数组越界异常报错:

数组越界属于运行时异常,当数组访问长度超过数组本身长度时,就会抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException

数组指向和传递

引用传递的本质是栈内存中的**字段(集合)**指向堆内存中的数据。当发生数组的赋值或者数组的函数参数传递时,传递的是值得引用,也就是将指向该数据的指针传递,使得指向同一块数据内存,从而达到数组传递的目的。所以,当堆内存的数据时,其他指向该数据段的引用都会被修改。

常见异常:

数组下标越界异常:ArrayIndexOutOfBoundsException

字符串下标越界异常:StringIndexOutOfBoundsException

类转换异常:ClassCastException

空指针异常:NullPointerException

数字格式化异常:NumberFormatException

输入无法匹配异常:InputMismatchException

解析异常:ParseException

没有这样的元素异常:NoSuchElementException

文件找不到异常:FileNotFoundException

算术异常:ArithmeticException

错误的参http://数异常:IllegalArgumentException

System.out.println(nuber[i][j]);

}

}

需要注意的问题:

数组越界异常报错:

数组越界属于运行时异常,当数组访问长度超过数组本身长度时,就会抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException

数组指向和传递

引用传递的本质是栈内存中的**字段(集合)**指向堆内存中的数据。当发生数组的赋值或者数组的函数参数传递时,传递的是值得引用,也就是将指向该数据的指针传递,使得指向同一块数据内存,从而达到数组传递的目的。所以,当堆内存的数据时,其他指向该数据段的引用都会被修改。

常见异常:

数组下标越界异常:ArrayIndexOutOfBoundsException

字符串下标越界异常:StringIndexOutOfBoundsException

类转换异常:ClassCastException

空指针异常:NullPointerException

数字格式化异常:NumberFormatException

输入无法匹配异常:InputMismatchException

解析异常:ParseException

没有这样的元素异常:NoSuchElementException

文件找不到异常:FileNotFoundException

算术异常:ArithmeticException

错误的参http://数异常:IllegalArgumentException


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JVM的类加载器和双亲委派模式你了解吗
下一篇:Java十分钟理清面向对象与类的核心
相关文章

 发表评论

暂时没有评论,来抢沙发吧~