ascii表:
在计算机中所有的存储和计算都是通过二进制表示,ascii码表是一套公认的的二进制数值和对应字符的表,详情
Java 基础数据类型取值范围:
char [0, 65535]
int [-2^31, 2^31-1]
char的取值范围小于int的取值范围;char --> int 为自动类型转换; int --> char 为强制类型转换
char 转 int:
char ch = 'A';
int chAsciiNum = ch; //自动类型转换
System.out.println(chAsciiNum); // 65
int 转 char
int num = 97;
char ch = (char)num; //高精度转低精度,需要强制类型转换
System.out.println(ch); //a
将数字类型的字符转换为int类型
char ch = '9';
int num = '9' - '0'; //实际上计算的时候是默认将char类型转换为int类型 57 - 48 = 9
System.out.println(num); // 9
通过给定的字符求出相邻的字符([0,9], [a,z], [A,Z])
char ch = 'b';
ch = (char)(ch -1); //实际计算时是默认将char类型的ch转换为int类型98; 然后将 97 强转为 'a'
System.out.println(ch); // a
System.out.println('b' +1); // 99
System.out.println((char)('b' +1)); // c
判断字符串是否是连续的数字或英文
String str = "abcd";
char arr [] = str.toCharArray();
boolean isContinuous = true;
for (int i = 0; i < arr.length - 1; i++) {
//int类型和char类型作比较,实际上比较的是字符对应的二进制的值
if (arr[i] + 1 != arr[i + 1]) {
isContinuous = false;
break;
}
}
System.out.println(isContinuous); //true
System.out.println('a' == 97); //true
参考链接:
java中int与char之间的互相转化