聊聊java变量的初始化之后的默认值

 更新时间:2021年08月24日 09:46:16   作者:叶子一哥  
这篇文章主要介绍了聊聊java变量的初始化之后的默认值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

变量初始化后的默认值

对于类的成员变量

不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。

1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。

2、单精度浮点型(float)的基本类型变量的默认值为0.0f。

3、双精度浮点型(double)的基本类型变量的默认值为0.0d。

4、字符型(char)的基本类型变量的默认为 “/u0000”。

5、布尔性的基本类型变量的默认值为 false。

6、引用类型的变量是默认值为 null。

7、数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。

数组例子:

1) int[] a; //声明,没有初始化默认值是null

2) int[] a=new int[5]; //初始化为默认值,int型为0

局部变量初始化

局部变量声明以后,Java 虚拟机不会自动的为它初始化为默认值。

因此对于局部变量,必须先经过显示的初始化,才能使用它。

如果编译器确认一个局部变量在使用之前可能没有被初始化,编译器将报错。

例如:

Java 默认初始化的简单总结

一、数组的默认初始化

1.一维数组的默认初始化

(1)数组元素是整型的默认初始化值为0

(2)数组元素是浮点型的的默认初始化值为0.0

(3)数组元素是char型的默认初始化值为0或者'\u0000',而非‘0'

(4)数组元素是boolean型的默认初始化值是false

(5)数组元素是引用类型的默认初始化值是null

2.二维数组的默认初始化

二维数组分为外层数组的元素和内层数组的元素

例如:int[ ][ ]arr=new int[6][8];

外层元素:arr[0],arr[1],arr[3]等

内层元素:arr[0][0],arr[1][2]等

数组元素的默认初始值

(1)初始化方式一:int[ ][ ]arr=new int[6][8]

外层元素的初始化值:地址值

内层元素的初始化值:与一维数组初始化情况相同

(2)初始化方式二:

外层元素的初始化值:null

内层元素的初始化值:不能调用,调用报错

二、类的属性的默认初始化

(1)数组元素是整型(byte,short,int,long)的默认初始化值为0

(2)数组元素是浮点型(float,double)的的默认初始化值为0.0

(3)数组元素是字符型(char)的默认初始化值为0或者'\u0000',而非‘0'

(4)数组元素是布尔型(boolean)的默认初始化值是false

(5)数组元素是引用类型(类,数组,接口)的默认初始化值是null

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

相关文章

  • SpringBoot自定义转换器用法详解

    SpringBoot自定义转换器用法详解

    在SpringBoot中,转换器用于将一个类型的值转换为另一个类型,这在处理HTTP请求参数、响应结果、表单数据等方面非常有用,SpringBoot提供了多种方式来定义和使用转换器,本文给大家介绍了
    如何使用SpringBoot自定义转换器,需要的朋友可以参考下
    2023-08-08
  • Java构造器使用方法及注意事项

    Java构造器使用方法及注意事项

    这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下
    2017-07-07
  • SpringMvc web.xml配置实现原理过程解析

    SpringMvc web.xml配置实现原理过程解析

    这篇文章主要介绍了SpringMvc web.xml配置实现原理过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringMVC MVC架构与Servlet使用详解

    SpringMVC MVC架构与Servlet使用详解

    MVC设计模式一般指 MVC 框架,M(Model)指数据模型层,V(View)指视图层,C(Controller)指控制层。使用 MVC 的目的是将 M 和 V 的实现代码分离,使同一个程序可以有不同的表现形式。其中,View 的定义比较清晰,就是用户界面
    2022-10-10
  • 谈谈 Java 中 this 的使用方法

    谈谈 Java 中 this 的使用方法

    这篇文章主要介绍了Java 中 this 的使用方法,需要的朋友可以参考下
    2014-01-01
  • Java总结篇系列:Java泛型详解

    Java总结篇系列:Java泛型详解

    下面小编就为大家带来一篇Java总结篇系列:Java泛型详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 带你了解Java数据结构和算法之链表

    带你了解Java数据结构和算法之链表

    这篇文章主要为大家介绍了Java数据结构和算法之链表 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Java包装类的概述与应用

    Java包装类的概述与应用

    包装类使用起来非常方便,但是没有对应的方法来操作这些基本数据类型,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,我们可以使用类中的方法来操作这些基本类型的数据,这篇文章主要给大家介绍了关于Java包装类的相关资料,需要的朋友可以参考下
    2022-04-04
  • Spring注解中@Autowired和@Bean的区别详解

    Spring注解中@Autowired和@Bean的区别详解

    这篇文章主要详细介绍了Spring注解中@Autowired和@Bean二者有什么区别,文中通过两个注解的使用场景介绍了二者的区别,感兴趣的同学可以参考阅读
    2023-06-06
  • Java实现企业员工管理系统

    Java实现企业员工管理系统

    这篇文章主要为大家详细介绍了Java实现企业员工管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论