黑马程序员技术交流社区

标题: 为什么类型不是想象中的样子呢? [打印本页]

作者: 陈延真    时间: 2013-6-12 22:54
标题: 为什么类型不是想象中的样子呢?
//直接输出的结果是char类型的。
                int x = 3;           
                temp = x>3?'a':98;
                System.out.println(temp);


作者: 杜光    时间: 2013-6-12 23:31
  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. }
复制代码
你想要什么类型的直接在定义变量的时候把基本类给定义一下,不过前提是你的值是兼容你定义的基本类的
作者: 张承富    时间: 2013-6-13 16:45
不对吧,是不是你之前的改了没编译,你这个肯定输出98,因为x>3 为false
作者: shang1jk    时间: 2013-6-13 16:53
之前的代码定义过temp的类型了吧,已经定义成了char
作者: shang1jk    时间: 2013-6-13 16:53
之前的代码定义过temp的类型了吧,已经定义成了char
作者: Heart    时间: 2013-6-16 12:14
因为你定义的 temp 是char类型的,对于表达式temp = x>3 ? 'a':98;
由于x>3返回false,所以取的值是98,而98对应的字符就是b
作者: 孙百鑫    时间: 2013-6-22 01:33
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~




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