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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈延真 中级黑马   /  2013-6-12 22:54  /  1629 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//直接输出的结果是char类型的。
                int x = 3;           
                temp = x>3?'a':98;
                System.out.println(temp);

评分

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

查看全部评分

6 个回复

倒序浏览
  1. class  Demo2
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                   int x = 3;           
  6.           int temp1 = x>3?'a':98;
  7.                   char temp2 = x>3?'a':98;
  8.                   String temp3 =x>3?'a':98;

  9.           System.out.println(temp1);
  10.                   System.out.println(temp2);

  11.         }
  12. }
复制代码
你想要什么类型的直接在定义变量的时候把基本类给定义一下,不过前提是你的值是兼容你定义的基本类的

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1 赞一个!

查看全部评分

回复 使用道具 举报
不对吧,是不是你之前的改了没编译,你这个肯定输出98,因为x>3 为false
回复 使用道具 举报
之前的代码定义过temp的类型了吧,已经定义成了char
回复 使用道具 举报
之前的代码定义过temp的类型了吧,已经定义成了char
回复 使用道具 举报
因为你定义的 temp 是char类型的,对于表达式temp = x>3 ? 'a':98;
由于x>3返回false,所以取的值是98,而98对应的字符就是b

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1 很给力!

查看全部评分

回复 使用道具 举报
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马