学习008---数组

数组array

注:本系列学习自狂神说(Java):

点击跳转至狂神说视频(bilbili)

点击跳转至狂神说网页

当前的目标是建造自己的网页!

俺的博客:startsmaple

语法

package com.starsmaple.array;

import java.util.Arrays;

public class ArrayDemo01 {
    public static void main(String[] args) {
        //数组
        int[] nums;//声明
        int nums2[];//早期c、c++的定义风格

        nums = new int[10];//创建

        //赋值
        //index下标赋值,数组从0开始计数
        nums[0] = 10;


        //初始化
        //1. 动态初始化(声明并开辟数组)
        int[] a = null;
        System.out.println(Arrays.toString(a));

        int[] b = new int[5];
        System.out.println(Arrays.toString(b));

        String[] strs = new String[9];
        System.out.println(Arrays.toString(strs));


        //nums.lenth长度
        for(int j=0;j<b.length;j++){
            System.out.println(b[j]);
        }

        //2.静态初始化(开辟同时赋值)
        //简化格式
        //数据类型[] 数组名称 = {值,值,....}
        //完整格式
        //数据类型[] 数组名称 = new 数据类型[] {值,值,....}

        int[] num = {1,2,3,4,5,6};


        //3.引用传递的空间开辟
        //栈区的内容不会自动清除
        int[] x = null;
        x = new int[]{10,20,30};
        System.out.println(Arrays.toString(x));

        x = null;
        System.out.println(Arrays.toString(x));
    }
}

引用传递时空间开辟栈区内存不会清除图解

image

数组边界

image

创建数组内存分析

image

image

二维数组

package com.starsmaple.array;

public class ArrayDemo05 {
    public static void main(String[] args) {
        //[4][2]

        int[][] aray = {{1,2},{2,3},{3,4},{4,5}};
        System.out.println(aray.length);
        System.out.println(aray[0].length);


        for (int i = 0; i < aray.length; i++) {
            for (int j = 0; j < aray[0].length; j++) {
                System.out.print(aray[i][j]+" ");
            }
            System.out.println();
        }
        //拓展:使用方法printArray
        //待添加

    }
}

Array类

可以打开jdk帮助文档[jdk api1.8]

也可以查看源码

package com.starsmaple.array;

import java.util.Arrays;


public class ArrayDemo06 {
    //Array类 的 应用
    public static void main(String[] args) {

        int[] a = {1,2,32456,67875643,67,21432,2,4,3421};

        System.out.println(a);//
        //打印数组元素

        System.out.println(Arrays.toString(a));

        printArray(a);

    }
    public static void printArray(int[] arrays){
        System.out.print("[");

        System.out.print(arrays[0]);
        for (int i = 1; i < arrays.length; i++) {
            System.out.print(", ");
            System.out.print(arrays[i]);
        }
        System.out.print("]");
        return;
    }
}

package com.starsmaple.array;

import java.util.Arrays;
import java.util.Comparator;

public class ArrayDemo07 {
    public static void main(String[] args) {
        //Array里的函数
        //填充fill
        int[] arrays = new int[10];
        Arrays.fill(arrays, 1, 5, 10);
        System.out.println(Arrays.toString(arrays));


        int[] a = {4561, 514, 4321, 4, 45, 84, 456, 123, 4};

        Arrays.sort(a);
        System.out.println(Arrays.toString(a));


    }
}

冒泡排序

package com.starsmaple.array;

import java.util.Arrays;

public class ArrayDemo08 {
    public static void main(String[] args) {
        int[] a = {45,45,123,4786,1554,1,45,3,2,6,5};
        sort(a);
        System.out.println(Arrays.toString(a));

    }

    //冒泡排序
    public static int[] sort(int[] array){
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-1 - i; j++) {
                if(array[j+1]>array[j]){
                    int temp = array[j+1];
                    array[j+1] = array[j];
                    array[j] = temp;
                }
            }
        }
        return array;
    }
}

稀疏数组

package com.starsmaple.array;

import java.util.Arrays;

public class ArrayDemo08 {
    public static void main(String[] args) {
        int[] a = {45,45,123,4786,1554,1,45,3,2,6,5};
        sort(a);
        System.out.println(Arrays.toString(a));

    }

    //冒泡排序
    public static int[] sort(int[] array){
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-1 - i; j++) {
                if(array[j+1]>array[j]){
                    int temp = array[j+1];
                    array[j+1] = array[j];
                    array[j] = temp;
                }
            }
        }
        return array;
    }
}

posted @ 2021-07-26 17:31  星楓  阅读(40)  评论(0)    收藏  举报