今天看到一个面试题,关于变量没赋初始化值是否会报错的题目,瞬间就GG了,怪基础差
import java.util.*;
public class test{
public static void main (String[] args){
String str;
System.out.println("str=" + str);
}
}
A、编译通过,打印str=null; B、编译通过,str= ; C、编译不通过,str没有初始化; D、编译出异常
每次遇到类似的问题,就感觉很模凌两可。
一、局部变量不会自动初始化赋值,使用之前必须初始化,不使用可不初始化(编译不报错);
二、全局变量(类变量)java会自动初始化赋值,八大基本类型按各自初始化值赋值,其他引用类型初始化null;
三、变量尽量初始化,局部变量务必初始化