A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码贴上
  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 错误
请问为什么啊?????

9 个回复

倒序浏览
java 不是c语言,,要严格按照数据类型的要求来,,你应该写if(a==0)

回复 使用道具 举报
要跟boolean类型判断真假吧
回复 使用道具 举报
if后面的括号中的的值要是boolean类型的,要么就true,要么就false,你这!a算是什么
回复 使用道具 举报
!a是啥
你这程序是要说明什么哦
回复 使用道具 举报
kikt 发表于 2015-6-3 22:23
java中的!运算符不能这么用吧
!后只能跟boolean类型的值,或者=这样的运算符组成!=

嗯 也就是说!后面只能是boolean类型 OK 我明白了   因为之前学的C和C++  一直都这么写过来的 这下知道了
感谢!
回复 使用道具 举报
wwb1105 发表于 2015-6-3 22:50
!a是啥
你这程序是要说明什么哦

啥也不说明 我就试一下!运算符在java里操作对象   现在知道是约定了  
回复 使用道具 举报
是啊!赞一个
回复 使用道具 举报
有用提示,我已收藏!谢谢
回复 使用道具 举报
!a不能这么用吧,boolean型返回值只有true和false两种
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马