int temp = Integer.parseInt(count); temp的生命周期就一句话,这样的代码有意义吗?既然没有意义,干脆就不让你过。我这样想而已。
本人初学java一个多月吧。 对于楼主提出的问题我的意见是: 一般情况下, public class Test { public static void main(String[] args) { String count = "12"; if(count!=null) int temp = Integer.parseInt(count);//此处的语句加不加大括号是没关系的,但是具体能不能执行 //我就不知道了。呵呵在网吧。没办法测试。不好意思。 } }
public class Test { public static void main(String[] args) { String count = "12"; if(count!=null) int temp = Integer.parseInt(count);////////////////<----- } } 错在这里,if 后面如果你非要只写一句话那它就只能是一条语句或者一个表达式,不能有声明,如果有声明的话,实际就相当于两句了,就要用{}括起来
if(count!=null){
int temp = Integer.parseInt(count);
}
加对大括号就可以了
至于为什么 不知道不过不管判断后面是不是只有一句代码 加大括号是良好的习惯 有利于代码的阅读
if(count!=null)
int temp = Integer.parseInt(count);
这个吗?当你if后面没写大括号的时候,分号之前的语句当作为{}内容
可以我就是有些不解。编译器这样为什么不让过......
默认for啊,while,if啊后面只有一句话的时候可以不加大括号的,但是不能定义新的局部变量。估计是这个固定。只有在{}中才能定义局部变量
对于楼主提出的问题我的意见是:
一般情况下,
public class Test {
public static void main(String[] args) {
String count = "12";
if(count!=null)
int temp = Integer.parseInt(count);//此处的语句加不加大括号是没关系的,但是具体能不能执行 //我就不知道了。呵呵在网吧。没办法测试。不好意思。
}
}
public static void main(String[] args) {
String count = "12";
if(count!=null)
int temp = Integer.parseInt(count);////////////////<-----
}
}
错在这里,if 后面如果你非要只写一句话那它就只能是一条语句或者一个表达式,不能有声明,如果有声明的话,实际就相当于两句了,就要用{}括起来