java数组

发布时间 2024-01-07 19:15:41作者: xmz-x

一、静态初始化数组

完整格式:数据类型[ ]  数组名 =  new 数组类型[ ]{元素1, 元素2, 元素3, ...};

如:int [ ]  ages = new int[ ]{12,24,36};

简化格式:数组类型[ ]  数组名  =  {元素1, 元素2, 元素3, ...};

如:int[ ]  ages  =  {12, 24, 36};

注意:“数组类型[ ]  数组名” 也可以写成 “数据类型 数组名[ ] ”

什么类型的数组只能存放什么类型的数据

数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型

1、数组的访问

int[] arr = {12,24,36};

arr[0] = 12;

数组的长度:arr.length

数组索引的长度: arr.length-1

2、数组的遍历

for(int i = 0; i < arr.length; i++){

  System.out.println(arr[i]);

}

二、动态初始化数组

定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组长度

数组的动态初始化格式:数组类型[ ]  数组名  =  new  数组类型[长度];

如:int[ ]  arr = new int[3];

 三、数组内存的执行原理

 

 四、数组

1、求数组的最大值

public class Main {
    public static void main(String[] args) {
        int arr[] = {15, 9000, 2000, 15000, 4569, -5};
        int max = arr[0];
        for(int i = 0; i < arr.length; i++){
            if(arr[i] > max){
                max = arr[i];
            }
        }
        System.out.println("最大值是:"+max);
    }
}

 2、数组反转

public class Main {
    public static void main(String[] args) {
        int[] arr = {10,20,30,40,50};
        for (int i = 0, j = arr.length-1; i < j; i++, j--) {
            int t = arr[j];
            arr[j] = arr[i];
            arr[i] = t;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}

 

3、随机排名

import java.util.Random;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[5];
        for (int i = 0; i < arr.length; i++) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入当前第"+(i+1)+"个员工的工号:");
            int code = sc.nextInt();
            arr[i] = code;
        }
        Random r = new Random();
        for (int i = 0; i < arr.length; i++) {
            int index = r.nextInt(arr.length);
            int t = arr[index];
            arr[index] = arr[i];
            arr[i] = t;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}