1 问题 我们先来看两个大致相同的输出 两者的区别就只是在于第一个是双引号,而第二个是单引号,但是就是因为这个,导致所输出的结果完全不一样 这是因为什么呢? 2 方法 在idea中,计算常量表达式'n’+'o’时,即拓宽原始类型转换,将两个具有字符型数值的操作数n和o提升为int数值而实现的。从char到int的拓宽原始类型转换,是将16位的char数值零扩展到32位的int,对于'n’来说,char数值是110,对于'o’来说,char数值是111,因此表达式'n’+'o’等价于110+111,结果就是221,而不是我们想要得到的'no’。 我们可以在'n’+'o’的前面加上一个“”,由此来避免出现char连接的问题。
结果与双引号的结果相同
|
3 结语 针对双引号和单引号的输出问题,提出了一种较为简单的方法,并通过实践来证明这种方法是可行的,以后会继续研究出更多解决的方法。
|