为什么if语句“是”;如第(1)款所述;在Java中给出错误,但在C+中为真+;?
这可能是微不足道的,但我是Java初学者,因此任何帮助都将不胜感激! 运行该程序时出现的错误为什么if语句“是”;如第(1)款所述;在Java中给出错误,但在C+中为真+;?,java,c++,if-statement,Java,C++,If Statement,这可能是微不足道的,但我是Java初学者,因此任何帮助都将不胜感激! 运行该程序时出现的错误 public class Main { public static void main(String args[]) { if(1) System.out.println("Hello World!"); } } 是 Main.java:3:错误:不兼容的类型:int无法转换为布尔值 如果(1) ^ 但是C++中的下面的代码工作 #include
public class Main {
public static void main(String args[]) {
if(1)
System.out.println("Hello World!");
}
}
是
Main.java:3:错误:不兼容的类型:int无法转换为布尔值
如果(1)
^
<>但是C++中的下面的代码工作
#include <iostream>
using namespace std;
int main() {
if(1)
cout<<"Hello World!";
}
#包括
使用名称空间std;
int main(){
如果(1)
cout原因很简单-在java中,每个条件都必须解析为布尔值(true或false)在C/C++中,假是0,而真是其他任何东西……< /P>不同的语言。不同的规则。Java和C++是完全不同的语言。不要期望一个工作的工作在另一个语言中。它们有不同的编码风格,并且你应该忘记你甚至知道C++,只要你学习java,如果java是你的第一语言。这将有助于你进入Java的思维框架。我不同意“这个问题是基于观点的”这一接近的理由这个问题是如何基于意见的?这个问题是关于不同的规则,不同的语言。这些规则是有定义的,不受意见的约束。@NathanOliver:是的,我同意,将它作为一个复制品,与你链接到的目标,将比这个“基于意见”的问题更准确@ AlgRdasPrIDyIUS,现在它是一个副本。要澄清:在C++中,其他整数类型隐式转换为<代码>布尔O/COD>。