-
创建数组 声明数组
- int[] 数组名= new int[数组长度(有多少个数)];
- int[] nums;
nums = new int[数组长度]; - int[] nums= {1, 2, 3, 4};
-
给数组赋值
int[0] = 值;
数组里的第一个数就序号为0; -
计算整个数组的和
for循环:
int sum = 0;
for(int i = 0; i < 数组名.length; i++){
sum = sum + 数组名[i];
} -
计算机结构
声明数组——栈
数组、赋值——堆 -
数组的三种初始化
- 静态初始化 , 创建并赋值
int a = {10,20,30,40};
System.out.println(int[0]); - 动态初始化 , 需要手动赋值
int[] a = new int[10];
a[0] = 10;
a[1] = 20;
System.our.println(a[0]);
System.out.println(a[9]);默认值为零
- 数组的基本特点
- 一旦创建数组长度就不能改变 它的大小就不能改变
- 数组里的元素必须是同一种类型 是相同数据类型的有序集合
- 数组变量属于引用类型 数组本身就是对象 存在于堆中,数组元素相当于对象的成员变量
- 数组的边界是数组length-1
例如int[] num = new int[9];
num[]的最大是num[8] - 所以在for循环中,
for(int = i; i < num.length; i++){
System.out.println(num[i]);
}
在条件中i不能等于num.length, 还有在sout在for循环里写就是把整个循环列出来,写在循环外只输出最大的数
-
for each
for(int array, 数组名){
System.out.println(array);
}
输出数组所有数值 -
存在数组int[] arrays ={1, 2, 3}
在main方法中, 新建的那个方法名printArray(arrays);
新建一个方法
-
sout(Arrays.toString(数组名));
就等于: -
快捷操作
数组里的数值生序排序Arrays.sort(数组名);
sout(Arrays.toString(数组名));
类似于数组的嵌套
int[][] nums = {{1,2},{2,3},{3,4},{4,5}};
打印全部数值 嵌套for循环
降序如下⬇️
int[] arr = {11, 34, 2, 6};
int temp =0;
创建一个新方法
public static int[] sort(int[] array){}
首先定义一共循环多少次
for(int i = 0, i < array.length-1, i++){
再每一次循环对比相邻的两个数并交换位置
for(int j = 0, j < array.length-1, j++){
进行对比并创建一个临时容器
if(array[j+1]>array[j]){
temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
return array;
最后在main方法中使用int[] sort = sort(arr);
升序就只需变化在对比循环时的大于小于号即可;
- 优化
在第一层循环中加上
boolean flag = false;
第二层每循环一次结束的时候flag=true;
那么在两次循环后面加上if(flag==false){break;}当false的时候说明没有参与循环, break退出



