Java八种基本变量作为类的成员变量的默认值操作
作者:DayFight_DayUp 发布时间:2022-06-25 04:55:58
标签: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.否则没有默认值。
来源:https://blog.csdn.net/a907691592/article/details/51607249


猜你喜欢
- 实例如下:public class DataTypeChangeHelper { /** * 将一个单字节的b
- 场景描述在项目开发的过程中,需要修改调试的时候偶每次都需要重启项目浪费时间,下面是我整理的两种常用的两种方式方式一修改启动配置方式(主要针对
- 一、概述平衡二叉树具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的
- C#程序自删除核心实现方法就是调用 cmd 传入命令行,等待几秒之后删除文件;应用程序在运行时,是不能将 exe 文件进行删除的。但是可以将
- Android中的传递有两个方法,一个是Serializable,另一个是Parcelable。Serializable是J2SE本身就支持
- 一、Steam的优势java8中Stream配合Lambda表达式极大提高了编程效率,代码简洁易懂(可能刚接触的人会觉得晦涩难懂),不需要写
- 本文实例讲述了C#获取CPU编号的方法。分享给大家供大家参考。具体如下:/// <summary>/// Gets the cp
- 平时用到的库仓库名地址备注mavenCentralhttps://repo1.maven.org/maven2/
- 前言我们都知道WebApi是依赖于Asp.Net MVC的 ,所以,想创建WebApi,就需要先创建一个Asp.Net MVC项目。但用Vi
- 本文实例讲述了C#实现的海盗分金算法。分享给大家供大家参考,具体如下:海盗分金的故事5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城
- C#调用MFC 窗口 DLLMFC DLL创建一个窗口类,加public和AFX_EXT_CLASSMFC DLL属性注意MFC的使用:在共
- 一、编译环境spring5.0.x源码gradle4.9jdk1.8_151IntelliJ IDEA 2020.1二、安装gradle1、
- 一、Springboot项目运行正常打包前,Springbooot项目在本地必须是运行正常的。我们这里使用本专栏写起来的项目,如下所示:来访
- 理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类。由于所有的类都继承在Object类,因此省略了ex
- 前言我们知道在Android开发中不能在非ui线程中更新ui,但是,有的时候我们需要在代码中执行一些诸如访问网络、查询数据库等耗时操作,为了
- SpringBoot 中配置redis作为session 缓存器。 让shiro引用本文是建立在你是使用这shiro基础之上的补充内容第一种
- 动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,并将这些子问题的解保存起来,如果以后在求解较大子问题的时候需要用到这些子问
- 一、Druid简介Druid是阿里开源的数据库连接池,作为后起之秀,性能比dbcp、c3p0更高,使用也越来越广泛。当然Druid不仅仅是一
- 详解json string转换为java bean及实例代码pom中添加如下两个库:<dependency> <
- 前言最近看插件库上少有的取色器大都是圆形的或者奇奇怪的的亚子,所以今天做两个矩形的颜色取色器提示:以下是本篇文章正文内容,下面案例可供参考一