Java基础——数组

撰写时间:2019年04月17日

数组对于所有编程语言来说都是重要的数据结构之一,是存储固定大小的同类型元素
数组具有相同类型的一组数组集合。数组又分为:一维数组,二维数组、多维数组。
必须声明数组变量,才能在程序中使用数组,声明数组的格式有两种:
数组定义(声明)
两种格式:
类型[] 数组名/类型 数组名[]

int [] arrayIntA;// 推荐使用
String arrayStringA[];//效果相同,但基本不使用这种方法

第二种方法也是对的,只是少用,别人这样写不能说人家的是错的
方法名:小驼峰命名法:首字母小写多个单词后面的首字母大写
首字母:以字母(A-z)、美元符( ) 、 下 划 线 ( ) 首 字 符 之 后 : 可 以 是 字 母 ( A − z ) , 美 元 符 ( )、下划线(_) 首字符之后:可以是字母(A-z),美元符( 线Az,)、下划线(_)或数字的任何字符组

byte[] arrayByteA;
int [] arrayIntA;
long[] arrayLongA;
String[] arrayStringA;
String[] arrayStringB;

声明后还不能访问它的任何元素,这时候就要为它分配内存空间,且必须指明数组
的长度。
1、一维数组初始化:
静态初始化:
第一种:

arrayStringA=new String[]{"一","二","三","四","五","六","七"};

第二种:直接在声明时初始化

int[] arrayIntB=new int[]{1,2,3,4,5,6,7};
Or
int[] arrayIntB={1,2,3,4,5,6,7};

动态初始化:
数组名=new 类型[数组元素个数];

arrayStringB=new String [7];

或者 数组变量的声明和初始化用一条语句完成

int[] arrayByteC=new int[7];

怎么指定长度,怎么初始化根据自己的需要去做。
如果创建了一个数组,并指定了数组长度为7,它其实是有初始化值的了,int类型的
为0,数组元素[0,0,0,0,0,0,0],String类型为null,数组元素
[null,null,null,null,null,null,null]…
数组的知识化方式是:把数据放在大括号{}之内,中间用逗号隔开,系统自动为数
组分配一定的空间。
2、数组的引用
数组引用:使用索引(从0开始),注意数组大小
Java中通过下标(索引)来引用数组元素:arrayName[index];
可以通过下标来给指定的元素赋值:

arrayIntA=new int[3];
arrayIntA[0]=11;		
arrayIntA[1]=22;
arrayIntA[2]=33;

取值:

System.out.println("arrayIntA的第一个元素是"+arrayIntA[0]);
System.out.println("arrayIntA的第二个元素是"+arrayIntA[1]);
System.out.println("arrayIntA的第三个元素是"+arrayIntA[2]);

在这里插入图片描述
3、数组的操作
一、遍历数组
在实际开发中,经常需要遍历数组获取每个元素通常遍历数组都是用for循环实现的。
遍历赋值:

String[] arrayStringC=new String[5];
	for (int i = 0; i < arrayStringC.length; i++) {
		 arrayStringC[i]="C"+i;
}

遍历取值:

for (int i = 0; i < arrayStringC.length; i++) {
	System.out.println("arrayStringC元素:"+arrayStringC[i]+"\t");
}

第二种遍历取值:
Java5 引入了一种主要用于数组的增强型for循环。但需要注意一点:Java增强型for
循环只能取值,不能赋值。foreach 这形式只能取值,不能赋值

for(String s:arrayStringC){
	System.out.println("arrayStringC元素:"+s);
}

在这里插入图片描述
二、数组排序

int[]intarr={12,34,65,23,36,45,46};
System.out.print("排序前:");
for (int i = 0; i < intarr.length; i++) {
	System.out.print(+intarr[i]+"、");
}
Arrays.sort(intarr);// 按字典顺序排序
System.out.println();
System.out.print("排序后:");
for (int i = 0; i < intarr.length; i++) {
	System.out.print(+intarr[i]+"、");
}

在这里插入图片描述
4、二维数组
二维数组的声明、初始化和引用与一维数组相似,简单展示一下。
注意:Java语言中,把二维数组看作是数组的数组,数组空间不是连续分配的。所以 不
要求二维数组每一维的大小相同。
二维数组定义(声明)

int[][]arrayAA;

二维数组初始化
1、

arrayAA=new int[][]{{1,2},{3,4},{5,6}};

2、直接在声明时初始化

 int[][]arrayBB={{7,8},{9,10},{11,12}};
	or
 int[][]arrayCC=new int[][]{{13,14},{15,16},{17,18}};

赋值

int[][] arrayDD=new int[2][2];
arrayDD[0][0]=0;
arrayDD[0][1]=1;
arrayDD[1][0]=2;
arrayDD[1][1]=3;

不指定长度的话可以是多位元素

int[][] arrayEE=new int[][]{{99},{88,77},{66,55,44},{33,22,11,00}};
int[][] arrayFF=new int[3][];
arrayFF[0]=new int[]{99};
arrayFF[1]=new int[]{44,22};
arrayFF[2]=new int[]{11,22,33};

二维数组需要嵌套循环提取

for (int i = 0; i < arrayFF.length; i++) {
		int[] temp=arrayFF[i];
		for (int j = 0; j < temp.length; j++) {
				int k=temp[j];
				System.out.println("arrayFF["+i+"]"+"["+j+"]="+k);
		}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值