java中,代码块有3种
- 静态代码块
- 实例代码块
- 局部代码块
这里仅讨论局部代码块。局部代码块是指在一个方法内部中使用的{},我们知道if条件后的语句体,如果仅有一句,可以不使用{},而多句则需要使用{}
那么{}的作用是什么?其实仅仅起了分组作用,让多行代码看起来更清晰
你可以在任意一处代码,添加上{},通常并不影响结果
public static void main(String[] args) {
{
System.out.println("Hello World!");
}
System.out.println("abc");
}
分组中的语句,可以引用分组外的变量,反过来却不可以,因为{}中的变量随着跳出{}就被释放。
我们利用这个特点,完成“在一个方法中定义2次同名变量”
public static void main(String[] args) {
{
int a = 10;
System.out.println(a);
}
int a = 20;
System.out.println(a);
}
上述代码的main中定义了2次int a却并不报错。
此外,{}可以嵌套,例如以下代码
public static void main(String[] args) {
{
{
int a=0;
System.out.println(a);
}
int a = 10;
System.out.println(a);
}
int a = 20;
System.out.println(a);
}
由以上特点,合理利用局部代码块,可以让代码看起来更规范,但不要滥用。