当变量只定义不赋值,不一样的类型会有不同的初始值
1,基础数据类型
1.1 代码:
package com.company;
public class Main {
static byte b;
static short s;
static int i;
static long l;
static float f;
static double d;
static char c;
static boolean bool;
public static void main(String[] args) {
System.out.print("byte=" + b +",");
System.out.print("short=" + s +",");
System.out.print("int=" + i +",");
System.out.print("long=" + l +",");
System.out.print("float=" + f +",");
System.out.print("double=" + d +",");
System.out.print("char=" + c +",");
System.out.print("boolean=" + bool);
}
}
1.2 结果:
byte=0,short=0,int=0,long=0,float=0.0,double=0.0,char= ,boolean=false
1.3 结论:
byte | short | int | long | float | double | char | boolean |
0 | 0 | 0 | 0 | 0.0 | 0.0 | false |
2,引用类型:
2.1 代码
package com.company;
public class Main {
static Byte b;
static Short s;
static Integer i;
static Long l;
static Float f;
static Double d;
static Character c;
static Boolean bool;
static String str;
public static void main(String[] args) {
System.out.print("Byte=" + b +",");
System.out.print("Short=" + s +",");
System.out.print("Integer=" + i +",");
System.out.print("Long=" + l +",");
System.out.print("Float=" + f +",");
System.out.print("Double=" + d +",");
System.out.print("Character=" + c +",");
System.out.print("Boolean=" + bool +",");
System.out.print("String=" + str);
}
}
2.2 结果
Byte=null,Short=null,Integer=null,Long=null,Float=null,Double=null,Character=null,Boolean=null,String=null
2.3 结论
引用类型只定义不赋值时,初始化为null
3,局部变量中定义
3.1 代码
3.2 结论
局部变量需要定义初始值,才能使用