java自学-数组

1.数组是什么

前边说过java的基本数据类型,数组,就是装这些基本类型的容器。每个基本类型的变量都是单个的,数组就是这些单个元素的组合。

2.创建数组

方式一
格式:
数组存储的数据类型[]  数组名字= new 数组存储的数据类型[长度];

数组定义格式详解:

数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[] : 表示数组。
数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
new:关键字,创建数组使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]:数组的长度,表示数组容器中可以存储多少个元素。
注意:数组有定长特性,长度一旦指定,不可更改。
举例:
int[] arr = new int[3];
定义长度为3的整数数组。
方式二
格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};

数组定义格式详解:

数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[] : 表示数组。
数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
new:关键字,创建数组使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]:数组的长度,表示数组容器中可以存储多少个元素。
元素为数组里具体装的哪些值
举例:
int[] arr = new int[]{1,2,3,4,5};
定义存储1,2,3,4,5整数的数组。
方式三
数组创建也可以直接给值初始化,不明确new对象
格式:
数据类型[] 数组名 = {元素1,元素2,元素3...};
举例:
int[] arr = {1,2,3,4,5};
定义存储1,2,3,4,5整数的数组容器

具体使用哪种方式创建按个人习惯。

3.数组取值

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
示例
public static void main(String[] args) { int[] arr = new int[]{1,2,3,4,5};
 //打印数组的属性,索引从0开始,索引4时输出结果是5 
System.out.println(arr[4]); }

4.数组遍历

将数组中的每个元素分别获取出来,就是遍历。
每个数组都具有长度,而且是固定的,Java可以根据数组的length属性,可以获取到数组的长度,语句为: 数组名.length ,属性length的执行结果是数组的长度,int类型结果。数
组的索引从0开始,最大索引值为 数组长度-1,既数组名.length-1 。
可以根据数组长度,用for循环来遍历
示例
public static void main(String[] args) { 
int[] arr = { 1, 2, 3, 4, 5 }; 
for (int i = 0; i < arr.length; i++) { 
System.out.println(arr[i]); } }

5.数组常见应用

数组获取最大值元素
实现思路:
定义变量,保存数组0索引上的元素 
遍历数组,获取出数组中的每个元素 将遍历到的元素和保存数组0索引上值的变量进行比较
如果数组元素的值大于了变量的值,变量记录住新的值 
数组循环遍历结束,变量保存的就是数组中的最大值
public static void main(String[] args) { 
int[] arr = { 5, 15, 2000, 10000, 100, 4000 }; 
//定义变量,保存数组中0索引的元素 
int max = arr[0]; 
//遍历数组,取出每个元素 
for (int i = 0; i < arr.length; i++) { 
//遍历到的元素和变量max比较 
//如果数组元素大于max 
if (arr[i] > max) { 
//max记录住大值 
max = arr[i];
} } System.out.println("数组最大值是: " + max); }

6.数组常见异常

数组越界

public static void main(String[] args) {
 int[] arr = {1,2,3};
 System.out.println(arr[3]); 
}
创建数组,赋值3个元素,数组的索引就是0,1,2,没有3索引,因此我们不能访问数组中不存在的索引,程序运 行后,将会抛出 ArrayIndexOutOfBoundsException 数组越界异常。

为了防止数组越界,操作数组时,需要对数组长度判断,确保索引值小于数组长度,防止索引越界

posted @ 2019-12-03 16:37  自习小夫子  阅读(...)  评论(...编辑  收藏