
有关java中Int数值运算的int a =(int)str.charAt(0)与int a = Integer.parseInt(str.charAt(0)+"")的区别
我定义一个数组:Str=1234;然后用inta=(int)str.charAt(0)取得墙转int型的值1;为啥当我用判断语句if(1==a){System.out.p...
我定义一个数组:Str = 1234;然后用 int a =(int)str.charAt(0)取得墙转int型的值1;为啥当我用判断语句if(1==a) {System.out.println("恭喜,这个正确的~!");}总是不能得出结果,然后我用
int a = Integer.parseInt(str.charAt(0)+"") 然后再判断if(1==a) {System.out.println("恭喜,这个正确的~!");}却能得出结果~ 展开
int a = Integer.parseInt(str.charAt(0)+"") 然后再判断if(1==a) {System.out.println("恭喜,这个正确的~!");}却能得出结果~ 展开
2个回答
2014-02-13
展开全部
字符 '1‘ 和数字1是两回事。
因为字符在内存中以字符编码(机内码,对于数字一般等于 ASCII 码)的形式存储,字符可以被转换成一个数字,但大概是故意为之,表示数字的字符的编码和数字本身的值一定是不相等的,并且二者的差值固定
因为字符在内存中以字符编码(机内码,对于数字一般等于 ASCII 码)的形式存储,字符可以被转换成一个数字,但大概是故意为之,表示数字的字符的编码和数字本身的值一定是不相等的,并且二者的差值固定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询