JAVA数组

数组用于存储相同类型的多个数据。

二维数组属于数组的嵌套。

一、一维数组

(一)特点

  1. 数组属于引用数据类型。
  2. 数据的长度一旦确定不可改变。
  3. 同一个数组中存放的数据类型要保持一致 。
  4. 数组中的数据是有序的。
  5. 数组的数据类型可以是基本数据类型,也可以是引用数据类型。

(二)声明

  1. 数据类型[] 数组名; int[] i;(推荐使用)
  2. 数据类型 数组名[]; int i[];

(三)初始化

 1. 动态初始化:

数据类型[] 数组名=new 数据类型[length];

例:
int[] i = new int[5];//声明一个长度为5的int类型的数组
i[0]=5;
i[1]=4;
i[2]=3;
i[3]=2;
i[4]=1;

  动态初始化的数组有默认值,默认值与成员变量默认值相同。

 2. 静态初始化:

(1)数据类型[] 数组名=new 数据类型[]{值1,值2,值3...};
(2)数据类型[] 数组名={值1,值2,值3...};

例:
int[] i = new int[]{1,2,3,4,5};//标准赋值,声明一个长度为5的int类型的数组,并赋默认值
int[] i = {1,2,3,4,5};//简易赋值

  标准赋值可以将引用指向新数组,简易赋值不可以将引用指向新数组

例:
int[] i =int[] {1,2,3,4,5};
i = new int {1,2,3};//正确
int[] i = {1,2,3,4,5};
i = {1,2,3};//错误

(四)遍历

 1. 普通for循环
for ( int i=0 ; i<=数组名.length-1 ; i++ ) {//i为索引
	System.out.println(数组名[i])}
 2. 增强for循环
for (数据类型 i : 数组名 ) {//将数组名对应的值赋给i,循环打印所有的值
  	System.out.println( i )}

二、二维数组

(一)声明

  1. 数据类型[ ][ ] 数组名; int[][] i;(推荐使用)
  2. 数据类型 数组名[ ][ ]; int i[][];
  3. 数据类型[ ] 数组名[ ]; int[] i[];

(二)初始化

 1. 动态初始化:

(1)数据类型[ ][ ] 数组名=new 数据类型[长度1][长度2];
每个嵌套的数组的长度都一致,为长度2。

例:
int[][] i = new int[1][5];
i[0][0]=5;
i[0][1]=4;
i[0][2]=3;
i[0][3]=2;
i[0][4]=1;

(2)数据类型[ ][ ] 数组名=new 数据类型[长度1][ ];
每个嵌套的数组的长度可以不一致。

例:
int[][] i = new int[2][];
i[0]=new int[]{1,2,3}
i[1]=new int[]{1,2,3,4}
 2. 静态初始化:

(1)数据类型[][] 数组名=new 数据类型[][]{{值1,值2,值3...},{值1,值2,值3...},...};
(2)数据类型[] 数组名={{值1,值2,值3...},{值1,值2,值3...},...};

例:
int[][] i = new int[][]{{1,2,3,4,5},{1,2,3,4}};//标准赋值
int[][] i = {{1,2,3,4,5},{1,2,3,4}};//简易赋值

(四)遍历

增强for与普通for可互相嵌套使用。
 1. 普通for × 普通for
for ( int i=0 ; i<=数组名.length-1 ; i++ ) {//i为索引
	 for ( int j=0 ; i<=数组名[i].length-1 ; i++ ) {
		System.out.println(数组名[i][j])}
 2. 增强for × 增强for
for (数据类型[] i : 数组名 ) {//将数组名对应的值赋给i,循环打印所有的值
 	for(数据类型 j:i){
  	System.out.println( j )}
}
 3. 普通for × 增强for
for ( int i=0 ; i<=数组名.length-1 ; i++ ) {//i为索引
	 for (数据类型 j : 数组名[i]) {
		System.out.println(j)}
 4. 增强for × 普通for
for( 数据类型[] i:数组名){
   	for(int i=0;i<=数组名.length-1;i++){
   		System.out.println(数组名[i]);
   	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值