不能理解以下程序的输出

时间:2014-06-29 04:31:18

标签: java

class Test1{

    public static void main(String args[]){
        String str = "A\141B";
        System.out.println(str);
    }

}

O / P:AaB

class Test2{

    public static void main(String args[]){
        String str = "A\659B";
        System.out.println(str);
    }

}

O / P:A59B

任何人都可以向我解释逻辑。谢谢。

1 个答案:

答案 0 :(得分:2)

在JLS中对此进行了解释 - 请参阅第3.10.5节。

第二个例子有点棘手。字符串转义\65以Unicode(或ASCII)格式提供65八进制== \u0035 == '5'

但是,如果你通过有条理的方式处理这两个例子,那么你的意思就会变得清晰。