Java char 与 int 之间类型转换

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之间的互相转化

原创文章 19 获赞 1 访问量 949

猜你喜欢

转载自blog.csdn.net/spring_man/article/details/105373015