您的位置:首页 > 编程语言 > Java开发

JAVA笔记-字符类型(char)--特殊

2016-07-14 22:39 288 查看
JAVA中基本类型有八种,其中char类型比较特殊。

首先看下基本类型的转换:

类型转换: char–>

自动转换:byte–>short–>int–>long–>float–>double

强制转换:①会损失精度,产生误差。(比如double转long时,小数点以后的数字全部舍弃。)

②容易超过取值范围。

一种字符类型(char):

char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535)。

 注意事项:

 不能为 0 个字符。

 转义字符:\n 换行 \r 回车 \t Tab 字符 \” 双引号 \ 表示一个\

 两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运 算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

特殊点1:char 本质就是个数!

(char b = ‘a’+18; //因为char本身在码表中可以用数字表示的,‘a’和18都可以看成是字符的字面量,两个字面量相加还是字符的字面量,即运算完之后还是char,所以输出s 。

//但是,下面定义就是错的了!

char a = ‘a’;

char b = a + 18; //会报编译错误,因为JAVA编译器将a当成一个字符变量来看待的(而不是字符的字面量),字符变量参与运算时会先转换成int类型,即最后的运算结果是int类型,而接收的是char类型,所以会提示Type mismatch: cannot convert from int to char。



特殊点2:char: 编码为0的字符

注意:不要打印输出编号为0的字符!!!!

Linux操作系统中输出编号为0的字符,以后将不再进行输出,后续字符不再输出。

测试:

//测试其他类型的数组元素初始化情况

double[] ary6 = new double[4];

System.out.println(ary6[0]);//0.0

byte[] ary7 = new byte[10];

System.out.println(ary7[0]); //0

boolean[] ary8 = new boolean[10];

System.out.println(ary8[0]); //false

//char数组元素自动初始为 编号为 0 的

// 字符。编号为0 的是一个特殊的控制

// 字符, 打印不可见!是字符串的结束

// 标记,如果输出 这个字符,Linux操作

// 系统认为输出结束,后续字符不再输出

char[] ary9 = new char[5];

System.out.print((int)ary9[0]);

System.out.println(“Hello”);

//如上案例说明, 不要打印输出编号为

// 0的字符!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: