Java编程中的变量确定赋值与多线程机制解析
1. 变量确定赋值规则
1.1 for 语句中的变量赋值
在 for 语句中,变量 V 的赋值状态遵循以下规则:
- continue 语句前的赋值状态 :假设 V 在包含的语句之前肯定未赋值,那么在以该 for 语句为 continue 目标的每个 continue 语句之前,V 肯定未赋值。
- 包含语句前的赋值状态 :V 在包含的语句之前是否赋值取决于以下两种情况:
- 若存在条件表达式,且当条件表达式为真时 V 在其后已赋值或未赋值,则 V 在包含的语句之前相应地已赋值或未赋值。
- 若不存在条件表达式,且 V 在 for 语句的初始化部分之后已赋值或未赋值,则 V 在包含的语句之前相应地已赋值或未赋值。
- 递增部分前的赋值状态 :V 在 for 语句的递增部分之前是否赋值,取决于 V 在包含的语句之后是否赋值,以及在以该 for 语句为 continue 目标的每个 continue 语句之前是否赋值。
1.1.1 初始化部分
初始化部分的规则如下:
- 若初始化部分是局部变量声明语句,则遵循特定规则(此处未详细提及)。
- 若初始化部分为空,则 V 在初始化部分之后是否赋值,与在初始化部分之前是否赋值相同。
- 若初始化部分不为空,有以下三条规则:
- V 在初始化部分之后是否赋值,取决于在初始化部分的最后一个表达式语句之后是否赋值。
- V 在初始化部分的第一个表达式语句之前是否赋
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



