Java学习日记-8

1.数组
>定义:多个相同数据类型的数据按一定的顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一的管理。

2.数组相关概念:数组名,下表(索引),元素,数组的长度

3.数组特点:
>数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型
>数组是有序排列的
>数组长度一旦确定就不能修改

4.数组的分类
>按照维数:一维数组、二维数组、。。
>按照数组元素的类型,基本数据类型数组、引用数据类型数组

5.一维数组的使用
 ①一维数组的声明和初始化
 ②如何调用数组的指定位置的元素
 ③如何获取数组的长度
 ④如何遍历数组
 ⑤数组元素的默认初始化值
 ⑥数组的内存解析

 

内存解析: 

 

 

public class Java_Array {
    public static void main(String[] args) {
        // 1.一维数组的声明和初始化
        int num;//声明
        num = 10;//初始化
        int id = 10;// 声明+初始化

        int[] ids; //声明
        //1.1静态初始化:数组的初始化和数组元素的赋值操作同时进行
        ids = new int[]{1001,1002,1003,1004};
        //1.2动态初始化:数组的初始化和数组的元素赋值操作分开进行
        String[] names = new String[5];

        int[] arr = {1,2,3,4}; 也是正确的写法,参考c语言中也可以这样定义数组

        错误的写法
//       int[] arr = new int[];
//        int[2] arr2 = new int[5];
//        int[] arr3 = new int[3]{1,2,3};

        //总结:数组一旦初始化完成,长度就确定了

        //2.如何调用数组的指定位置的元素:通过角标的方式调用。
        //数组的角标(或索引)从0开始的,到数组的长度-1结束。
        names[0] = "ikun";
        names[1] = "小黑子";
        names[2] = "香翅捞饭";
        names[3] = "香精煎鱼";
        names[4] = "食不食油饼";
       // String i = "hello";

        //3.如何获取数组长度
        System.out.println(names.length);
        System.out.println(ids.length);

        //4.如何遍历数组 循环遍历
        System.out.println(names[1]);
        for(int i = 0;i < names.length;i++) {
            System.out.println(names[i]);
        }

        System.out.println();

        //5.数组元素的默认初始化值
        // >数组元素是整型的所有初始化值都是0
        // >数组元素是浮点型的所有初始化值都是0.0
        // >数组元素是布尔型的所有初始化值都是false
        // >数组元素是字符型的所有初始化值都是ASCII中的0或'\u0000',而非'0'
        // >数组元素是字符串类型的所有初始化值是null
        int[] arr = new int[5];
  //      short[] arr1 = new short[5];
        double[] arr2 = new double[5];
        boolean[] arr3 = new boolean[5];
        char[] arr4 = new char[5];
        String[] arr5 = new String[5];
        for(int j = 0; j < arr.length; j++) {
            System.out.println(arr[j]);
            System.out.println(arr2[j]);
            System.out.println(arr3[j]);
            System.out.println(arr4[j]);
            System.out.println(arr5[j]);

        }
        System.out.println("***********");
        if(arr4[3] == 0) {
            System.out.println("你好"); //证明字符数组初始默认值进行判断==0能运行
        }

6.多维数组的使用
 java语言提供了支持多维数组的语法。
 如果说可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格。
 对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。其实,从数组底层的运行机制来看,其实没有多维数组。

class Test {
    public static void main(String[] args) {
        //二维数组的初始化
        int[] arr = new int[]{1,2,3,4}; //静态初始化
        int[][]  arr1 = new int[][]{{1,2,3},{4,5,6},{7,8}}

        //动态初始化
        int[][] arr2 = new int[3][2];
        int[][] arr3 = new int[3][];

        //错误动态二维写法
        int[][] arr3 = new int[][2];

        //结论:二维数组能省略列,但是不能省略行
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值