因为if/else两个分支总会有一条把level初始化了。
因为level没有赋值给任何其他的变量
如果
char tmp;
....
...
tmp = level;// 此时就报错,因为level没有初始化,对于赋值给tmp而言,没有意义
level是个char类型的字符串,java有个机制是确保每一个基本变量都正确的进行了初始化。以下是java每个基本变量默认初始化的值。byte、short、int默认都为0;long为0L,char为'u0000'(你可以打印“u0000”)。float,0.0f,double:0,boolean:false,所有引用类型:null;