关于java三元运算符的 int n;System.out.println(n>9?(char)(n-2+'a'):n);//如果n=12,为什么结果打印的是67呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你想打印字母?System.out.println((char) (n>9? n-2+'a' : n) );原先的代码condition ? char : int整个表达式由于不平衡,最终还是int类型 最终结果是:107System.out.println((char) (n>9? n-2+'a' : n) );n=12时,取(char)(n-2+'a')的值,就是107 int n = 12; System.out.println(n>9?(char)(n - 2 + 'a') : n);我算的也是107哈 是我理解错题目了 还是楼主发错了哈 因为Java底层是用int计算的,肯定输出的是数字啊如果你是想输出字符串的话,可以在输出语句中用Integer.toHexString(),代码应该这样写:char c = n>9 ? n-2+'a' :n;System.out.println(Integer.toHexString(c)); http://www.2cto.com/kf/201209/156069.html Date日期输出 两道继承的题目,大家来讨论下 如何分割一个大的ByteBuffer? 急救呀!!!文件操作! LRU算法 System.in问题 SUN NETBEANS问题 如何让同一个文本框内的文字拥有不同的字体及颜色? 请问有互学JAVA的好方法?(贴者给分) 哪位大虾有together5.5的key? 请问在学过C的基础上是应该先学数据结构和算法,还是先学c++或JAVA呢? JAVA的类引用相对于函数引用有什么优势呢?新手开学,觉得很摸不着头脑啊,还请各位指导一下下
condition ? char : int
整个表达式由于不平衡,最终还是int类型
System.out.println((char) (n>9? n-2+'a' : n) );
n=12时,取(char)(n-2+'a')的值,就是107
System.out.println(n>9?(char)(n - 2 + 'a') : n);
我算的也是107哈 是我理解错题目了 还是楼主发错了哈
如果你是想输出字符串的话,可以在输出语句中用Integer.toHexString(),代码应该这样写:
char c = n>9 ? n-2+'a' :n;
System.out.println(Integer.toHexString(c));