C++;到Java除法运算符
C++代码:C++;到Java除法运算符,java,c++,Java,C++,C++代码:if(!(数字%i)){ Java代码:if(!(数字%i==0)){ 是这样吗 正确版本: Java代码:如果((数字%i==0)){正确,是的。它们做的事情不同 在Java中,您需要进行比较,因为没有自动转换为布尔值 等效C++代码为 if (!(number % i == 0)) 或者干脆 if (number % i) 正确,是的。但是他们不会做同样的事情 在Java中,您需要进行比较,因为没有自动转换为布尔值 等效C++代码为 if (!(number % i == 0
if(!(数字%i)){
Java代码:if(!(数字%i==0)){
是这样吗
正确版本:
Java代码:
如果((数字%i==0)){
正确,是的。它们做的事情不同
在Java中,您需要进行比较,因为没有自动转换为布尔值
等效C++代码为
if (!(number % i == 0))
或者干脆
if (number % i)
正确,是的。但是他们不会做同样的事情 在Java中,您需要进行比较,因为没有自动转换为布尔值
等效C++代码为
if (!(number % i == 0))
或者干脆
if (number % i)
是的,那是正确的。 Java将
boolean
视为一种独立的数据类型
,它有两个不同的值:true和false
C++认为整数0
等于false,其他值等于true
然而,你在陈述中颠倒了逻辑
if (!(number % i)) { //returns true if number is divisible by i
if (!(number % i == 0)) { //returns true if number is not divisible by i
是的,那是正确的。 Java将
boolean
视为一种独立的数据类型
,它有两个不同的值:true和false
C++认为整数0
等于false,其他值等于true
然而,你在陈述中颠倒了逻辑
if (!(number % i)) { //returns true if number is divisible by i
if (!(number % i == 0)) { //returns true if number is not divisible by i
问题是什么?什么是正确的?
如果(数字%i!=0)
也起作用……我的建议是你在两种语言中都使用(数字%i==0)
。它起作用,而且它明确了意图。在正常情况下,如果(!(数字%i)),你不会从中获益。你的第一个版本是正确的。你的“正确版本”缺少!
这是模运算符,而不是除法运算符。问题是什么?如果(数字%i!=0)也有效,那么什么是正确的?如果(数字%i!=0)
在两种语言中都有效…我的建议是你使用(数字%i==0)
。它有效,并且可以清楚地表明意图。在正常情况下,如果(!(数字%i))。您的第一个版本是正确的。您的“正确版本”丢失了!
这是模运算符,不是除法运算符。