所以这是我的代码:
public class charTest
{
public static void main(String[] args)
{
String bigNum = ("789");
char s1 = bigNum.charAt(0);
System.out.println(s1);
System.out.println(s1-1);
}
}
它在第一行打印7,然后在下一行打印出54,为什么?我有一个非常长的数字,我有一个字符串,我在其中单独引用个别数字。我刚做了减法测试,看它是否正常工作。有什么见解吗?
答案 0 :(得分:5)
7
(字符)的unicode点值为55
。减去1
会产生54
第一个println
语句使用char
参数,而第二个使用int
(从int
减去char
个{{3}转到int
)
获得6
你可以做到的
System.out.println(Character.getNumericValue(s1) - 1);
答案 1 :(得分:0)
s1是一个char并打印出来。 s1 - 1被隐式地转换为int作为int打印。即,正在调用toString方法的值为54。