如果条件在java中

Ran*_*Rag 3 java if-statement

If下面给出的逻辑在C语言中运行良好,但它在java中不起作用....为什么......?
它在编译时在java中出错.

class test
  {
    public static void main(String[] args)
    {
    int i;
    if(i=4)
    System.out.println("hello");
    }
  }
Run Code Online (Sandbox Code Playgroud)

Tho*_*ens 7

您需要在if语句中使用比较运算符(==)而不是赋值运算符(=).

在C中,有效赋值运算符的结果是赋值.如果您的例子是C,对由此得到的代码就相当于if(4),其计算结果为真实的说明和代码始终没有编译器的投诉执行.Java检查一些你可能意味着其他东西的情况,例如这个.


tas*_*oor 5

在 C/C++ 中,任何非零值都被认为是真,零被认为是假。也就是说, int 和 bool 是可以互换的。因此,if (i = 4)在C / C ++真实。与i获得值 4 一样,这等效于if (4)。但是在 Java 中 boolean 与 int 不同,您不能在需要 boolean 的地方使用 int。请注意,i == 4是布尔值但是i = 4整数。最后一项作业,不做比较。