public static void main(String[] args) {
//静态初始化
int[] nee={88,66,456,482,62,658};
System.out.println(nee[0]+"\t");
System.out.println(nee[1]+"\t");
System.out.println(nee[2]+"\t");
System.out.println(nee[2]+"===");
nee[2]=666;
System.out.println(nee[2]+"===");
System.out.println("=================>");
//动态的初始化
int[] ints = new int[7];
//[1-33]
for (int i = 0; i < 6; i++) {
ints[i] = (int) (Math.random() * 40 + 1);
}
System.out.println(ints[0]+"\t");
System.out.println(ints[1]+"\t");
System.out.println(ints[2]+"\t");
System.out.println(ints[2]+"===");
ints[2]=666;
System.out.println(ints[2]+"===");
}
运行的结果是
88
66
456
456===
666===
=================>
18
40
34
34===
666===
public static void main(String[] args) {
int[] num = {7, 56, 1, 62, 52, 32};
// for循环
int max = num[0];
for (int i = 1; i < num.length; i++) {
if (num[i] > max) {
max = num[i];
}
}
System.out.println("max的最大值是多少" + max);
//foreach循环
int min = num[0];
for (int i : num) {
if (i < min) {
min = i;
}
}
System.out.println("max的最大值是多少"+min);
}
运行结果是
max的最大值是多少62
max的最大值是多少1
public static void main(String[] args) {
//1.打印数组
int[] nte={54,66,25,63,21,35,47};
System.out.println("1==>"+nte);
System.out.println("2==>"+ Arrays.toString(nte));
//2.比较数组
int[] nte1={10,20,30,40,50,60,70};
int[] nte2={10,20,30,40,50,60,70};
System.out.println(nte1==nte);
System.out.println(nte1==nte2);
System.out.println(Arrays.equals(nte1,nte2));
//3.排序数组
int[] nte3={50,10,30,20,40,60,70};
Arrays.sort(nte3);
System.out.println(Arrays.toString(nte3));
//4.复制数组
int[] nte4={50,10,30,20,40,60,70};
int[] ints = Arrays.copyOf(nte4, 5);
int[] int1 = Arrays.copyOf(nte4, 8);
System.out.println(Arrays.toString(ints));
System.out.println(Arrays.toString(int1));
//5.数组
int[] nte5={50,10,30,20,40,60,70};
nte5 = Arrays.copyOf(nte5, nte5.length + 1);
nte5[nte5.length-1]= (int) (Math.random() *16+1);
System.out.println(Arrays.toString(nte5));
}
代码的运行结果是
1==>[I@6fadae5d
2==>[54, 66, 25, 63, 21, 35, 47]
false
false
true
[10, 20, 30, 40, 50, 60, 70]
[50, 10, 30, 20, 40]
[50, 10, 30, 20, 40, 60, 70, 0]
[50, 10, 30, 20, 40, 60, 70, 15]
public static void main(String[] args) {
int[] arr1={10,20,30,40,50};
int[] arr2=arr1;
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.toString(arr2));
arr1[0]=111;
arr2[1]=222;
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.toString(arr2));
}
运行结果是
[10, 20, 30, 40, 50]
[10, 20, 30, 40, 50]
[111, 222, 30, 40, 50]
[111, 222, 30, 40, 50]
public static void main(String[] args) {
//静态初始化 多维数组
int[][] arr1 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
System.out.println(arr1);//不转
System.out.println(Arrays.toString(arr1));//之前的方式
System.out.println(Arrays.deepToString(arr1));//多维数组转化
//动态初始化
int[][] ints = new int[5][2]; //外层5个 内层2个 数据5*2=10
for (int i = 0; i < ints.length; i++) {
for (int j = 0; j < ints[i].length; j++) {
//(Math.random() *100) 随机数 1-99 的范围
ints[i][j] = (int) (Math.random() * 100);
System.out.print(ints[i][j] + "\t");
}
}
//System.out.print("\t");
System.out.println(Arrays.deepToString(ints));
//遍历数组
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j] + "\t");
}
System.out.println();
}
//本质 一维数组 外层是3层 里层不断递增
int[][] ints1 = new int[3][];
ints1[0] = new int[]{1,2};
ints1[1] = new int[]{3,4,5};
ints1[2] = new int[]{6,7,8,9};
System.out.println(Arrays.deepToString(ints1));
//更多的维度数组
int[][][] arr3={
{{11,12}},{{13,14}},{{15,16}}
};
System.out.println(Arrays.deepToString(arr3));
代码运行结果是
[[I@5a39699c
[[I@3cb5cdba, [I@56cbfb61, [I@1134affc]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
83 36 76 96 61 86 31 46 64 7 [[83, 36], [76, 96], [61, 86], [31, 46], [64, 7]]
1 2 3
4 5 6
7 8 9
[[1, 2], [3, 4, 5], [6, 7, 8, 9]]
[[[11, 12]], [[13, 14]], [[15, 16]]]
public static void main(String[] args) {
//构造数组
int[] arr= new int[5];
for (int i = 0; i < arr.length; i++) {
arr[i]= (int) (Math.random() * 100);
}
System.out.println(Arrays.toString(arr));
//数组倒转
//第一个和最后一个倒转 以此类推
//第一个 arr[0] 最后一个 arr[length-1-0]
//arr[1] arr[length-1-1]
//arr[2] arr[length-1-2]
for (int i = 0; i < arr.length/2; i++) {
int temp=arr[i];
arr[i] =arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
System.out.println(Arrays.toString(arr));
}
运行结果是
[64, 24, 78, 34, 39]
[39, 34, 78, 24, 64]
public static void main(String[] args) {
//初始化数组
int[] nums = new int[5];
int index = 0;
int sum = 0;
int grade = 1;
double avg = 0;
//记录输入
Scanner scan = new Scanner(System.in);
System.out.println("请输入数字,负数结束流程");
while (true){
int temp = scan.nextInt();
if (temp < 0){
break;
}
nums[index] = temp;
sum = sum + temp;
avg = (double) sum / grade;
grade = grade +1;
if (++index > nums.length - 1){
nums = Arrays.copyOf(nums,nums.length+5);
}
}
scan.close();
// System.out.println(Arrays.toString(nums));
// System.out.println(sum);
System.out.println("平均数是="+avg);
for (int i = 0 ;i < nums.length;i++){
if (nums[i] > avg){
System.out.print("比平均数大的值是="+nums[i]+"\t");
}
}
}
运行结果是
请输入数字
65
36
59
2365
5
4
1
8
56
-4
平均数是288.77777777777777
比平均数大的值是2365
public static void main(String[] args) {
//冒泡排序 构造数组
int[] ints = new int[8];
for (int i = 0; i < ints.length - 1; i++) {
ints[i] = (int) (Math.random() * 100);
}
System.out.println("初始默认值是"+Arrays.toString(ints));
//轮次
for (int i = 0; i < ints.length - 1; i++) {
//比较的次数
// 1次: 下标 0 -- ints.length-1
// 下标: 1 -- ints.length-1 类推
//循环的边界
//j=ints.length-1-i-1
//j+1=ints.length--1-i
for (int j = 0; j < ints.length-1-i-1; j++) {
//从大到小
if (ints[j] < ints[j+1]) {
int temp=ints[j];
ints[j]=ints[j+1];
ints[j+1]=temp;
}
}
//打印完整的排序过程
System.out.println(Arrays.toString(ints));
}
}
代码运行结果是
[40, 59, 96, 30, 16, 40, 45, 0]
[59, 96, 40, 30, 40, 45, 16, 0]
[96, 59, 40, 40, 45, 30, 16, 0]
[96, 59, 40, 45, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]
[96, 59, 45, 40, 40, 30, 16, 0]