public static void main(String[] args) {
c=(char)-70;
System.out.println(c);
}
结果为何是个'?'号,JAVA负数转字符串,是怎么转的?

解决方案 »

  1.   

    public class Test1 { public static void main(String[] args) {
    long abc = -1000; String str = Long.toString(abc);
    System.out.println(str);

    }}
      

  2.   

    不过,我想把它内部是怎么算出来,它的二进制码给求出来,
    比如刚刚哪个 -70 把它转换成CHAR后,输出的是个“?”号
    为什么是个?号而不是其他的呢。
      

  3.   

    你这是强制转换,不改变数据内容,改变读取方式。c对应编码为-70的字符,因为在字符集中找不到这个字符所以显示?
    所以如果想将一个数字以字符串形式输出不能如此转换
    int abc = 48;
         System.out.println((char)abc);
            System.out.println(Integer.toString(abc));
      

  4.   

    int i = -70;
    System.out.println(Integer.toString(i));