其他分享
首页 > 其他分享> > 数组

数组

作者:互联网

1. 数组概述

数组(array): 存储一个元素个数固定且元素类型相同的有序集

2. 数组的定义格式

3.数组的初始化

java中的数组必须先初始化才能使用

初始化: 就是为数组中的数据元素分配内存空间,并为每个数组元素赋值

4. 数组元素访问

5. 数组的常见操作

6. 数组使用的三个问题

7. 二维数组概述

元素为一维数组的数组

8. 二位数组的定义格式

9. 二位数组初始化

10. 二位数组的元素访问

11. 二维数组的常见操作

12.数组中的常见算法

1. 使用输入值初始化数组
public static void main(String[] args) {
    int[] ints = new int[5];
    Scanner input = new Scanner(System.in);
    System.out.println("Enter"+ints.length+"values:");
    for (int i = 0; i < ints.length; i++) {
        ints[i] = input.nextInt();
    }
    System.out.println(Arrays.toString(ints));
}

2. 使用随机数初始化数组
public static void main(String[] args) {
    int[] ints = new int[10];
    Random random = new Random();
    for (int i = 0; i < ints.length; i++) {
        ints[i] = random.nextInt(20);
    }
    System.out.println(Arrays.toString(ints));
}

3. 显示数组
public static void main(String[] args) {
    int[] ints ={1,2,3,4};
    for (int i = 0; i < ints.length; i++) {
        System.out.print(ints[i]+" ");
    }
}

4. 对所有元素求和
public static void main(String[] args) {
    int[] ints = {1,2,3,4};
    int sum = 0;
    for (int i = 0; i < ints.length; i++) {
        sum += ints[i];
    }
    System.out.println(sum);
}

5.找出最大元素
public static void main(String[] args) {
    int[] ints = {1,2,3,4,89,100};
    int max = 0;
    for (int i = 0; i < ints.length; i++) {
        if (ints[i]>max){
            max = ints[i];
        }
    }
    System.out.println(max);
}

6.找出最大元素的最小下标值
public static void main(String[] args) {
    int[] ints = {1,2,5,4,5,5,};
    int index = 0;
    int max = 0;
    for (int i = 0; i < ints.length; i++) {
       if (ints[i]>max){
           max = ints[i];
           index = i;
       }
    }
    System.out.println(index);
}

7.随机打乱
public static void main(String[] args) {
    int[] ints = {1,2,3,4,5,6,7,8,9,10};
    int temp = 0;
    Random random = new Random();
    for (int i = 0; i < ints.length; i++) {
        int j = random.nextInt(9);
        temp = ints[i];
        ints[i] = ints[j];
        ints[j] = temp;
    }
    System.out.println(Arrays.toString(ints));
}

8.移动元素(向左移动一个元素)
public static void main(String[] args) {
    int[] ints = {1,2,3,4,5};
    int temp = ints[0];
    for (int i = 1; i < ints.length; i++) {
        ints[i-1] = ints[i];
    }
    ints[ints.length-1] = temp;
    System.out.println(Arrays.toString(ints));
}

9.简化编码
public static void main(String[] args) {
    String[] strings = {"one","two","three","four","five","six","seven"};
    Scanner input = new Scanner(System.in);
    System.out.println("Enter a mother number(1 to 7):");
    int num = input.nextInt();
    System.out.println(strings[num-1]);
}

10.编写一个程序,找出所有大小项平均值的项的个数
public static void main(String[] args) {
    int[] ints = {1,2,3,4,5,6,7,8,9,10};
    int sum = 0;
    int temp = 0;
    for (int i = 0; i < ints.length; i++) {
        sum += ints[i];
    }
    int num = sum/ints.length;
    for (int i = 0; i < ints.length; i++) {
        if (ints[i]>num){
           temp++;
        }
    }
    System.out.println(temp);
}

13.数组的复制

1. 使用循环语句,逐个的复制数组中的元素
2. 使用System类中的静态方法arraycopy
3. 使用clone方法复制数组

注意: 不能使用使用赋值语句复制数组,如list1 = list2,它是将list2的引用值复制给了list1,
list1和list2都将指向list2引用的数组,而list1引用的数组将被垃圾回收

1. 使用循环
public static void main(String[] args) {
    int[] ints = {1,2,3,4,5};
    int[] ints2 = new int[ints.length];
    for (int i = 0; i < ints.length; i++) {
        ints2[i] = ints[i];
    }
    System.out.println(Arrays.toString(ints2));
}
2. 使用方法arraycopy
语法: arraycopy(sourceArray, srcPos, targetArray, tarPos, length)
sourceArray: 原数组
targetArray: 目标数组
srcPos: 原数组的复制起始位置
tarPos: 目标数组的复制起始位置
length: 复制的长度

public static void main(String[] args) {
    int[] ints = {1,2,3,4,5};
    int[] ints2 = new int[ints.length];
    System.arraycopy(ints, 0, ints2, 0, ints.length);
    System.out.println(Arrays.toString(ints2));
}

标签:数组,int,元素,length,ints,new
来源: https://www.cnblogs.com/suwuji/p/16521814.html