在编程时,有时候声明数组只声明了数组长度,没有进行初始化int [] array = new int[5];
,或者在类中声明了全局变量但是没有初始化。 这两种情况下,数组的元素和全局变量其实是有默认值的。下面是各种类型数组或者变量的默认值:
- byte,short和int类型的数组或者成员变量默认值: 0
- long 类型的数组或者成员变量的默认值: 0L
- char 类型的数组或者成员变量默认值: 空格 ‘\u0000’
- foat 类型的数组或者成员变量默认值: 0.0f 或 0.0F
- double类型的组或者成员变量默认值: 0.0
- boolean类型的数组或者成员变量默认值: false
- String类型的数组或者成员变量默认值: null
- 引用类型的数组或者成员变量默认值都是null,String 也是引用类型
局部变量是没有默认值的,声明的时候如果没有初始化,在使用之前一定要赋值,否则会报错
private static int age;
public Def(int age) throws Exception{
this.age = age;
if(age<18||age>90){
throw new Exception("年龄不能小于18且不能大于90岁");
}
}
public static void main(String[] args){
//try{
// Def def = new Def(12);
// return;
//}catch(Exception e){
// e.printStackTrace();
//}finally{
// System.out.println("finally");
//}
String[] str = new String[10];
System.out.println(str[0]);
int[] arr = new int[10];
System.out.println(arr[0]);
System.out.println("age-------------");//age是一个类变量,全局变量,有默认初始值
System.out.println(age);
}