吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1493|回复: 3
收起左侧

[学习记录] 【自学笔记】 Java基础 - 数组

  [复制链接]
LongJL 发表于 2021-7-10 11:47

数组

  • 概念
    1.数组是一个引用数据类型

    2.数组当中的多个数据,类型必须统一。

    3.数组的长度在程序运行期间不可改变。

  • 数组的初始化

    在内存当中创建一个数组,并且向其中赋予一些默认值。

一维数组

一维数组的声明

  • 数组元素类型 数组名字[];
  • 数组元素类型[] 数组名字

    一维数组的初始化

    1.动态初始化(指定长度)
    格式:
    数据类型[] 数组名称 = new 数据类型 [数组长度];
    解析含义:
    左侧数据类型:也就是数组当中保存的数据,全都是统一的数据类型
    左侧的中括号:表示我是一个数组
    左侧的数组名称:数组的名称
    右侧的new:代表创建数组的动作
    右侧的数据类型:必须和左侧的数据类型保存一致
    右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字

    public class Array {
    public static void main(String[] args) {
        //数据类型[] 数组名称 = new 数据类型 [数组长度];
        int[] arrayA = new int [300];
        double[] arrayB = new double [10];
        String[] arrayC = new double [5];
        //动态初始化也可以拆分成为俩个步骤
        int[] = arrayD;
        arrayD = new int[5];
    }
    }

2.静态初始化(指定内容)

​ 基本格式:
数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,....};
​ 省略格式:
数据类型[] 数组名称 = {元素1,元素2,....};
注意事项:
​         1.虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
​         2.静态初始化标准格式可以拆分成俩个步骤。
​         3.动态初始化也可以拆分成为俩个初始化
​         4.静态初始化一旦使用省略模式,就不能拆分成俩个步骤了。
使用建议:
​         如果不确定数组当中的使用内容,用动态初始化;否则,已经确定了具体内容,用静态初始化。

public class ArrayB {
    public static void main(String[] args) {
        //直接创建一个数组,里面装的都是int数字,具体为:5, 15, 25
        int[] array1 = new int[] {5,15,25};
        String[] array2 = new String[] {"Hello","world", "Java"};
        //静态初始化的标准格式,可以拆分成为俩个步骤
        int[] ArrayB;
        ArrayB = new int[] {11,22,33};
    }
}
public class ArrayD {
    public static void main(String[] args) {
        int[] Array1 = {10,20,30};
    }
}

注意事项:

  • 虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
  • 使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值.
  • 静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成为了大括号当中的默认值。

如果是整数类型,那么默认是0
如果是浮点类型,那么默认为0.0
如果是字符串类型,那么默认为"/u0000";
如果是布尔类型,那么默认为false
如果是引用类型,那么默认为null

使用数组

public class Array {
    //使用数组
        格式:
            数组名称[索引值];
            索引值:就是一个int数字,代表数组当中元素的编号
            【注意】索引值从0开始,一直到数组长度-1为止。
    public static void main(String[] args) {
        int[] array = new int[] {10,20,30};
        for(int i = 0;i<array.length;i++){
            System.out.println(array[i])
        }
    }
}

数组赋值

数组赋值:
数组名称[索引值] = 值;

二维数组

二维数组的声明

  • 数组元素的类型 数组名字[][]
  • 数组元素的类型[][] 数组名字;
    int arr[][]

    二维数组的初始化

    1.动态初始化(指定长度)
    格式:
    数据类型[][] 数组名称 = new 数据类型 [数组长度][数组长度];
    解析含义:
    左侧数据类型:也就是数组当中保存的数据,全都是统一的数据类型
    左侧的中括号:表示我是一个数组
    左侧的数组名称:数组的名称
    右侧的new:代表创建数组的动作
    右侧的数据类型:必须和左侧的数据类型保存一致
    右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字

    public class Array {
    public static void main(String[] args) {
        //数据类型[][] 数组名称 = new 数据类型 [数组长度][数组长度];
        int[] arrayA = new int [300][300];
        double[][] arrayB = new double [10][10];
        String[][] arrayC = new double [5][10];
        //动态初始化也可以拆分成为俩个步骤
        int[][] = arrayD;
        arrayD = new int[5][10];
    }
    }

2.静态初始化(指定内容)

​ 基本格式:
数据类型[][] 数组名称 = new 数据类型[][] {{元素1,...},{元素1,...}};
​ 省略格式:
数据类型[][] 数组名称 = {元素1,元素2,....};
注意事项:
​         1.虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。
​         2.静态初始化标准格式可以拆分成俩个步骤。
​         3.动态初始化也可以拆分成为俩个初始化
​         4.静态初始化一旦使用省略模式,就不能拆分成俩个步骤了。
使用建议:
​         如果不确定数组当中的使用内容,用动态初始化;已经确定了具体内容,用静态初始化。

public class ArrayB {
    public static void main(String[] args) {
        //直接创建一个数组,里面装的都是int数字,具体为:[[5,15,25],[6,16,26]]
        int[][] array1 = new int[][] {{5,15,25},{6,16,26}};
        String[][] array2 = new String[][] {{"Hello","world"}, {"Java","JavaScript"}};
        //静态初始化的标准格式,可以拆分成为俩个步骤
        int[][] ArrayB;
        ArrayB = new int[][] {{11,22,33},{44,55,66}};
    }
}

使用二维数组

public class Array {
    //使用数组
        格式:
            数组名称[索引值][索引值];
            索引值:就是一个int数字,代表数组当中元素的编号
            【注意】索引值从0开始,一直到数组长度-1为止。
    public static void main(String[] args) {
        int[][] array = new int[][] {{10,20},{30,40}};
        for(int i = 0;i<array.length;i++){
            for(int j =0,j<a[i].length;j++){
                System.out.println(array[i][j])
            }
        }
    }
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yyb414 发表于 2021-7-10 14:35
回帖是美德!
仙玉重压 发表于 2021-7-10 17:01
星空下的流星 发表于 2021-7-15 11:35
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 01:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表