相关疑难解决方法(0)

分号在'if'语句结束时

今天,经过半小时的搜索bug,我发现可以在if语句后面加一个分号而不是代码,如下所示:

if(a == b);
// Do stuff
Run Code Online (Sandbox Code Playgroud)

这基本上意味着无论a是否等于b都会完成,if语句没有任何意义.为什么Java没有给我一个错误?有什么情况可以使用吗?

java if-statement

65
推荐指数
7
解决办法
3万
查看次数

Java中的匿名代码块

Java中是否存在匿名代码块的实际用途?

public static void main(String[] args) {
    // in
    {
        // out
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不是关于命名块,即

name: { 
     if ( /* something */ ) 
         break name;
}
Run Code Online (Sandbox Code Playgroud)

.

java

62
推荐指数
6
解决办法
4万
查看次数

为什么java if语句在以分号结尾时失败

我在处理应用程序时犯了编码错误,这是对null引用的测试.我花了几个小时来发现问题是什么,但我不明白的是为什么代码表现如此.

String name = null;
String value = null;

if(name != null && value != null);
{
    System.out.println("Values not null");
}
Run Code Online (Sandbox Code Playgroud)

if语句结束了;,这是我的错误,Values not null即使很明显两个值都为空,也会打印出来.谁能解释为什么?

java

12
推荐指数
2
解决办法
3223
查看次数

标签 统计

java ×3

if-statement ×1