[java] 为什么以下代码运行后没有任何结果?万分感谢!!

2025-01-06 11:23:57
推荐回答(5个)
回答1:

else属于第二个if的,你的第一个if就没进去,所以后面的代码都不执行,可以改为如下:
class Demo
{
public static void main(String[] args)
{
int m=0,n=3;
if(m>0){
if(n>2)
System.out.println("A");
}
else
{
System.out.println("B");
}
}
}

回答2:

因为你定义了m=0;当if(m>0)时条件不成立;
然后程序运行结束,要是你的if后面有else的话它会进入else执行m<=0的情况;
而现在你没有所以它执行到if(m>0)不成立时就结束了。

回答3:

提一句,你这代码格式要注意了 虽然 if判断 的循环体中只有一句话的时候可以省略{},但是为了方便阅读还是最好带上的好.而且注意{}的上下对齐和代码的换行
class Demo{
public static void main(String[] args){
int m=0,n=3;
if(m>0){//这里是最外层判断,m如果小于等于0不会进入
if(n>2){//m大于0执行此判断
System.out.println("A"); //n>2执行这里 输出A
}else{
System.out.println("B");//n小于等于2则执行这里 输出B
}
}
}
}

回答4:

这段代码有两层判断,外层判断是不是大于0,如果大于0才会执行里层的代判断
建议写if语句的时候用{}括起来,这样可以很直观的看出来,例如
if (m > 0){
if (n > 2){
System.out.println("A");
}else {
System.out.println("B");
}
}

回答5:

1)
没有public的main方法不会被执行的

2) 只有else没有if是语法不允许的。。。

public class Demo {
public static void main(String[] args) {
int m = 0, n = 3;
if (m > 0)
if (n > 2)
System.out.println("A");
else {
System.out.println("B");
}
}
}