输出有差别
来源:3-15 编程练习
残泪
2021-05-15 15:37:20
char c='S';
System.out.println(+c);//输出是87,而加了”c=“就成了”s“,//
是为啥呢?
2回答
好帮手慕阿园
2021-05-15
同学你好,Jason什么鬼同学说的是正确的,这样输出是将char类型数据转为int类型的输出,所以输出的是83,但是加上c=后,+变成了拼接字符,就会将原本的数据进行输出,同学可以参考Jason什么鬼同学贴出的代码
祝学习愉快~
Jason什么鬼
2021-05-15
先更正一下,输出应该是83。
如果想要得到c=83这个结果需要运行下面的代码:
char c='S';
System.out.println("c="+(int)c);
你所提到的,
如果只System.out.println(+c)的时候会默认打印出 'S' 所对应的int类型,因为想要合理的进行相加的操作,只能将char类型变量转换为其int类型 。
如果变成("c="+c), 前面的"c="是一个String类型,所以决定了后面的c将不会以int形式出现,取而代之只能以原本的char类型出现,这样才能够相加 (String + char) 。
相似问题