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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 松子 中级黑马   /  2013-12-7 23:38  /  1786 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

正在学Java基础,这道题一直没弄明白,求解!
下面程序执行的结果是?()
class  Test
{
public  static  void  main(String[] args)
{
        System.out.println(""+'a'+1);
}
}
A.  98
B.  a1
C.  971
D.  197


评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

7 个回复

倒序浏览
运行结果是a1~~~~如果题目中没有 ""+那么结果就是98,因为 ""+ 的作用就是使整数变成字符串形式,没有 ""+ ,'a'是char类型可以参与整数运算~~{:soso__3110130392203091378_3:}

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

回复 使用道具 举报
System.out.println(""+'a'+1);//打印a1,优先级相同,顺序执行,字符串+相连接

System.out.println('a'+1+"");//打印98,优先级相同,顺序执行,先计算'a'+1,char和int同在ASCII码中,可以计算,输出的是a的ASCII码+1,在连接字符串

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

回复 使用道具 举报 1 0

这个题的答案是a1.我们可以肯定的是,这两个是可以相加的。其次,我们要知道他们都是基础类型。最后,我们要明白一点:“向上兼容”--即:不同数据类型的数据参与运算,数据类型要强制转换,转换的方向是(unsigned)char,(unsigned)short->int->unsigned->long->unsigned long->float->double->longdouble。

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

回复 使用道具 举报
打印是a1。加号是连接符。
回复 使用道具 举报
输出结果是a1   
回复 使用道具 举报
jing迪 高级黑马 2013-12-13 23:33:57
7#
答案是b  a1
因为+号除了可以当算术运算符之外还可以当字符串连接符  而且+的运算顺序是从左往右
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马