Java中int转为char的⽅法
先看下⾯这段代码,猜猜会输出什么:
public static void main(String[] args){
int a =9;
int b =97;
System.out.println("|"+(char)a +"|"+(char)b);
}
⼤家猜 运⾏结果是什么?看看以下,是不是和你想的⼀样。
||a
通过上⾯的例⼦可以看得出来:如果把数字直接强制转为字符的时候,jvm会把数字当成字符的ASCII编码来处理。因为a字符对应的ASCII 编码就是97.
引⽤百度知道⼀些话:int 变为 charjava valueof
⼀种是⾃动转换,如char c = 97,会⾃动的将int类型的96转换成char的‘a’
另⼀种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是‘a’
为什么是a呢?因为字符‘a’对应的ASCII值是97.
强制类型转换⼀般是⽤于⼤的类型向⼩的类型转换,也叫窄化转换
⾃动转换⼀般是⽤于⼩的类型向⼤的类型转换,也叫扩展转换
但是以上变化都是把int 当为ascii编码来获得char的值。下⾯介绍⼀种⽅法,如果⼤家有其他⽅法,请多多指导。
public static void main(String[] args){
int a =9;
String aStr = String.valueOf(a);
char[] arry = CharArray();
for(int i =0; i < arry.length; i++){
System.out.print(arry[i]);
}
}
运⾏结果还是为9.如果int a = 543, 数组arry长度会变为3。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论