String str = "123abc";
for(int i =0, length = str.length(); i<length;i++)
{
System.out.println("char: "+str.charAt(i));
System.out.println("ASCII: "+(int)str.charAt(i));
if (Character.isDigit(str.charAt(i)))
System.out.println("Character.isDigit(str.charAt(0)) - yes");
else
System.out.println("Character.isDigit(str.charAt(0)) - no");
if(str.charAt(i) > 48 && str.charAt(i) <57)
System.out.println("str.charAt(0) > 48 && str.charAt(0) <57 - yes");
else
System.out.println("str.charAt(0) > 48 && str.charAt(0) <57 - no");
if((int)str.charAt(i) > 48 && (int)str.charAt(i) <57)
System.out.println("(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - yes");
else
System.out.println("(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - no");
if(str.charAt(i) <= '9' && str.charAt(i) >= '0')
System.out.println("str.charAt(0) <= '9' && str.charAt(0) >= '0' - yes");
else
System.out.println("str.charAt(0) <= '9' && str.charAt(0) >= '0' - no");
}
输出结果:
char: 1
ASCII: 49
Character.isDigit(str.charAt(0)) - yes
str.charAt(0) > 48 && str.charAt(0) <57 - yes
(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - yes
str.charAt(0) <= '9' && str.charAt(0) >= '0' - yes
char: 2
ASCII: 50
Character.isDigit(str.charAt(0)) - yes
str.charAt(0) > 48 && str.charAt(0) <57 - yes
(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - yes
str.charAt(0) <= '9' && str.charAt(0) >= '0' - yes
char: 3
ASCII: 51
Character.isDigit(str.charAt(0)) - yes
str.charAt(0) > 48 && str.charAt(0) <57 - yes
(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - yes
str.charAt(0) <= '9' && str.charAt(0) >= '0' - yes
char: a
ASCII: 97
Character.isDigit(str.charAt(0)) - no
str.charAt(0) > 48 && str.charAt(0) <57 - no
(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - no
str.charAt(0) <= '9' && str.charAt(0) >= '0' - no
char: b
ASCII: 98
Character.isDigit(str.charAt(0)) - no
str.charAt(0) > 48 && str.charAt(0) <57 - no
(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - no
str.charAt(0) <= '9' && str.charAt(0) >= '0' - no
char: c
ASCII: 99
Character.isDigit(str.charAt(0)) - no
str.charAt(0) > 48 && str.charAt(0) <57 - no
(int)str.charAt(0) > 48 && (int)str.charAt(0) <57 - no
str.charAt(0) <= '9' && str.charAt(0) >= '0' - no