Java八种基本变量作为类的成员变量的默认值操作

 更新时间:2021年08月24日 09:25:26   作者:DayFight_DayUp  
这篇文章主要介绍了Java八种基本变量作为类的成员变量的默认值操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Java类成员变量的默认值

基本数据类型作为类的成员变量时可以不赋予初值,在方法中输出也不会报错。

下面我们看看我们的八种数据类型的默认值是什么样的

上代码

package objectandclass;
import java.awt.SecondaryLoop;
public class VarText {
	//整形变量
	byte b;
	short s;
	int i;
	long l;
	//实型变量。
	float f;
	double d;
	//布尔型
	boolean bool;
	//字符型
	char c;
	String str;
	public VarText(){
		System.out.println("各种整型成员变量的默认值:");
		System.out.println("byte默认值:"+this.b+"short默认值:"+this.s+"int默认值:"+this.i+"long默认值:"+this.l);
		System.out.println("各种实型成员变量的默认值:");
		System.out.println("float默认值:"+this.f+"double默认值:"+this.d);
		System.out.println("布尔型成员变量的默认值:");
		System.out.println("boolean默认值:"+this.bool);
		System.out.println("字符型成员变量的默认值:");
		System.out.println("char默认值:"+this.c);
		System.out.println("引用型成员变量的默认值");
		System.out.println("String默认值:"+this.str);
	}

输出的结果是这样:

各种整型成员变量的默认值:
1 byte默认值:0 short默认值:0 int默认值:0 long默认值:0
2 各种实型成员变量的默认值:
float默认值:0.0 double默认值:0.0
布尔型成员变量的默认值:
boolean默认值:false
字符型成员变量的默认值:
char默认值:
大家肯定会惊奇,为什么整形和实数型输出的结果会一样,
其实真正的结果如下:

总结

基本类型 默认值
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char ‘\u0000'
boolean false

boolean型变量的默认值问题

1、首先分析Java中的三种不同变量的区别

如下表所示

概念 默认值 其他
类变量

也叫静态变量,是类中独立于方法之外的变量

用static 修饰

有默认初始值,系统自动初始化。

如boolean默认为false.

可以被public,protect,private,static等修饰符修饰

成员变量

也叫实例变量,也是独立于方法之外的变量

没有static修饰

没有默认值,必须进行初始化。 可以被public,protect,private,static等修饰符修饰
局部变量 类的方法中的变量 没有默认值,必须进行初始化。 不可以被修饰符修饰

例如如下代码:

public class Test {
     public static String name;//类变量
     private boolean flag;//成员变量
    public void print(){
    String message="Hello";//局部变量
    }
}

2、然后判断boolean型变量的类型

如果boolean型变量是类变量,则默认值为false.否则没有默认值。

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

相关文章

  • SWT(JFace)体验之GridLayout布局

    SWT(JFace)体验之GridLayout布局

    GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式。GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序排列在表格中。
    2009-06-06
  • mybatis-plus与JPA混合的使用方式

    mybatis-plus与JPA混合的使用方式

    这篇文章主要介绍了mybatis-plus与JPA混合的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • JavaWeb连接数据库MySQL的操作技巧

    JavaWeb连接数据库MySQL的操作技巧

    数据库是编程中重要的一部分,它囊括了数据操作,数据持久化等各方面。在每一门编程语言中都占有相当大的比例。本次,小编以MySQL为例,使用mvc编程思想,给大家讲解下javaweb对数据库的操作
    2017-02-02
  • 通过代理类实现java连接数据库(使用dao层操作数据)实例分享

    通过代理类实现java连接数据库(使用dao层操作数据)实例分享

    java通过代理类实现数据库DAO操作代码分享,大家参考使用吧
    2013-12-12
  • Java集合中的LinkedHashSet源码解读

    Java集合中的LinkedHashSet源码解读

    这篇文章主要介绍了Java集合中的LinkedHashSet源码解读,在LinkedHashMap中,双向链表的遍历顺序通过构造方法指定,如果没有指定,则使用默认顺序为插入顺序,即accessOrder=false,需要的朋友可以参考下
    2023-12-12
  • JavaWeb实现文件上传与下载的方法

    JavaWeb实现文件上传与下载的方法

    这篇文章主要介绍了JavaWeb实现文件上传与下载的方法的相关资料,需要的朋友可以参考下
    2016-01-01
  • MyBatis利用拦截器实现数据脱敏详解

    MyBatis利用拦截器实现数据脱敏详解

    现代网络环境中,敏感数据的处理是至关重要的,敏感数据包括个人身份信息、银行账号、手机号码等,所以本文主要为大家详细介绍了MyBatis如何利用拦截器实现数据脱敏,希望对大家有所帮助
    2023-11-11
  • SpringBoot @Scope与@RefreshScope注解使用详解

    SpringBoot @Scope与@RefreshScope注解使用详解

    spring的bean管理中,每个bean都有对应的scope。在BeanDefinition中就已经指定scope,默认的RootBeanDefinition的scope是prototype类型,使用@ComponentScan扫描出的BeanDefinition会指定是singleton,最常使用的也是singleton
    2022-11-11
  • 详解Java的日期时间新特性

    详解Java的日期时间新特性

    随着时间的不断推移,现实的需求也在不断更新,原先的一些API已经难以满足开发需求了,从JDK 8之后,为了满足更多的开发需求,Java给我们增加了不少关于日期时间的新特性,接下来就带各位来看看这些新特性有哪些,需要的朋友可以参考下
    2023-06-06
  • Java8 HashMap的实现原理分析

    Java8 HashMap的实现原理分析

    Java8之后新增挺多新东西,接下来通过本文给大家介绍Java8 HashMap的实现原理分析,对java8 hashmap实现原理相关知识感兴趣的朋友一起学习吧
    2016-03-03

最新评论