JAVA中的成员变量不赋值默认是0吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中的成员变量不赋值默认是0吗?相关的知识,希望对你有一定的参考价值。
一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值:Boolean false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
如果在一个方法中定义一个变量,java不会给其分配默认值,就必须我们来给他初始化,否则将得到编译错误的提示; 参考技术A 这个大哥,成员变量有引用型和值类型
Java中明确规定:
1、如果是引用型的,比如:String,还有类对象,他们的默认值都是:null;
2、而如果是值类型:double,int,long,float,char等等,他们都是:0;
还有一个,boolean,默认值是:false.
多动手,不要什么不知道就问。
你完全可以先自己动手测试。 参考技术B 要看什么类型的变量,String类型,只声明是null,声明后不赋值是默认是“”;
int类型默认值是0 参考技术C 没有被初始化,java为其分配默认值:
Boolean false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
Java中的数据类型
/**Java中的数据类型*/
public class Demo03{
static boolean b; //成员变量:类体内方法体外 作用域是整个类。使用时,可以不赋值,执行其默认值
public static void main(String []args){
System.out.println(Math.PI);
boolean b;//声明 在一个方法里 相同变量的声明只能一次
b = true; //赋值
System.out.println("b的值是:"+b);
b = false;
System.out.println("b的值是:"+b);
final boolean cc = true; //由final进行修饰的量叫常量
System.out.println("c的值是:"+cc);
//cc = false; //错误: 无法为最终变量cc分配值
char c =‘a‘;
System.out.println("c:"+c);
char c1 = 97;//ANSI 0-65535
System.out.println("c1:"+c1);
char c2 = ‘\u0000‘;
System.out.println("c2:"+c2);
long l =1L;
float f =1.0f;
double d1 = 1.0;
String name ="王小二";
String dd = name+" "+l+" "+f+" "+d1;
System.out.println(dd);
//类型转换
byte bb = 104;
int i = bb; //byte-->int 小数据类型会自动向大数据类型转型
System.out.println("byte小-->int大"+i);
long l1 = 1;
int i1 = (int)l1; //大数据类型向小数据类型转型,需指定小数据类型承接。布尔类型不能转换,char类型自动向上转型为int
System.out.println("long大-->int小"+i1);
float f1 = (float)1.0;
float f2 = 1.0f; //f1于f2同样作用
//上面已经声明 char c =‘a‘;
int i2 = c;//char自动转int
System.out.println("char c=‘a‘-->int:"+i2);
}
}
以上是关于JAVA中的成员变量不赋值默认是0吗?的主要内容,如果未能解决你的问题,请参考以下文章