java中的变量转义序列

java中的变量转义序列,java,unicode,unicode-escapes,Java,Unicode,Unicode Escapes,例如: System.out.println("Hello Uni\u03C0"); System.out.println("Hello Esc \\"); 这会产生类似于 System.out.format("Hello Esc \%c",'\\'); System.out.format("Hello Esc \%c",'\"'); 你好,Uniπ 你好,Esc\ 是否有一种方法可以在循环的不同迭代过程中为03C0和\赋予不同的值 比如说 差不多 System.out.format("H

例如:

System.out.println("Hello  Uni\u03C0");
System.out.println("Hello Esc \\");
这会产生类似于

System.out.format("Hello Esc \%c",'\\');
System.out.format("Hello Esc \%c",'\"');
你好,Uniπ

你好,Esc\

是否有一种方法可以在循环的不同迭代过程中为03C0和\赋予不同的值

比如说 差不多

System.out.format("Hello Esc \%c",'\\');
System.out.format("Hello Esc \%c",'\"');
我知道这会给编译器带来错误。我想知道如何做到这一点

例如,我希望在循环的每次迭代中打印不同的unicode字符(例如从\u0000到\u00C3)

例如,我有一个函数,它返回整数的4位十六进制值:

public static String hexa(int a)
    {
    int x=a;
    String b= String.format("%x",x);
    if(b.length() == 1)
    {
    b="000"+b;
    }
    if(b.length() == 2)
    {
    b="00"+b;
    }
     if(b.length() == 3)
    {
    b="0"+b;
    }
    return b;
    }

现在,我想将\u与hexa(I)结合起来,为不同的I获取不同的unicode字符

您甚至不必将整数转换为十六进制字符串。将其保留为整数并使用
Character.toChars()

显示for循环的进一步示例:

public static void main(String [] args) {
    String lineSeparator = System.lineSeparator();
    StringBuilder sb = new StringBuilder();

    for(int i = 0x03C0; i < 0x03D0; i++) {
        sb.append(Character.toChars(i)).append(lineSeparator);
    }

    System.out.println(sb.toString());
}
最后一点澄清:

System.out.println(Character.toChars(0x03C0)[0] == '\u03C0');
输出:

π
ρ
ς
σ
τ
υ
φ
χ
ψ
ω
ϊ
ϋ
ό
ύ
ώ
Ϗ
true

没有StringBuilder的示例:

String foo = "";
for(char c : Character.toChars(0x03C0)) {
    foo += c;
}
System.out.println(foo);

没有答案?我真的很想知道如何做到这一点。我不明白,这如何解决我的问题?我想说System.out.print(“\u(变量)”);如何将变量添加到\u或\中?您不需要\u或\。所有这些工作都是将源代码转换为字符。如果运行我的示例,您将看到它打印pi字符。我将修改它以添加for循环。非常感谢!这或多或少是我需要的。唯一的问题是我不太熟悉StringBuilder类方法。append()做什么?我想我可以用十进制格式声明一个以0x为前缀的整数?这只是一种方便。我将添加一个没有它的示例,我是这样做的:for(I=20;I