char[] ch = {'a', 'b', 'c'};
System.out.println(ch[0]);//a
char fg = 97;
System.out.println(fg);//a
char f = '9';
System.out.println(f);//9
//int 转换为char型;
// int类型转char类型,将数字加一个‘0’,并强制类型转换为char即可。
int num = 9;
char cNumber = (char) (num + '0');//为啥要加‘0’,'0'会自动转换为int型进行计算
System.out.println(cNumber);//9
//char转换为int
char cc = '6';
int number = cc - '0';//为啥要减去0
System.out.println(number);//6
System.out.println(Integer.parseInt(String.valueOf(cc)));//6
解释:为啥加0与减去0的问题:
1)在计算机中,0-127表示数字和字符,
假设这里字符‘0’------‘9’ ,
对应int数字48--------57.
然后想要char转换为int,与'0'的偏移量则刚好是代表的数字。
想要int转换为char, 数字9想转换为为字符9,加‘0’,’0‘参与运算时,自动转换为int型,48+9=57,再强制转换为char,就是字符9
“向上兼容”--即:不同数据类型的数据参与运算,数据类型要强制转换,转换的方向是
(unsigned)char,(unsigned)short->int->unsigned->long->unsigned long->float->double->longdouble。
参考:
https://www.cnblogs.com/hongten/archive/2013/03/24/hongten_java_char_int.html