java学习日志--char和int的相互转换

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
posted @ 2018-01-05 13:23  Sun2Q  阅读(537)  评论(0编辑  收藏  举报