Javaを"Hello"
と出力するにはどうすればよいですか?
System.out.print("Hello");
と入力すると、出力はHello
になります。私が探しているのは、"Hello"
と引用符(""
)です。
System.out.print("\"Hello\"");
二重引用符は、Java文字列リテラルのバックスラッシュでエスケープする必要があります。特別な処理が必要なその他のキャラクターには次のものがあります。
"\r"
および"\n"
"\\\\"
"\'"
"\t"
および"\f"
Java文字列および文字リテラルエスケープの完全なリストは、JLSの .10.6 にあります。
また、「\ uxxxx」という形式のUnicodeエスケープシーケンスを使用してソースコードに任意のUnicode文字を含めることができることにも注意してください。「x」は16進数です。ただし、これらは通常の文字列および文字エスケープとは異なり、文字列および文字リテラルだけでなく、Javaプログラムの任意の場所で使用できます。 JavaソースコードでのUnicodeの使用の詳細については、JLSセクション .1 、 .2 および . を参照してください。
こちらもご覧ください:
char ch='"';
System.out.println(ch + "String" + ch);
または
System.out.println('"' + "ASHISH" + '"');
文字列内の二重引用符をエスケープします:"\"Hello\""
トピックの詳細 (「エスケープシーケンス」の部分を確認)
System.out.println( "\" Hello\"");
また、ユニコード文字を使用してそれを行うことができます
System.out.print('\u0022' + "Hello" + '\u0022');
実際の引用文字の追加は、問題のほんの一部です。それを行うと、実際の問題に直面する可能性が高くなります。文字列に既に引用符、改行、またはその他の印刷できない文字が含まれている場合はどうなりますか?
次の方法ですべてを処理します。
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();
}
2つの簡単な方法があります。
\
を使用します。''
の代わりに"
のような二重引用符の代わりに2つの単一引用符を使用します例えば:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
System.out.println("\"Hello\"")
エスケープシーケンスを使用します。
\"Hello\"
これにより、「Hello」と出力されます。
注意してください、特定の文字でバックスラッシュを実行するときに注意すべきいくつかの特定の事柄があります。
System.out.println( "Hello \\"); *編集済み
上記の出力は次のようになります。
System.out.println( "Hello \" ");上記の出力は次のようになります。