作用域
大多数过程型语言都有作用域(scope)的概念。作用域决定了在其内定义的变量名的可见性和生命周期。在C和C++以及Java中,作用域有花括号的位置决定。例如:
{
int x = 12;
//Only x available
{
int q = 96;
//Both x & q avaiable
}
//Only x available
//q is "out of scope"
}
在作用域里定义的变量只可用于作用域结束之前、
任何位于“//”之后到行末的文字都是注释。
缩排格式使Java代码更易于阅读。由于Java是一种自由格式(free-form)的语言,所以,空格、制表符、换行都不会影响程序的执行结果。
尽管一下代码在C和C++中是合法的,但是在Java中却不能这样书写:
{
int x = 12;
{
int x = 96;//Illegal
}
}
编译器将会报告变量x已经定义过。所以,在C和C++里将一个较大作用域的变量“隐藏”起来的做法,在Java里是不允许的。因为Java设计者认为这样做会导致程序混乱。