数组的定义和创建:
数组可以看成是多个相同类型数据的组合,实现对这些数据的统一管理。
例如:
数组元素:数组中的每一个数据,称为数组的一个元素
数组中的元素可以是任何数据类型,包括基本数据类型和引用类型
数组中元素的个数,称为数组的长度
Java语言中声明数组时不能指定其长度
int c1=10;
double c2=10;
int[] a={12,32,43,56,456};
System.out.print(a[1]);
表示输出数组中下标为1的值
数组的定义方法:
int[] d1=new int[5];等价于int d2={0,0,0,0,0};
int[] d1=new int[5];5表示分配了几个地方;
int[] d1=new int[]{1,2,3,4,5};
数组元素的赋值:
JAVA中数组元素的下标从0开始;
元素的下标可以是整型常量或整型表达式;
数组名[元素下标]=元素值;
例如:
int[] d1=new int[]{1,2,3,4,5};
d1[0]=2;
将数组第一的第一个元素的值变为2;
double e =new double[5];
System.out.print(e[0]);
输出结果为0.0,表示double类型的默认值;
String[] f= new String[5];
System.out.print(f[0]);
String默认值是null;
boolean[] a=new boolean[5];
System.out.print(a);
boolean的数组默认值为false
char[] a =new char[5];
System.out.print(a);
字符类型的数组的默认值为 (空格)
数组的遍历:将数组中的元素一一输出;
int[] a={12,23.4,58,4};
for(i=0;i<5;i++){
System.out.print(a[i]);
}
foreach() 增强for for+
int[] a={12,23.4,58,4};
语法:for(int n:a){
System.out.print(n);
}
遍历数组,将数组a中的元素一一遍历出来
找到数组中的最大值,最小值,并输出最大值最小值:
多维数组:
二维数组:
定义: int[][] a={{12,45,,45,45,56},
{23,45,98,65,45}};
System.out.print(a[0][0]);
输出结果为12;
System.out.print(a[0][1]);
输出结果为45;
二维数组相当于一个一维数组中存放着两个一维数组,
a[0]:是第一个数组的地址值,a[0][0]就是表示第一个数组中的第一个元素
a[1]: 是第二个数组的地址值a[1][0]就是表示第二个数组中的第一个元素
int[][] a={{12,45,,45,45,56},
{23,45,98,65,45}};
int []b=a[0];
System.out.print(b[1]);
输出结果为12
遍历二维数组:
int [][]a= {{1,2,3,4,5},{6,7,8,9,10}};
for(int i=0;i<2;i++) {
for(int j=0;j<5;j++) {
System.out.println(a[i][j]);
}
}
foreach方法:
for(int[]b : a) {
System.out.println(b);
for(int n : b) {
System.out.println(n);
}
}
三维数组:
三维数组相当于三个二维数组,里面装着多个一维数组,
表达式: int[][][] a={
{{1,2,3},{4,5,6},{7,8,9}},
{{10,11,12},{13,14,15},{16,17,18}},
{{19,20,21},{22,23,24},{25,26,27}},
};
三维数组的遍历:
最好使用foreach:
第一个[]表示选取那个二维数组,第二个[]表示选取二维数组中的那个一维数组,第三个[]表示选取一维数组中的那个元素
数组名+length表示数组的长度;
System.out.print(a.length);输出该数组的长度
System.out.print(a[a.length-1]);输出该数组最后一个元素;
int[] b=new int[5];表示为虚拟机自动的给他赋值;
数组的冒泡排序:
从小到大:
int[] a= {23,13,45,6,78,12,4,1};
for(int i=0;i<a.length-1;i++) {
for( int j =0;j<a.length-1-i;j++) {
if(a[j]>a[j+1]) {
int temp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int n:a){
System.out.print(n+",");
}
}
}
从大到小:
int[] a= {23,13,45,6,78,12,4,1};
for(int i=0;i<a.length-1;i++) {
for( int j =0;j<a.length-1-i;j++) {
if(a[j]<a[j+1]) {
int temp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int n:a){
System.out.print(n+",");
}
}
}
用while语句来写:
从大到小:
int[] a= {23,13,45,6,78,12,4,1};
int j=0;
while(j<a.length-1) {
int i=0;
while(i<a.length-1-j) {
if(a[i]<a[i+1]) {
int temp;
temp =a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
i++;
}
j++;
}
for(int n:a){
System.out.print(n+",");
}
}
}