gpt4 book ai didi

java - Java 中的 if/else 语句

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:33:59 25 4
gpt4 key购买 nike

class if1
{

public static void main(String args[])
{
int a = 100;
if(a==100); //Expected a compile error but did not get one.
}
}

我原以为编译器会给我一个错误,但令人惊讶的是它编译得很好。编译器忽略“if”语句是否有任何语句要处理的基本原理是什么。为什么它不会像下面的情况那样抛出错误?

class if2
{

public static void main(String args[])
{
int a = 100;
if(a == 101) //Compiler complains here...
else
{
System.out.println("in else");

}
}
}

在上面的语句中,编译器提示“if”子句没有任何要处理的东西。

谁能告诉我为什么?

最佳答案

if(a==100); //Expected a compile error but did not get one.

没有编译器错误,因为它被假定为一个空的 if block ,因为它以分号 (;) 结束

if(a == 101) //Compiler complains here...

这是一个不完整的 if block ,if 中应该至少有一个语句,否则它应该像上面那样以 semicolon(;) 结束。由于 if 不完整,因此 else 对编译器也没有任何意义。

关于java - Java 中的 if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com