黑马程序员技术交流社区
标题: Java基础的一个问题 [打印本页]
作者: 松子 时间: 2013-12-7 23:38
标题: Java基础的一个问题
正在学Java基础,这道题一直没弄明白,求解!
下面程序执行的结果是?()
class Test
{
public static void main(String[] args)
{
System.out.println(""+'a'+1);
}
}
A. 98
B. a1
C. 971
D. 197
作者: 王尧 时间: 2013-12-7 23:47
运行结果是a1~~~~如果题目中没有 ""+那么结果就是98,因为 ""+ 的作用就是使整数变成字符串形式,没有 ""+ ,'a'是char类型可以参与整数运算~~{:soso__3110130392203091378_3:}
作者: 胡永城 时间: 2013-12-7 23:53
System.out.println(""+'a'+1);//打印a1,优先级相同,顺序执行,字符串+相连接
System.out.println('a'+1+"");//打印98,优先级相同,顺序执行,先计算'a'+1,char和int同在ASCII码中,可以计算,输出的是a的ASCII码+1,在连接字符串
作者: 吴琼cola 时间: 2013-12-8 09:56
这个题的答案是a1.我们可以肯定的是,这两个是可以相加的。其次,我们要知道他们都是基础类型。最后,我们要明白一点:“向上兼容”--即:不同数据类型的数据参与运算,数据类型要强制转换,转换的方向是(unsigned)char,(unsigned)short->int->unsigned->long->unsigned long->float->double->longdouble。
作者: hahh 时间: 2013-12-8 10:03
打印是a1。加号是连接符。
作者: 李洋- 时间: 2013-12-10 22:15
输出结果是a1
作者: jing迪 时间: 2013-12-13 23:33
答案是b a1
因为+号除了可以当算术运算符之外还可以当字符串连接符 而且+的运算顺序是从左往右
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |