块(block)的概念
块(即复合语句)是指由一对花括号括起来的若干条简单的Java语句,块确定了变量的作用域,一个块可以嵌套在另一个块中。下面就是在main方法块中嵌套另一个语句块的示例,见图1。
public class Test{
public static void main(String args[])
{
int n;
{
int k;
System.out.println("块嵌套示例。");
}
}
}
图1
在不嵌套的程序块中可以多次声明相同变量,如下段程序是合法的,见图2。
public class Test{
public static void main(String args[])
{
{
int k = 1;
System.out.println(k);
}
{
int k = 2;
System.out.println(k);
}
}
}
图2
但是,不能在嵌套的两个块中声明同名的变量。例如,下面的代码就有错误,无法通过编译,见图2。
public class Test{
public static void main(String args[])
{
int n;
{
int k;
int n;
System.out.println("块嵌套错误示例。");
}
}
}
图3