研究 char
一、什么是char
- java中的char占两个字节,是一个单一的16位Unicode字符。
- 最小值为\u0000(即是0),最大值为\uffff(即为65,535)
思考:Java的char与C的char有什么区别
- java中的char占2个字节,16位(Unicode表示)
- C/C++ 中占1个字节,8位(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。
-
System.out.print('a'=='a'); //输出 true
-
System.out.println((int)Character.MAX_VALUE); // 输出 65535
-
System.out.println((int)Character.MIN_VALUE); // 输出 0