char类型详解

2022-03-14 10:40:32 浏览数 (1)

char的初始化

char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。

但是English,Spanish,German,French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。

因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式:

//字符,可以是汉字,因为是Unicode编码

char c = 'c'; 

//可以用整数赋值

char c = 十进制数,八进制数,十六进制数等等;

//用字符的编码值来初始化

char c = 'u数字';

关于char占几个字节的问题

1.“字节”是byte,“位”是bit;

2.1byte = 8 bit ;

char在Java中是2个字节。Java采用unicode,2个字节(16位)来表示一个字符。

char类型赋值

chara = 'a';  //任意单个字符,加单引号。

chara = '中';//任意单个中文字,加单引号。

chara = 111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。

注:char只能放单个字符。 

char运算

char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。

在Java中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。

示例:

charm = 'a';

charm = 'a' 'b';   //char类型相加,提升为int类型,输出对应的字符。

intm = 'a' 'b';    ——结果是195。//195没有超出int范围,直接输出195。

charm = 'a' b;  ——会报错。//因为b是一个赋值的变量。

charm = 197;     //输出字符编码表中对应的字符。

charm = '197';     ——会报错。//因为有单引号,表示是字符,只允许放单个字符。

charm = 'a' 1;  ——输出结果是b。//提升为int,计算结果98对应的字符是b。

总结

用单引号''标识,只能放单个字符。

char char,char int——类型均提升为int,附值char变量后,输出字符编码表中对应的字符。

0 人点赞