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.否则没有默认值。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。