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