我怎样才能使Java打印报价,如“你好”?
我怎样才能使Java打印"Hello"
?
当我键入System.out.print("Hello");
输出将是Hello
。 我正在寻找的是"Hello"
的引号( ""
)。
System.out.print("\"Hello\"");
双引号字符必须用Javastring文字中的反斜线进行转义。 其他需要特殊处理的字符包括:
- 回车和换行符:“\ r”和“\ n”
- 反斜杠:“\\”
- 单引号:“\”
- 水平制表和换页:“\ t”和“\ f”
JLS的3.10.6节中可以find完整的string和字符字面转义列表。
还值得注意的是,你可以在你的源代码中使用“\ uxxxx”forms的Unicode转义序列,其中“x”是hex数字在你的源代码中包含任意的Unicode字符。 然而,这些不同于普通的string和字符的转义,因为你可以在Java程序中的任何地方使用它们,而不仅仅是string和字符文字; 有关在Java源代码中使用Unicode的详细信息,请参阅JLS第3.1,3.2和3.3节。
在string中使用双引号: "\"Hello\""
更多关于这个话题 (检查'转义序列'部分)
的System.out.println( “\” 你好\ “”);
char ch ='“';
的System.out.println(CH + “string” + CH);
要么
System.out.println('''+“ASHISH”+'“');
添加实际的引号字符只是问题的一小部分; 一旦你这样做,你可能会面临真正的问题:如果string已经包含引号,换行或其他不可打印的字符会发生什么?
以下方法将处理一切:
public static String escapeForJava( String value, boolean quote ) { StringBuilder builder = new StringBuilder(); if( quote ) builder.append( "\"" ); for( char c : value.toCharArray() ) { if( c == '\'' ) builder.append( "\\'" ); else if ( c == '\"' ) builder.append( "\\\"" ); else if( c == '\r' ) builder.append( "\\r" ); else if( c == '\n' ) builder.append( "\\n" ); else if( c == '\t' ) builder.append( "\\t" ); else if( c < 32 || c >= 127 ) builder.append( String.format( "\\u%04x", (int)c ) ); else builder.append( c ); } if( quote ) builder.append( "\"" ); return builder.toString(); }
System.out.print("\"Hello\"");
您正在寻找转义序列
查看更多转义序列列表
使用转义序列。
\"Hello\"
这将打印“你好”。
有两个简单的方法:
- 在双引号之前使用反斜杠
\
。 - 使用两个单引号而不是双引号,如
''
而不是"
例如:
System.out.println("\"Hello\""); System.out.println("''Hello''");
你也可以使用unicode字符
System.out.print('\u0022' + "Hello" + '\u0022');
System.out.println("\"Hello\"")
请注意,在运行具有特定字符的反斜杠时,需要注意一些事项。
的System.out.println( “你好\\”); *编辑
上面的输出将是:
你好\
System.out.println(“Hello \”“);上面的输出将是:
你好”
android:text="import java.IO.*; \npublic class Hello \n { \nSystem.out.println(\"Hello World\"); \n}"
这可能是你会find的最好的答案:
while(True){ System.out.println("\"Hello\""); }