zoukankan      html  css  js  c++  java
  • 代码块和作用域

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

    • 有名字的代码块——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);
            }
    
            // 代码块可以多层嵌套。作用域的生命周期规则相同。
            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);
            }
        }
    }
  • 相关阅读:
    字符串作为map的key
    类成员函数模板特化
    函数模板特化
    linux 下第一个Libevent代码学习
    linux下libevent安装
    随笔
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    字符串处理总结之一(C#String类)
    XPath语法 在C#中使用XPath示例
    C#代码实现邮箱验证C#中及一些常用的正则表达式
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12150799.html
Copyright © 2011-2022 走看看