代码块和做用域

大括号括起来的就是代码块spa

  • 有名字的代码块——if-else 代码块、for 循环代码块、main方法代码块
  • 代码块也叫体,例如 for 循环体、main方法体
  • 代码块能够嵌套

变量的做用域code

  • 代码块里能够建立和使用变量
  • 代码块里能够使用外层代码块的变量
  • 可是在外层代码块里不能够使用内层代码块里的变量。(是否能够使用变量,也称为变量在某个代码块的可见性。也就是说,外层代码块建立的变量对内层代码块可见,内层代码块中建立的变量对外层代码块不可见。)
  • 内层命名空间(或者说是做用域)不能够重复定义外层代码块的变量,可是能够使用外层代码块的变量
  • 代码块不管嵌套多少层,都遵循以上变量的可见性的规则。

做用域和命名空间blog

  • 同一个命名空间中的变量不能够重名
  • 为了不变量名冲突,因此必须有命名空间
public class CodeBlock {
    public static void main(String[] args) {
        // 内部代码块里的做用域(命名空间)是能够使用到外部代码块中的变量的。
        // 反过来,外部没法使用到代码块做用域中的变量。
        // 代码块的做用域随着代码块的执行的结束而结束。
        int outer = 100;
        {
            int inner = 10;
            System.out.println("outer的值是" + outer + "。 inner的值是" + inner);
        }

        // 代码块能够多层嵌套。做用域的生命周期规则相同。
        int a1 = 1;
        {
            int a2 = a1 + 1;
            {
                int a3 = a2 + 1;
                System.out.println("a3=" + a3);
            }
            {
                int a3 = a2 + 10;
                System.out.println("a3=" + a3);
            }
            System.out.println("a2=" + a2);
        }
    }
}
相关文章
相关标签/搜索