JAVA:switch 语句定义变量重名错误
Java 在使用 switch 语句时,有时会出现变量重名的问题,此时只需要在case :后面加上{ }中括号,使变量成为局部变量就没有问题了。
其实这样的定义是有问题的,之所以会提示变量的重复定义,主要是因为 switch 中的多个case语句实际上命名空间是一样的。
如下代码:
switch(c){
case '+':
int res =d1+d2;
data.push(res);
break;
case '-':
res = d2-d1;
data.push(res);
break;
case '*':
res =d1*d2;
data.push(res);
break;
case '/':
res = d2/d1;
data.push(res);
break;
}
int res=0;
switch(c){
case '+':
int res =d1+d2;
data.push(res);
break;
case '-':
res = d2-d1;
data.push(res);
break;
case '*':
res =d1*d2;
data.push(res);
break;
case '/':
res = d2/d1;
data.push(res);
break;
}