代码块和作用域
大括号括起来的就是代码块 有名字的代码块——if-else 代码块、for 循环代码块、main方法代码块 代码块也叫体,例如 for 循环体、main方法体 代码块可以嵌套 变量的作用域 代码块里可以创建和使用变量 代码块里可以使用外层代码块的变量 但是在外层代码块里不可以使用内层代码块里的变量。(是否可以使用变量,也称为变量在某个代码块的 可见性。 也就是说,外层代码块创建的变量对内层代码块可见,内层代码块中创建的变量对外层代码块不可见。) 内层命名空间(或者说是作用域)不可以重复定义外层代码块的变量,但是可以使用外层代码块的变量 代码块无论嵌套多少层,都遵循以上变量的可见性的规则。 作用域和命名空间 同一个命名空间中的变量不可以重名 为了避免变量名冲突,所以必须有命名空间 public class CodeBlock { public static void main(String[] args) { // 内部代码块里的作用域(命名空间)是可以使用到外部代码块中的变量的。 // 反过来,外部无法使用到代码块作用域中的变量。 // 代码块的作用域随着代码块的执行的结束而结束。 int outer = 100; { int inner = 10; System.out.println("outer的值是" + outer + "。 inner的值是" + inner); } /