看代码:
下面代码是错误的
int a = 1;
int b = 2;
//变量c放在小括号内声明
if((var c = a + b) > 2){}
而下面代码是正确的
int a = 1;
int b = 2;
//变量c放在小括号外声明
var c = 0;
if((c = a + b) > 2){}
java这样设计的目的是出于对变量作用域的考虑,如果定义的变量作用域只是在if()小括号内,那也是无意义的。而while循环不一样,while循环括号内定义的变量是可以在循环中利用的。
本文对比了Java中在if语句小括号内与小括号外声明变量的区别,解释了这种设计背后的逻辑,即避免无意义的局部作用域,并说明了while循环中变量声明的特殊性。
16万+





