Java基础学习days03 ---数组类型

本文详细介绍了Java中的数组类型、定义、索引、使用Arrays.toString展示数组元素、数组大小获取、默认值以及常见开发错误——数组索引越界。
摘要由CSDN通过智能技术生成
package com.exmaple;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * 数组类型
 */
public class ArrayType {
    public static void main(String[] args) {
        /*
        1、数组是引用类型,引用类型的变量指向某个对象,而基本类型变量持有某个数值
        2、数组的索引从0开始,因此数组的大小永远比索引值大1
        3、要直观的看清楚数组里的元素,可以用Arrays.toString()方法,Arrays是一个操作数组的工具类
            理论上引用类型打印出来都是地址值,但是有几个特殊的java工具类重写了toString方法(比如:String)
            所以能打印出具体的值
        4、数组是同一数据类型的集合,数组一旦创建后,大小就不可变
         */
        //数组的定义 类型[] 变量名 = new 类型[数组大小];
        int[] a = new int[3];
        a[0] = 1;
        a[1] = 2;
        a[2] = 3;
        System.out.println(a); //[I@10f87f48 地址值
        System.out.println(Arrays.toString(a)); //[1, 2, 3]
        int[] a1 = {1,2,3};
        int[] a2 = new int[]{1,2,3};
        System.out.println(Arrays.toString(a1)); //[1, 2, 3]
        System.out.println(Arrays.toString(a2)); //[1, 2, 3]
        //以上都是定义数组的几种方式

        /*
        4、数组的大小可以通过访问length属性来获取
            注:获取String的长度用length()方法,小白容易混淆
         */
        System.out.println("获取字符串的长度: " + "123".length());
        System.out.println("获取数组的大小: " + a.length);

        /*
        5、数组里的元素未赋值的情况下,元素有默认值,
            整型为0 浮点型为0.0 布尔型为false char类型为空字符即'\0' 引用类型为null
         */
        byte[] c = new byte[3];
        short[] c1 = new short[3];
        int[] c2 = new int[3];
        long[] c3 = new long[3];
        System.out.println(Arrays.toString(c) + "\n" + Arrays.toString(c1)
                + "\n" + Arrays.toString(c2) + "\n" + Arrays.toString(c3)); //[0, 0, 0]

        float[] b = new float[3];
        double[] b1 = new double[3];
        System.out.println(Arrays.toString(b) + "\n" + Arrays.toString(b1)); //[0.0, 0.0, 0.0]

        boolean[] d = new boolean[3];
        System.out.println(Arrays.toString(d)); //[false, false, false]

        char[] e = new char[3];
        System.out.println(Arrays.toString(e));
        char f = '\0';
        System.out.println(f);

        String[] m = new String[3];
        System.out.println(Arrays.toString(m)); //[null, null, null]
        m[0] = "1"; //开辟了一个空间存放"1",数组下标为0的元素指向"1"
        //在内存中开辟了一片空间存放"520",并将n指向"520"
        String n = "520";
        //数组下标为0的元素指向"520"
        m[0] = n;
        //开辟一片空间存放"1314",将n指向"1314",这个操作不会改变m[0]的指向,小白容易混淆
        n = "1314";
        System.out.println(m[0]); //"520"
        System.out.println(n); //"1314"

        /*
        6、常见的开发错误:ArrayIndexOutOfBoundsException 数组索引越界异常
         */
        System.out.println(m[3]);
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值