为了账号安全,请及时绑定邮箱和手机立即绑定

java 判断

public class HelloWorld {

    public static void main(String[] args) {

int one = 20 ;

if(one%2==0){

        System.out.println("one是偶数");

}

}

}

public class HelloWorld {

    public static void main(String[] args) {

int one = 20 ;

if(!(one%2)){

        System.out.println("one是偶数");

}

    

}

}

为什么第二种不能成功

正在回答

3 回答

one%2,这个返回值是int型,不是布尔型,所以!(one%2)语法是错误的。

1 回复 有任何疑惑可以回复我~
#1

孔替儿 提问者

谢谢
2016-06-30 回复 有任何疑惑可以回复我~
#2

孔替儿 提问者

感觉你分析的是对的,但为啥听说过一句话 非零的数值布尔类型全为真呢
2016-06-30 回复 有任何疑惑可以回复我~
#3

损失函数 回复 孔替儿 提问者

Java里没有数值布尔类型这种类型,要么数值类型,要么布尔类型。
2016-06-30 回复 有任何疑惑可以回复我~
#4

孔替儿 提问者 回复 损失函数

不是数值布尔类型 是非零的数值都为true 有这句话吗
2016-06-30 回复 有任何疑惑可以回复我~
#5

损失函数 回复 孔替儿 提问者

Java里没有这句话
2016-06-30 回复 有任何疑惑可以回复我~
查看2条回复

是的,自己尝试一下就知道了


0 回复 有任何疑惑可以回复我~

if后面小括号里的如果是真的,才会执行后面大括号的,one%2是对的真的,!one%2==0就是假的,如果假的就不执行后面的程序了呀,望采纳。

0 回复 有任何疑惑可以回复我~
#1

孔替儿 提问者

如果one是偶数的话 那么one%2==0 !(one%2)==1 了吗 这样的话应该是if条件内为真啊 应该是执行的if语句体的啊 反之 为奇数不执行 应该是数据类型错了吧 不是布尔类型 不能这样用吧!
2016-06-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1163136    人
  • 解答问题       17551    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程
意见反馈 帮助中心 APP下载
官方微信