Java中对char型数据,在内存中存的就是整数,对应一张ASCII码表 ,比如说字符 'A' 对应的是65
字符 'a' 对应的是97 ,所以char c1 = 'A' ; 等效于 char c1 = 65 ;
正是因为这样,所以字符型数据既可以作为一个字符使用,也可以作为一个整数使用,所以char型数据可以和int型数据进行运算!
比如 'A' + 1 的结果如果用char型变量接收就是 ‘B’ , 用int型变量接收就是66
char c = 'A'+1; 最后c为'B'
int i = 'A' + 1 ; 最后i为 66
虽然char型是以整数存储,但是和int型还是有一定区别的,表现在取值范围上,
char型 占2个字节 无符号 范围是0~65535
所以char c = 65536 就会报错了,因为越界了
最后你题目里的char j = 4; 这个4在ASCII码表里面对应了一个字符
比如 char j = 65; 因为字符'A' 在ASCII码表对应的是65,所以这个j 就是 'A'
不知道这样讲有没有懂? 纯手打,望采纳!!