对于数字(0 ~9)的转化
初始化数字:
int num = 7;
char ch = '9';
String st = "520";
char转为int:
相当于是ASCLL码相减,得到的值恰好和十进制数相等,仅限0-9。
int num1 = ch - '0';//相当于是ASCLL码相减,得到的值恰好和十进制数相等,仅限0-9。
String转为int:
int num2 = Integer.parseInt(st);
int转为char:
相当于是ASCLL码相加,得到的值恰好和十进制数相等,仅限0-9。
char ch1 = (char) (num+'0');//相当于是ASCLL码相加,得到的值恰好和十进制数相等,仅限0-9。
特别注意:
char ch1 = (char) (num);
/*
*强转不行,因为数字0-9的ascll码不是 0-9,而是48-57
* 所以这里强转相当于得到的是ascll码为7的字符
*/
String不能直接转为char,但可以用以下方法实现:
//st不能转为char,可以用遍历单独找出。
for (int i = 0; i < st.length(); i++) {
ch1 = st.charAt(i);
System.out.print(ch + " ");
}
//或者将st转化为char类型的数组
char ch2[] = st.toCharArray();
for(int i=0;i<ch2.length;i++){
System.out.print(ch2[i]+" ");
}
int转为String:
建议使用效率最高的:String st3 = String.valueOf(num);
String st1 = Integer.toString(num);
//或者
String st2 =""+num;
//或者
String st3 = String.valueOf(num);//效率最高
char转为String:
与int转为String类似
//char 转String 和int类似。
st1=Character.toString(ch);
st2=""+ch;
st3=String.valueOf(ch);
}