Java类成员变量的默认值
基本数据类型作为类的成员变量时可以不赋予初值,在方法中输出也不会报错。
下面我们看看我们的八种数据类型的默认值是什么样的
上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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等修饰符修饰 |
局部变量 | 类的方法中的变量 | 没有默认值,必须进行初始化。 | 不可以被修饰符修饰 |
例如如下代码:
1
2
3
4
5
6
7
|
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