数组
Hello!CSDN的小伙伴们。
这里是老汉的Java成长之路专栏,感兴趣的话就关注老汉并订阅本系列的专栏一起学习吧。
前言
本期老汉为大家介绍Java中的数组,数组是一种线性结构,其使用的内存空间是连续的,是一个用于存放同类型数据的集合容器。
一、 一维数组
1.数组声明
语法格式:
数据类型[] 数组名
数据类型 数组名[]
例如:
int[] intArray;
int intArray[];
char[] chArray;
String[] strArray;
2.数组创建
语法格式一:先声明后创建
数据类型[] 数组名
数组名=new 数据类型[数组长度]
例如:
创建一个长度为10的整型数组
int[] intArray;
intArray=new int[10];
语法格式二:声明的同时创建数组
数据类型[] 数组名=new 数据类型[数组长度];
例如:
创建长度为10的整型数组
int[] intArray=new int[10];
3.数组的初始化
声明数组的同时给数组赋值,叫做数组的初始化。
例如:
int[] intArray={1,2,3,4,5,6,7,8,9,10};
解释:数组的长度就是初始化时所给数组元素的个数
注意:除初始化外,其余不可使用arr={};来进行赋值!
4.数组元素的引用
语法格式:
数组名[下标];
例如:
int a={1,2,3,4};
a[0]==1;
a[1]==2;
a[2]==3;
a[3]==4;
注意:下标从0开始,此数组没有a[4],会报错,超出最大范围
5.数组长度
属性length表示数组的长度
格式:数组名.length
例如:
int[] a={1,2,3,4};
a.length=4;
6.数组排序
数组常用的五种排序算法有:选择法排序、冒泡法排序、交换法排序、插入法排序、折半法排序。
解释:关于数组排序方法我们只做个了解,需要小伙伴们自行去查找学习,其中冒泡法排序为最。
7.操作练习
题目:从键盘定义一维数组intArray的个数,循环从键盘输入数据,为一维数组intArray赋值,然后将数组的元素输出
答案示例如下:
public static void main(String[] args) {
//题目:从键盘定义一维数组intArray的个数,循环从键盘输入数据,为一维数组intArray赋值,然后将数组的元素输出
int number;//定义一个数决定数组大小
Scanner sc=new Scanner(System.in);
System.out.println("请输入数组大小:");//提示语句
number=sc.nextInt();//键盘输入一个值给number
int[] intArray=new int[number];//定义数组个数为number,number由键盘输入
for(int i=0;i< intArray.length;i++){
System.out.println("请输入第"+(i+1)+"个数:");//提示语句
intArray[i]=sc.nextInt();//为数组元素逐个赋值
}
System.out.println("数组元素为:");//提示语句
for(int i:intArray){//利用特殊for循环进行输出
System.out.print(i+" ");//使用print不换行,将数组于同一行输出
}
}
二、二维数组
1.数组声明
语法格式:
数据类型[][] 数组名;
数据类型 数组名[][];
数据类型[] 数组名[];
例如:
int[][] intArray;
float floatArray[][];
double[] doubleArray[];
2.数组创建
语法格式一:先声明后创建
数据类型[][] 数组名
数组名=new 数据类型[行][列]
例如:
创建一个长度为三行三列的整型数组
int[][] intArray;
intArray=new int[3][3];
语法格式二:声明的同时创建数组
数据类型[][] 数组名=new 数据类型[行][列];
例如:
创建一个长度为三行三列的整型数组
int[][] intArray=new int[3][3];
解释:创建数组的时候,可以只指定行数不指定列数,且每行列数都可不同,但绝对不可以只指定列数不指定行数。
3.数组的初始化
声明数组的同时给数组赋值,叫做数组的初始化。
例如:
创建一个长度为三行三列的整型数组
int[][] intArray={{1,2,3},{4,5,6},{7,8,9}};
4.数组元素的引用
与一维数组相似,行列的值都是从0开始
语法格式:
数组名[行][列];
例如:
int[][] a={{1,2},{3,4},{5,6}};
a[0][0]==1;
a[0][1]==2;
a[1][0]==3;
a[1][1]==4;
a[2][0]==5;
a[2][1]==6;
5.数组长度
二维数组同样也可以使用length
例如:
int[][] a={{1,2},{3,4,5},{6,7,8,9}};
a.length=3;
a[0].length=2;
a[1].length=3;
6.操作练习
题目:从键盘定义二维数组intArray的行列,循环从键盘输入数据,为二维数组intArray赋值,然后将数组的元素输出
答案示例如下:
public static void main(String[] args) {
//题目:从键盘定义二维数组intArray的行列,循环从键盘输入数据,为二维数组intArray赋值,然后将数组的元素输出
int row,train;//自定义行列,决定二维数组行列大小
Scanner sc=new Scanner(System.in);
System.out.println("请输入二维数组的行数:");//提示语句
row=sc.nextInt();
int[][] intArray=new int[row][];//定义数组行大小为row,row由用户定义
for(int i=0;i< intArray.length;i++){
System.out.println("请输入第"+(i+1)+"行的大小");//提示语句
train=sc.nextInt();
intArray[i]=new int[train];//定义数组每一行的大小为train,train由用户定义
}
for(int i=0;i<intArray.length;i++){
for(int j=0;j<intArray[i].length;j++){
System.out.print("intArray["+i+"]["+j+"]=");//提示语句
intArray[i][j]=sc.nextInt();//为数组每一个元素赋值
}
}
System.out.println("数组元素为");//提示语句
for(int i=0;i<intArray.length;i++){
for(int j=0;j<intArray[i].length;j++){
System.out.print(intArray[i][j]+" ");
}
}
}
本期小结
到这里我们就结束了本期关于数组的学习,本期知识较为基础,与c语言的数组有较大区别,需要多次观看并加以练习,有助于我们对数组的掌握。最后,老汉在这里祝愿有心人,心想事成,感谢各位观看。