package shugen;
/*ASCLL码表
* 48 数字0
* 49 1
* 50 2
* 51 3
* 52 4
* 53 5
* 54 6
* 55 7
* 56 8
* 57 9
*/
public class charTest {
public static void main(String[] args) {
char a='1';
int num1=a;
int num2=a-48;
System.out.println(num1);
System.out.println(num2);
/*
* 由此可见,由char转int时,需要注意-48,使字符0-9对应的ASCLL码表的值转化为十进制中的0-9
*/
System.out.println("----------------------------");
int num3=1;
char b= (char) (num3+'0');
char c=(char)(num3+48);
System.out.println(b);
System.out.println(c);
/*
* char转化为int时,必须进行显示转化,而int转化为char却可以隐式转换。
* 原理类似于:char字符是Assll中的字符,而Assll字符使用1-256个数字表示,char字符类似
* 水杯,水杯可以像桶(int)中倒水,但是桶向水杯中倒水却不行,需要显示转化。
* 由此可见,由int转char时,需要注意+48,使十进制中的0-9转化为字符0-9对应的ASCLL码表的值。
*/
}
}
运行结果:49
1
----------------------------
1
1