写在前面:
本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议。热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶紧来看看吧!
01-JAVA中,char占2字节,16位
可在存放汉字
02-char赋值
char a='a'; //任意单个字符,加单引号。
char a='中';//任意单个中文字,加单引号。
char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。
注:只能放单个字符。
03-char运算
char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。
在JAVA中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。
示例:
char m='a'; ——a。
char m='a'+'b'; ——Ã。 //char类型相加,提升为int类型,输出对应的字符。注,在CMD.exe用输出结果是问题?,不同的编码输出显示不一样。Eclipse中须改成UTF-8。
int m='a'+'b'; ——195。//195没有超出int范围,直接输出195。
char m='a'+b; ——报错。//因为b是一个赋值的变量。
char m=197; ——Ã。//输出字符编码表中对应的字符。
char m='197; ——报错。//因为有单引号,表示是字符,只允许放单个字符。
char m='a'+1; ——b。//提升为int,计算结果98对应的字符是b。
char m='中'+'国'; ——42282。
char m='中'+'国'+'国'+'国'; ——报错。int转char有损失。因为结果已经超出char类型的范围。
int m='中'+'国'+'国'+'国'; ——86820
char m='中'+1; ——丮。//1是int,结果提升为int,输出对应的字符。
char m='中'+"国"; ——报错。String无法转换为char。
System.out.println('中'+"国"); ——中国。//没有变量附值的过程。String与任何字符用“+”相连,转换为String。
来自于CSDN博主「ibelieve618」
原文:https://blog.csdn.net/ibelieve618/java/article/details/54948729
今日学习
如果你在Java学习上遇到困难
希望有专业的老师指导
帮你高效完成咨询/简历/项目/算法/专业课
拿到心仪的offer,冲刺Java一二线班!
具体详情查看下方课程