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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ぐ⒏夠淘氣 中级黑马   /  2013-10-10 14:37  /  1621 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ぐ⒏夠淘氣 于 2013-10-10 15:07 编辑

在三元运算中,类型是只有布尔型的吧?(不知道这个是不是这么理解的?)
下面是个小小的程序的代码有个小小的问题:

以上的运行结果是正确的,但是我又试了下吧string换成char来定义变量z,结果就不行了,无论冒号那里怎么改怎么换结果都不对,可是我用int去接收时把冒号前后换成数字结果就可以显示正常,那为什么就是char不可以呢?要不是非法转换要不是不兼容的类型,这是为什么呢?
难道在三元运算中不可以用char?

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

4 个回复

倒序浏览
  1.         public static void main(String[] args) {
  2.                 // TODO Auto-generated method stub
  3.                 int x=1;
  4.                 int y=10;
  5.                 char z=x==y?'a':'d';
  6.                 System.out.println(z);

  7.         }
复制代码
可以运行啊   你运算的结果是什么,你用什么接收就对了,你应该用char接收的双引号把,那是字符串不是字符了
回复 使用道具 举报
你这样操作实际上是把问号后面双引号中的内容赋给z。即:x==y吗?等于就把“==”给z,不等于就把“!=”给z。但是z被你定义为了char类型。只能用单引号‘’。用双引号就成了字符串了得用String

评分

参与人数 1技术分 +1 收起 理由
To + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
哦,我打的是双引号……
回复 使用道具 举报
FFF 金牌黑马 2013-10-10 15:26:06
报纸
使用Char要使用单引号'',不能使用双引号。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马