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.否则没有默认值。

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

相关文章

  • java 数据结构 冒泡排序实现代码

    java 数据结构 冒泡排序实现代码

    这篇文章主要介绍了java 数据结构 冒泡排序的相关资料,并附实例代码,有需要的小伙伴可以参考下
    2016-09-09
  • Java弱引用集合WeakHashMap总结

    Java弱引用集合WeakHashMap总结

    这篇文章主要介绍了Java弱引用集合WeakHashMap总结,WeakHashMap利用WeakReference的弱引用特性让用户在使用的过程中不会因为没有释放Map中的资源而导致内存泄露,WeakHashMap实现了Map接口,使用方式和其他的Map相同,需要的朋友可以参考下
    2023-09-09
  • IDEA-SpringBoot项目Debug启动不了(卡住不动)的原因分析

    IDEA-SpringBoot项目Debug启动不了(卡住不动)的原因分析

    这篇文章主要介绍了IDEA-SpringBoot项目Debug启动不了(卡住不动)的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java之Class.forName()用法案例详解

    Java之Class.forName()用法案例详解

    这篇文章主要介绍了Java之Class.forName()用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 详解Java的设计模式编程中的原型模式

    详解Java的设计模式编程中的原型模式

    这篇文章主要介绍了Java的设计模式编程中的原型模式,处理对象复制时要特别注意浅拷贝和深拷贝的问题,需要的朋友可以参考下
    2016-02-02
  • spring boot ajax跨域的两种方式

    spring boot ajax跨域的两种方式

    java语言在多数时,会作为一个后端语言,为前端的php,node.js等提供API接口。这篇文章主要介绍了spring boot ajax跨域的两种方式,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • Java经典快排思想以及快排的改进讲解

    Java经典快排思想以及快排的改进讲解

    今天小编就为大家分享一篇关于Java经典快排思想以及快排的改进讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 基于SpringBoot多线程@Async的使用体验

    基于SpringBoot多线程@Async的使用体验

    这篇文章主要介绍了SpringBoot多线程@Async的使用体验,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringBoot应用快速部署到K8S的详细教程

    SpringBoot应用快速部署到K8S的详细教程

    这篇文章主要介绍了SpringBoot应用快速部署到K8S的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • java实现简单扫雷游戏

    java实现简单扫雷游戏

    这篇文章主要为大家详细介绍了java实现简单扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04

最新评论