Java动态初始化数组,元素默认值规则详解

 更新时间:2024年10月21日 16:55:12   作者:wenre_5897  
动态初始化数组涉及先定义数组长度,后填充具体数据,适用于数据量已知但具体值未定的情况,这种初始化方式允许程序运行过程中赋值,并会根据数据类型设定默认值,如整型为0,字符串为null,动态初始化与静态初始化格式不能混用

Java动态初始化数组,元素默认值规则

1.动态初始化数组

定义数组的时候,只确定元素的类型和数组的长度,之后再存入具体数据。

2.动态初始化数组的基本原理

当你赋值后,数组的默认值0,就会变成你赋的值。

3.数组的动态初始化格式

格式:

 数组类型[] 数组名 = new 数据类型[长度];

例子:

        int[] ages = new int[3];            //定义一个int类型的动态初始化数组,长度为3.

        ages[0] = 10;                       //赋值:存入具体数据
        ages[1] = 20;
        ages[2] = 30;

        System.out.println(ages[0]);         //取值:输出一二三位数据
        System.out.println(ages[1]);
        System.out.println(ages[2]);

输出结果:

4.动态初始化数组的元素默认值

动态初始化数组的特点:

  • 先定义,后赋值,不赋值的位置会产生一个默认值:例如int类型会出现默认值:0;
  • String类型会出现默认值:null

元素默认值规则:

数据类型明细默认值
基本类型整数:byte、short、char、int、long
浮点数:float、double
布尔:boolean

0

0.0

false

引用类型类,接口,数组,Stringnull

两种初始化数组的使用场景总结及注意事项:

  • 动态初始化:只指定数组的长度,后期赋值,适合开始知道数据的数量,但是不确定具体元素值的业务场景
  • 静态初始化:前期就存入元素值,适合开始就能确定具体元素值的业务场景

两种初始化的格式是独立分开的,严格要求不能混合使用

int[] ages = new int[3]{1,10,50}        //报错

单独注意char类型:

        char[] chars = new char[5];
        System.out.println(chars[0]);
        

输出结果为:

需要强转换成int类型,才能输出0

System.out.println((int)chars[0]);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • idea设置JVM运行参数的几种方式

    idea设置JVM运行参数的几种方式

    对JVM运行参数进行修改是JVM性能调优的重要手段,本文主要介绍了idea设置JVM运行参数的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • JAVA十大排序算法之归并排序详解

    JAVA十大排序算法之归并排序详解

    这篇文章主要介绍了java中的归并排序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • java操作mysql实现增删改查的方法

    java操作mysql实现增删改查的方法

    这篇文章主要介绍了java操作mysql实现增删改查的方法,结合实例形式分析了java操作mysql数据库进行增删改查的具体实现技巧与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • IDEA lombok注解(@Date、@Setter、@Getter)不起作用的解决

    IDEA lombok注解(@Date、@Setter、@Getter)不起作用的解决

    作者在使用Lombok时遇到问题,发现IntelliJ IDEA需要安装Lombok插件才能支持Lombok注解,作者通过安装Lombok插件并重启IDEA解决了问题,并分享了这一经验,希望能帮助其他遇到相同问题的开发者
    2026-01-01
  • JDK生成WebService客户端代码以及调用方式

    JDK生成WebService客户端代码以及调用方式

    WebService 是一种跨编程语言和跨操作系统平台的远程调用技术,下面这篇文章主要给大家介绍了关于JDK生成WebService客户端代码以及调用方式的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Mybatis查询语句结果集的总结大全

    Mybatis查询语句结果集的总结大全

    这篇文章主要给大家总结介绍了关于Mybatis查询语句结果集的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 详解tryAcquire()、addWaiter()、acquireQueued()

    详解tryAcquire()、addWaiter()、acquireQueued()

    这篇文章主要tryAcquire()、addWaiter()、acquireQueued()的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 浅谈Java中GuavaCache返回Null的注意事项

    浅谈Java中GuavaCache返回Null的注意事项

    Guava在实际的Java后端项目中应用的场景还是比较多的,比如限流,缓存,容器操作之类的,本文主要介绍了GuavaCache返回Null的注意事项,感兴趣的可以了解一下
    2021-10-10
  • 带你快速入门掌握Spring的那些注解使用

    带你快速入门掌握Spring的那些注解使用

    注解是个好东西,注解是Java语法,被Java编译器检查,可以减少配置错误,这篇文章主要给大家介绍了关于Spring的那些注解使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • java实现多线程文件的断点续传

    java实现多线程文件的断点续传

    这篇文章主要为大家详细介绍了java实现多线程文件的断点续传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06

最新评论