-
数组-存储同类型多个元素的容器
-
定义格式
-
数据类型[] 数组名
-
数据类型 数组名 []
-
数组初始化-为数组开辟内存空间,并为每个元素赋予初始值
-
两种方式初始化1-动态初始化-只给出长度,有系统给出初始化 -数据类型[] 数组名=new 数据类型[长度]
-
2-静态初始化-给出初始值,有系统决定长度
public class ArrayDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1-数组名=new 数据类型[长度]
int[] arr = new int[3];
//输出的是地址值
System.out.println("arr"+arr);
//获取数组元素值
for( int i=0;i<3;i++) {
System.out.println("arr"+"["+i+"]:"+arr[i]);
}
//重新赋值
for( int i=0;i<3;i++) {
arr[i]=100;
}
for( int i=0;i<arr.length;i++) {
System.out.println("arr"+"["+i+"]:"+arr[i]);
}
//获取数组中的最值思路-1-拿数组中的一个元素做参照物2-遍历数组让后面的每一个元素与参照物作比较如果元素比参照物大就留下
int arr2[]= {12,3,6,23,15};
int max=arr2[0];
for(int i=1;i<arr2.length;i++) {
if(arr2[i]>max) {
max=arr2[i];
}
}
System.out.println("最大值为"+max);
/*
*
*
注意的问题---数组两个数组指向同一个地址的问题(任何一个元素的改变两个数组的值都将改变)
数组的静态初始化---数据类型[] 数组名 =new 数据类型[]{元素1,元素2,元素3,。。。。}
数据类型[] 数组名 ={元素1,元素2,元素3,。。。。}
数组操作中的两个常见小问题:1-索引越界异常(访问了不存在的索引),2-空指针异常(数组不再指向堆内存的数据,地址为null)
--------二维数组的操作(元素为一维数组的数组)------------
定义格式1-数据类型[][]数组名 A动态- 数据类型[][]数组名=new 数据类型[m][n]
B静态-数据类型[][]数组名=new 数据类型[ ][ ]{{元素。。。},{元素。。。},。。。。。}
数据类型[][]数组名=]{{元素。。。},{元素。。。},。。。。。}
2-数据类型 数组名[][]
3-数据类型[]数组名[]
*/
int[][] arr3= {{1,2,3},{4,5,6},{7,8,9}};
//遍历二维数组(二维数组获得的长度就是二维数组中一维数组的个数)
for(int i=0;i<arr3.length;i++) {
for(int j=0;j<arr3[i].length;j++) {
System.out.println("二维数组的元素为"+arr3[i][j]);
}
}
}
}