java中'\t'与"\t"的+运算


1 public class Test{
2     
3      public static void main(){
4             System.out.println(10+"\t"+"!");
5             System.out.println(10+'\t'+"!");
6 }
7 }

 

这时你是不是认为两个输出是一样的,都是10加上以个制表符再加上一个感叹号,但实际上的输出:

这时你就很懵逼呀,为什么第二个输出这么奇怪呢?

很简单,这其实是一个基本数据类型隐式转换的结果

  • 首先,Java基本数据类型有八大类:byte,(short,char),int,long,float,double,boolean;从小范围到大范围排序,boolean例外
  • 可见当int类型的10加上char类型'\t'时,char类型的'\t'就会隐式的从char型转到int型
  • 而int类型的'\t'在十进制中代表数字9
  • 所以用算术运算符+后,便得19

 字符表

转义字符
意义
ASCII码值(十进制)
\a
响铃(BEL)
007
\b
退格(BS) ,将当前位置移到前一列
008
\f
换页(FF),将当前位置移到下页开头
012
\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
\v
垂直制表(VT)
011
\\
代表一个反斜线字符''\'
092
\'
代表一个单引号(撇号)字符
039
\"
代表一个双引号字符
034
\? 代表一个问号 063
\0
空字符(NULL)
000
\ooo
1到3位八进制数所代表的任意字符
三位八进制
\xhh
1到2位十六进制所代表的任意字符
二位十六进制


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM