我怎样才能使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\" 

这将打印“你好”。

有两个简单的方法:

  1. 在双引号之前使用反斜杠\
  2. 使用两个单引号而不是双引号,如''而不是"

例如:

 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(\&quot;Hello World\&quot;); \n}" 

这可能是你会find的最好的答案:

 while(True){ System.out.println("\"Hello\""); }