数组详解(创建、静态、动态初始化)

数组

数组的概念

类型相同数据的集合

  • 可以存放任意类型的元素但同一个数组中元素类型必须一致

创建数组

可以分为两个步骤

1.声明一个数组(不分配空间)

语法:数组类型[] 数组名

	 int [] array
  //声明一个类型为int 的数组 数组名为array

2.创建一个数组(分配空间)

语法:数组名称=new 数组类型[数组大小]

   array = new int[100]

声明和创建操作可以分成两条语句写也可以合成一条语句

int[] array=new int[100]//声明并创建数组array

数组的默认值

数组在创建完成之后 如果没有进行初始化则系统自动给元素赋值 这个值就是默认值

  • 不同类型数组的默认值一般是不同
        System.out.print("------不同数数组的默认初始值\n\n");
        //创建几个类型不同的数组
        byte[] array_byte = new byte[1]; //byte类型数组
        short[] array_short = new short[1];//short类型数组
        int[] array_int = new int[1];//int类型数组
        long[] array_long = new long[1];//long类型数组
        System.out.print("-----byte--short---int----long--\n");
        System.out.print("byte类型的初始值为:" + array_byte[0] + " short类型的初始值为:" + array_short[0] + "\n" + "int类型的初始值为:" + array_int[0] + " long类型的初始值为" + array_long[0] + "\n");
        //byte short int long 类型的初始值都为0

        System.out.print("-----float--double--------\n");
        float[] array_float = new float[1];
        double[] array_double = new double[1];
        System.out.print("float类型的初始值为:" + array_float[0] + "double类型的初始值为:" + array_double[0] + "\n");
        //float和double类型的初始值都为0.0  浮点型的初始值为0.0
        boolean []array_boolean=new boolean[1];
        System.out.print("boolean类型的初始值为:"+array_boolean[0]+"\n");
        //boolean(布尔)类型的初始值为false

        char []array_char=new char[1];
        System.out.print("char类型的初始值为:"+array_char[0]+"\n");
        //char类型的初始值是一‘\u0000’也就是空格 注意 虽然是空格也算入数组长度内 空字符=空格
        System.out.print("有一个空字符的数组大小为:"+array_char.length+"\n"); //相当于只有一个空格的字符串
        System.out.print("空字符串长度为:"+"".length());//空字符串
        //既然用字符数组来表示字符串所以 也就相当于只有一个空格的字符串-->" " 这个字符串的长度为1 而”“则是一个空字符串长度为0

小结

数组类型默认值
byte short int long0
float double0.0
char‘\u0000’ 一个空格
booleanfalse

数组的初始化

动态初始化

  • 给定数组长度
  • 系统自动为元素赋初值(默认值)
//动态初始化:只要给定数组长度,系统自动为元素赋值
        int []arr1=new int[3];

静态初始化

  • 不用给定数组长度 (系统自动计算)
  • 定义数组的同时为数组的每个元素进行赋值

方式

  • 方式1:类型 []数组名 =new 类型 []{元素,元素,元素}
  • 方式2:类型 []数组名称 ={元素,元素} 更简洁
//静态初始化:定义数组的同时给每个元素赋值 长度由系统自动计算
        int []arr2=new int[]{1,2,3};//静态初始方式1
        int []arr3={1,2,3};//静态初始化方式2 更简洁

小结:

  • 静态初始化和动态初始化的主要区别在于是否给定数组长度
  • 静态化初始数组由两种写法

其他

数组的简单使用

调用数组中的某个元素

对于数组而言 每个元素都由一个对应的数字称为下标 (索引)

  • 下标从0开始
    假设数组大小为10则下标是从0~9 而不包括10
    通过下标可以实现对数组元素的调用
//------------简单使用数组
        //通过索引(下标)输出数组元素 下标从0开始  假设长度为100 则下标是从0~99而不是1~100
        System.out.print("数组array[0]的值为" + array[0] + "\n");
        System.out.print("下标从0~4的数组元素为:\n");
        for (int i = 0; i < 5; i++) {
            System.out.print(" " + array[i]);
        }
        System.out.print("\n");
        //这里的数组array的值都是默认值0

