普通代码块在方法中按书写顺序执行,是仅限于方法内部的无修饰符大括号语法结构,用于限制变量作用域和逻辑分组,不参与类或对象初始化流程。

普通代码块在方法中按书写顺序执行,和普通语句一样,谁写在前面就先运行谁。
普通代码块就是局部作用域的“小括号”
它只是用 { } 包裹的一段代码,不参与类加载或对象初始化流程,纯粹是方法执行过程中的一个语法结构。
- 定义位置必须在方法内部(包括 main 方法、实例方法、静态方法)
- 不能加任何修饰符(比如 static、public 等),否则就不是普通代码块了
- 主要用途是限制变量作用域,避免命名冲突,或让逻辑分组更清晰
执行时机完全取决于它在方法里的位置
Java 虚拟机执行方法时,从上到下逐行解释字节码。普通代码块没有特殊触发机制,它就像一条条语句,按出现顺序自然执行。
- 如果写在方法开头,就最先执行
- 如果写在 return 后面,根本不会执行(编译会报错)
- 多个普通代码块之间,谁靠前谁先跑,和 if、for、赋值语句一样平级
变量作用域是它最实在的作用
大括号内声明的变量只在该块内有效,出了大括号就不可访问,也不会和外部同名变量冲突。
- 例如:{ int x = 10; System.out.println(x); } // x 只在这里能用
- 外面再写 int x = 20; 完全没问题,两者互不影响
- 这种隔离对临时计算、资源清理(比如 try-with-resources 的隐式块)很实用
和构造块、静态块完全无关
普通代码块不随类加载触发,也不随 new 对象触发。哪怕你写了 100 个普通代码块,只要对应的方法没被调用,它们一个都不会动。
- 它不参与“类初始化”或“对象初始化”的任何环节
- 不会影响静态块、构造块、构造方法的执行顺序
- 它的生命周期就是方法本次执行的那段时间
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











