char类型转换为int类型:
char a='1';
int b=(int)a;
此时,输出b得到的是字符‘1’的ASCII编码49,其他数字甚至是字母也一样,按此类方法输出的都只会是ASCII编码,当然如果不强制类型转换,直接写作 int b=a;,编译也不会出错,不过输出的依旧是ASCII编码。如果想直接输出数字1,则有以下两种方法(自己比较喜欢前一种)。
a . char a='1';int b=a-‘0’; 这点很容易理解,‘1’的ASCII编码为49,‘0’的编码为48,二者做减法,输出的依旧是ASCII编码,不过此时运算后的编码就是1,也就是我们所需要的结果。至于具体编码1所代表的字符可以查表获得。这里加不加强制类型转化都可。
b. char a=‘1’;String d=String.valueOf(a);int c=Integer.parseInt(d); 在这里我们先将字符类型的变量通过String提供的方法转换为字符串类型,然后调用了Integer的方法将字符串解析为int类型。这一种方法比较好理解,但个人觉得比较复杂,运行效率相对较低。