「こんにちは」のようなJavaの印刷引用を作成するにはどうすればよいですか?
-
27-09-2019 - |
質問
Javaを印刷するにはどうすればよいですか "Hello"
?
入力するとき System.out.print("Hello");
出力はなります Hello
. 。私が探しているのはです "Hello"
引用符で(""
).
解決
System.out.print("\"Hello\"");
二重引用符のキャラクターは、文字通りのJava文字列のバックスラッシュで逃げる必要があります。特別な治療が必要な他のキャラクターは次のとおりです。
- キャリッジリターンとニューライン:
"\r"
と"\n"
- バックスラッシュ:
"\\\\"
- 単一の引用:
"\'"
- 水平タブとフォームフィード:
"\t"
と"\f"
Java文字列と文字の文字通りのエスケープの完全なリストは、 セクション3.10.6 JLSの。
また、「x」が16進数桁である「 uxxxx」形式のユニコードエスケープシーケンスを使用して、ソースコードに任意のユニコード文字を含めることができることに注意してください。ただし、これらは通常の文字列やキャラクターの脱出とは異なり、Javaプログラムのどこでも、文字列やキャラクターのリテラルだけでなく使用できるという点です。 JLSセクションを参照してください 3.1, 3.2 と 3.3 JavaソースコードでのUnicodeの使用に関する詳細について。
参照:
他のヒント
char ch='"';
System.out.println(ch + "String" + ch);
または
System.out.println('"' + "ASHISH" + '"');
あなたの文字列の二重引用符を逃がす: "\"Hello\""
トピックの詳細 (「エスケープシーケンス」の部分を確認してください)
Unicode文字も使用することもできます
System.out.print('\u0022' + "Hello" + '\u0022');
System.out.println("\"Hello\"");
実際の引用文字を追加することは、問題のごく一部にすぎません。それを行ったら、本当の問題に直面する可能性があります。文字列に既に引用符、ラインフィード、または他の印刷できない文字が含まれている場合はどうなりますか?
次の方法ですべての世話をします:
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.println("\"Hello\"")
2つの簡単な方法があります。
- バックスラッシュを使用します
\
二重引用符の前。 - のような二重引用符の代わりに、2つの単一の引用を使用します
''
それ以外の"
例えば:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
エスケープシーケンスを使用します。
\"Hello\"
これは「Hello」を印刷します。
注意してください、特定の文字でバックスラッシュを実行するときに注意すべきいくつかの特定のことがあります。
System.out.println("Hello\\\");
上記の出力は次のとおりです。
こんにちは
System.out.println(" Hello\" ");
上記の出力は次のとおりです。
こんにちは"