黑马程序员技术交流社区

标题: 求教:java基础知识 非 运算符 [打印本页]

作者: 菊花爆满山    时间: 2015-6-3 21:45
标题: 求教:java基础知识 非 运算符
代码贴上
  1. class Done
  2. {
  3.        
  4.         public static void main(String[] str)
  5.         {
  6.                
  7.                 int a=4;
  8.                 if(!a)
  9.                 {
  10.                        
  11.                         System.out.println("a="+a);
  12.                 }
  13.                 else
  14.                 {
  15.                                 System.out.println("a=="+a);

  16.                 }
  17.         }
  18. }
复制代码

这样编译出现错误
错误:一元运算符‘!’的操作数类型int 错误
请问为什么啊?????

作者: as604049322    时间: 2015-6-3 22:29
java 不是c语言,,要严格按照数据类型的要求来,,你应该写if(a==0)


作者: 18530919536    时间: 2015-6-3 22:31
要跟boolean类型判断真假吧
作者: edithe    时间: 2015-6-3 22:44
if后面的括号中的的值要是boolean类型的,要么就true,要么就false,你这!a算是什么
作者: wwb1105    时间: 2015-6-3 22:50
!a是啥
你这程序是要说明什么哦
作者: 菊花爆满山    时间: 2015-6-3 23:00
kikt 发表于 2015-6-3 22:23
java中的!运算符不能这么用吧
!后只能跟boolean类型的值,或者=这样的运算符组成!=

嗯 也就是说!后面只能是boolean类型 OK 我明白了   因为之前学的C和C++  一直都这么写过来的 这下知道了
感谢!
作者: 菊花爆满山    时间: 2015-6-3 23:05
wwb1105 发表于 2015-6-3 22:50
!a是啥
你这程序是要说明什么哦

啥也不说明 我就试一下!运算符在java里操作对象   现在知道是约定了  
作者: 朱吕龙    时间: 2015-6-3 23:24
是啊!赞一个
作者: 日薄星回    时间: 2015-6-16 17:20
有用提示,我已收藏!谢谢
作者: 风一样的少年    时间: 2015-6-16 17:27
!a不能这么用吧,boolean型返回值只有true和false两种




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2