System.out.println(x + '\t' + y + '\n');
int x=3,y=5;
System.out.println(x + '\t' + y + '\n');
--------------------
为什么最后这个输出值是27呢?求解释
正在回答
你可以这样认为:如果一个表达式的开头是以字符串开始的话,他后面的转义字符不管是单引号还是双引号引起来的 都起的是转义字符的作用,例如:System.out.println("haha"+x + '\t' + y + '\n'); 和System.out.println("haha"+x + "\t" + y + "\n");输出的结果都是一样的 为:haha3 5(后面还有个换行);但是如果一个表达式的开头不是以字符串开头,就会存在两种情况:1.System.out.println(x + '\t' + y + '\n'); 转义字符是单引号引起来的情况,那么里面的转义字符就会被换算成对应的ASCII值带入公式进行计算,所以结果就是 3+9+5+10=27;2. System.out.println(x + "\t" + y + "\n");转义字符是双引号引起来的情况:此时双引号中的转义字符就起到了作用,结果为:3 5(后面还有个换行);此外System.out.println("\thaha\n");这种情况中的\t、\n也是会发挥转义字符的作用,结果为: haha(后面还有个换行);
我大概就是这样理解的,希望能帮到你;
个人观点:因为所有的ASCII码都可以用“\”加数字来表示,则\n的值为10,\t的值为9,由于前面没有双引号提示是字符串,所以后面转换为ASCII码所对应的值,这个时候System.out.println(x+'\t'+y+'\n')中的x+'\t'+y+'\n'则为一个整体,即
public static void main(String[] args) { int x=3,y=5,c; c = x + '\t' + y + '\n'; System.out.println(c); }
那么其中\n为10,\t为9,x=3,y=5,即
c = 3 + 10 + 5 + 9;
所以输出c的值为27,所以System.out.println(x + '\t' + y + '\n')最后的输出值是27
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星