彻底理解JAVA字符(char)、字符串(String)、整数(int)之间的转化,很多人不理解字符(char)、字符串(String)、整数(int)之间的转化过程,有时候还容易造成概念混淆。
方法/步骤
1、罕铞泱殳char转int,指的是数字字符转整数,因为字符分数字字符(0-9)和非数字字符字符,而我们一般说的栓疠瑕愤字符转整数,指的就是数字字符转整数。字符转整数过程是,先将字符类型转化成字符串,然后再字符串转化成整数,假设c是char类型,i是int类型,s是String类型,那么将c转化成String类型的过程就是:s=String.valueOf(c);i=Integer.parseInt(s);i保存的就是c转化成int的值。例如字符‘0’转化成整数后就是0,非数字字符不能转化为整数的,转化过程会出错。char转int中容易混淆的概念:数字字符其实包含两层数字概念,一是它本身表示的数字,第二它保存时用的字符编码,很多人容易把这两层概念混淆,例如字符'1'它本身表示的数字是1,而她的字符编码(ascii码、Unicode码等编码)为49,char转int时,用的是1值,还是码值49呢?答案是1值,也就是本身表示的数字,这是为什么只有数字字符才能转化为整数的原因。那么,如果我想用字符的编码值呢,很简单,直接在字符面前加上(int)即可,例如i=(int)c;就可以把字符c的字符编码值提取出来赋值给整数i,如果c=‘1’,那么赋值后,i就等于49,而不是1了。同时,char类型可以直接当做整数来使用,例如:charc=‘1’;那么inti=c+1后,i的值就是50,而不是2,此时用的是字符的编码值来运算。如果c=‘a’,由于a的字符编码(由字符编码决定,java里的字符编码用的是unicode编码)为61,所以经过inti=c+1后,i的值为62。char转String,很简单,用s=String.valueOf(c);就可以把字符c转化为字符串保存在s里,如果c=‘1’,那么s=“1”,如果c=‘a’,那么s=“a”。int转char,这里指的也是0-9,也就是一位整数转化为字符类型,两位或两位以上的整数是不能转化为字符类型的。转化过程为:int->String->char,例如:inti;Strings=String.valueOf(i);charc=s.charAt(0);这样i就转化为字符c了。int转String,这里指的是所有的整数,例如整数1转化为字符串后是“1”,123转化为字符串后是“123”,转化很简单:Strings=String.valueOf(i);就可以把整数i转化为字符串s了。String转char,直接使用Strings;charc=s.charAt(i);其中,i为字符串中第几个字符,从0开始。或者现将String转化为char数组,然后再从char数组中获取字符:char[]cr=s.toCharArray();charc=cr[i];i为数组下标。String转int,例如“123”转化为123,直接使用Strings=“123”;inti=Integer.parseInt(s)即可。