获取数组长度

数组长度决定着该数组能存放多少个元素

  • 可以通过数组名.length 来获取数组长度
  • 也可以通过该方式获得字符串的长度字符串.length
//-------获取数组长度
//语法 数组名称.length
        System.out.print("数组array的长度为" + array.length + "\n");
//-----获取字符串的长度
    System.out.print("字符串abc的长度为" + "abc".length + "\n");

数组的遍历

要想遍历整个数组 首先需要知道数组长度 这样才可以控制循环

  • 通过循环不断的改变数组下标从而实现对数组的遍历
//for循环
int []array=new int[5];
for (int i = 0; i < 5; i++) {
            System.out.print(array[i]);
        }

代码

public class Main {
    public static void main(String[] args) {
        //---------声明数组
        // 数组类型 数组标识符 数组名称 也可以理解成声明变量 变量的类型为int[]
        int[] array;//声明一个数组 类型为 int 名称为array

        //创建数组并把地址赋值为array  new int[100]创建大小为100的数组
        array = new int[100]; //把 数组的地址赋值给array 这样就可以通过array来调用数组

        //数组的初始值 对于int类型 元素的初始值都为0

        //------------简单使用数组
        //通过索引(下标)输出数组元素 下标从0开始  假设长度为100 则下标是从0~99而不是1~100
        System.out.print("数组array[0]的值为" + array[0] + "\n");
        System.out.print("下标从0~4的数组元素为:\n");
        for (int i = 0; i < 5; i++) {
            System.out.print(" " + array[i]);
        }
        System.out.print("\n");
        //这里的数组array的值都是默认值0

        //-------获取数组长度
        //语法 数组名称.length
        System.out.print("数组array的长度为" + array.length + "\n");

        //-------------不同数组的默认初始值
        System.out.print("------不同数数组的默认初始值\n\n");
        //创建几个类型不同的数组
        byte[] array_byte = new byte[1];
        short[] array_short = new short[1];
        int[] array_int = new int[1];
        long[] array_long = new long[1];
        System.out.print("-----byte--short---int----long--\n");
        System.out.print("byte类型的初始值为:" + array_byte[0] + " short类型的初始值为:" + array_short[0] + "\n" + "int类型的初始值为:" + array_int[0] + " long类型的初始值为" + array_long[0] + "\n");
        //byte short int long 类型的初始值都为0
        System.out.print("-----float--double--------\n");
        float[] array_float = new float[1];
        double[] array_double = new double[1];
        System.out.print("float类型的初始值为:" + array_float[0] + "double类型的初始值为:" + array_double[0] + "\n");
        //float和double类型的初始值都为0.0  浮点型的初始值为0.0
        boolean []array_boolean=new boolean[1];
        System.out.print("boolean类型的初始值为:"+array_boolean[0]+"\n");
        //boolean(布尔)类型的初始值为false
        char []array_char=new char[1];
        System.out.print("char类型的初始值为:"+array_char[0]+"\n");
        //char类型的初始值是一‘\u0000’也就是空格 注意 虽然是空格也算入数组长度内 空字符=空格
        System.out.print("有一个空字符的数组大小为:"+array_char.length+"\n"); //相当于只有一个空格的字符串
        System.out.print("空字符串长度为:"+"".length());//空字符串
        //既然用字符数组来表示字符串所以 也就相当于只有一个空格的字符串-->" " 这个字符串的长度为1 而”“则是一个空字符串长度为0

        //-------数组的初始化
        //动态初始化:只要给定数组长度,系统自动为元素赋值
        int []arr1=new int[3];
        //静态初始化:定义数组的同时给每个元素赋值 长度由系统自动计算
        int []arr2=new int[]{1,2,3};//静态初始方式1
        int []arr3={1,2,3};//静态初始化方式2
        //相比之前 第二种方式更简洁

    	}
	}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值