黑马程序员技术交流社区
标题:
字符,字符串分别与整数的一个问题?
[打印本页]
作者:
铿锵科技
时间:
2013-2-9 20:03
标题:
字符,字符串分别与整数的一个问题?
本帖最后由 张向辉 于 2013-2-10 13:27 编辑
System.out.println('a'+1);//输出98为什么不输出b
System.out.println("a"+1);//为什么输出a1
作者:
炉海佳
时间:
2013-2-9 20:29
('a'+1);这里的'a'字符参与运算会当成与之对于的97,所以97+1就是98 这里的加号是运算符,所以会相加,如果想输出b ,可以加上char转化为字符, 即:(char)('a'+1);
("a"+1)这里的"a"是字符串,字符串和“+”相连接加号都是字符串连接符,不是运算符,所以不会参与运算,a和1相连也就是a1 希望能帮到你
作者:
黄玉昆
时间:
2013-2-9 20:39
我的理解是:对于第一条语句,因为你是用字符a和常量相连的,那么就会将字符a转换成a在ASCⅡ中对应的值为97,然后计算和1相加的之后再打印输出
对于第二条语句,是字符串与常量相连接,会将常量转换成字符串,然后在输出,所以结果是a1
作者:
王勇文
时间:
2013-2-10 01:29
我组织一下语言, 可能我说得不太准确。
第一个System.out.println('a'+1);//输出98为什么不输出b 这应该是运算类型提升到int类型,系统默认类型是int类型
你要输出为b , 要强转类型才得。
第二个 System.out.println("a"+1);//为什么输出a1 这个是真心郁闷了, 字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2