java - if 子句中的变量声明

标签 java if-statement variable-declaration

if(someCondition)
  int a=10;//Compilation Error
else if(SomeOtherCondition){
int b=10;//no compilation Error
}

为什么会这样。为什么第一种情况会出现编译错误。如果我放上大括号,则不会出现编译错误,但对于 if 语句,如果它是一个语句,大括号是可选的。

最佳答案

您需要在 if 语句 中定义 int a 的范围,它将用花括号 {} 定义。

if(someCondition){
  int a=10; // works fine
}else if(SomeOtherCondition){
  int b=10; //works fine
}

关于java - if 子句中的变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15871379/

相关文章:

java - 手持设备无法连接到 GoogleApiClient

java - 扩展 JPA 实体以添加属性和逻辑

python - 我不明白为什么我的 if 循环不能正常工作

java - if-else 中的局部变量初始化问题(Java)

java - 将变量声明为多个接口(interface)

java - 继承和组合之间的区别?

java - 为什么 JNA 的简单使用会导致 Mac OS X 上的 fork() ?

c++ - 聪明的 if/else 结构

javascript - 在多行变量声明的第一行末尾写入逗号会在 Javascript 中引发错误

javascript - 使用变量源时无法将属性 'src' 设置为 null