簡體   English   中英

為什么 if 語句“if(1)”在 Java 中給出錯誤,但在 C++ 中卻成立?

[英]Why does the if statement "if(1)" give error in Java but it holds true in C++?

這可能是微不足道的,但我是 Java 的初學者,所以任何幫助將不勝感激! 如果我運行程序,我得到的錯誤

public class Main {
    public static void main(String args[]) {
        if(1)
           System.out.println("Hello World!");
    }
}

Main.java:3: 錯誤:類型不兼容:int 無法轉換為布爾值 if(1) ^

但以下 C++ 代碼有效

#include <iostream>
using namespace std;
int main() {
    if(1)
        cout<<"Hello World!";
}

Java 是否不認為 0 為假,並且不認為 0 以外的任何數字為真,就像在 C++ 中一樣?

原因很簡單 - 在 java 中,每個條件都必須被解析為布爾值(真或假),而在 c/c++ 中,假是 0,而真是其他任何東西......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM