Array

1.数组初始化

package com.kuang.array;

public class Demo01 {
    public static void main(String[] args) {
        //静态初始化:创建+赋值
        int[] a = {1,2,3,4,5,6,7,8,9};
        System.out.println(a[0]);//1

        //动态初始化 包含默认初始化
        int[] b = new int[10];
        b[0] = 10;
        System.out.println(b[0]);//10
        System.out.println(b[1]);//0
    }
}

2.数组的四个基本特点

3.数组边界

4.数组使用

package com.kuang.array;

public class ArrayDemo03 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};
        //打印全部数组元素
        for (int i = 0;i<args.length;i++){
            System.out.println(arrays[i]);
        }
        System.out.println("=============");

        //计算所有元素的和
        int sum = 0;
        for (int i = 0;i < arrays.length;i++){
            sum+=arrays[i];
        }
        System.out.println("sum="+sum);
        System.out.println("=============");

        //查找最大元素
        int max = arrays[0];
        for (int i = 1;i <arrays.length;i++){
            if (max<arrays[i]){
                max = arrays[i];
            }
        }
        System.out.println("max="+max);
    }
}
package com.kuang.array;


public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5};
//        //没有下标
//        for (int array : arrays) {
//            System.out.println(array);
//        }
        int[] reverse = reverse(arrays);
        printArray(reverse);
    }

    //打印数组
    public static void printArray(int[] arrays){
        for(int i = 0;i<arrays.length;i++){
            System.out.println(arrays[i]+" ");
        }
    }

    //反转数组
    public static int[] reverse(int[] arrays){
        int[] result = new int[arrays.length];
        for (int i=0,j = result.length-1;i<arrays.length;i++,j--){
            result[j] = arrays[i];
        }
        return result;
    }


}

5.多维数组

package com.kuang.array;

public class ArrayDemo05 {
    public static void main(String[] args) {
        //打印二维数组
        int[][] array ={{1,2},{2,3},{3,4},{4,5}};
        for (int i=0;i<array.length;i++){
            for (int j=0;j<array[i].length;j++){
                System.out.println(array[i][j]);
            }
        }
    }
}

6.Arrays类

package com.kuang.array;

import java.util.Arrays;

public class ArrayDemo06 {
    public static void main(String[] args) {
        int[] a = {541,464,465,87,445,4564};
        //打印数组元素,Arrays.toString
        System.out.println(Arrays.toString(a));//[541, 464, 465, 87, 445, 4564]

        Arrays.sort(a);//对数组进行排序
        System.out.println(Arrays.toString(a));//[87, 445, 464, 465, 541, 4564]

        Arrays.fill(a,2,3,0);//对数组进行填充
        System.out.println(Arrays.toString(a));//[87, 445, 0, 465, 541, 4564]
    }
}

7.冒泡排序

package com.kuang.array;

import java.util.Arrays;

public class ArrayDemo07 {
    public static void main(String[] args) {
        //冒泡排序
        int[] a = {44,51,2,54,21,15,1,512,154,6};
        int[] sort = sort(a);//排序后的数组
        System.out.println(Arrays.toString(sort)); //[512, 154, 54, 51, 44, 21, 15, 6, 2, 1]
    }

    public  static int[] sort(int[] array){
        //临时变量
        int temp = 0;
        //外层循环,判断我们这个要走多少次
        for (int i = 0; i < array.length-1 ; i++) {
            boolean flag = false;//通过flag标识位减少没有意义的比较
            //内层循环,比较两个数,如果第一个数比第二个数大,则交换位置
            for (int j = 0;j<array.length-i-1;j++){
                if(array[j+1]>array[j]){
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                    flag = true;
                }
            }
            if (flag == false){
                break;
            }
        }
        return  array;
    }
}

8.稀疏数组


posted @ 2021-07-05 18:51  山村小黎明  阅读(350)  评论(0)    收藏  举报