一,一维数组
数组是用来存储一组相同数据类型数据的数据结构。当数组初始化完成后,Java为数组在内存中分配一段连续的空间,此时数组空间固定,长度就不在发生改变。即使数组中没有保存数据,数组所占空间依然存在。
1,数组声明 数据类型 数组(对象)名;
2,数组对象创建 对象名=new 数据类型[长度];
3,数组元素赋值 对象名[下标]=值;
4,数组使用 遍历
★数组声明三方法:
1.数据类型[] 数组名=new 数据类型[长度];
2.数据类型[] 数组名={值,值,值……};
3.数据类型[] 数组名=new 数据类型[]{值,值,值,……};
★遍历的两种方式
1.for循环
for(初始量;条件;迭代){
遍历操作
}
2.增强for循环
for(数据类型 i 变量名:nums数组名){
System.out.println(i);
}
★,相当于 把数组nums里的元素依次存入变量i 中,再依次遍历打印。
二,排序
1.冒泡排序
从第一依次两两相比,最大的右移
public static void main(String[] args) {
//聲明數組
int[] a={2,5,6,3,8,34,23,15,17};
//外層第幾輪數
for(int i=1;i<a.length;i++){
//內層,這輪比幾次,次數
for(int j=1;j<a.length-i;j++){
if(a[j]>a[j+1]){
int temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for (int c : a) {
System.out.print(c+" ");
}
}
2.选择排序
从每轮第一依次和后面所有相比,最小的左移
//聲明數組
int[] a={2,5,6,3,8,34,23,15,17};
for(int i=1;i<a.length;i++){
for(int j=i;j<=a.length-1;j++){
if(a[i-1]>a[j]){
int temp=a[i-1];
a[i-1]=a[j];
a[j]=temp;
}
}
}
三,常用Arrays类
Arrays.equals(a1,a2); 比较两个数组是否相等
Arrays.sort(a1); 对数组a1元素升序排列
Arrays.toString(a1); 将数组a1转换成一个字符串
Arrays.fill(a1,13值); 对数组a1所有元素都赋值为13
Arrays.copyOf(a1,6长度); 把数组a1复制成长度为6的新数组
Arrays.binarySearch(a1,8值); 查询8在数组a1中的下标
四,二维数组
int[ ][ ] nubs=new int[5][3];
int[ ][ ] scores;
scores=new int [5][3];
int[ ] [ ] scores=new int [ ] [ ]{{90,87,99,56,74},{57,78,59},{100,93,76}};
或int scores[ ][ ]={{90,87,99,56,74},{57,78,59},{100,93,76}};