java环境下char类型转为int类型

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类型。这一种方法比较好理解,但个人觉得比较复杂,运行效率相对较低。




版权声明:本文为y937498174原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。