文字列リテラルの\\
バックスラッシュとは何ですか?それは何をするためのものか?考えたことはありますが、わかりません。ウィキペディアでも読んでいます。以下を印刷しようとすると:
System.out.println("Mango \\ Nightangle");
出力は次のとおりです。Mango \ Nightangle
この文字列リテラルの意味は何ですか?
文字列リテラルの\\
バックスラッシュとは何ですか?それは何をするためのものか?考えたことはありますが、わかりません。ウィキペディアでも読んでいます。以下を印刷しようとすると:
System.out.println("Mango \\ Nightangle");
出力は次のとおりです。Mango \ Nightangle
この文字列リテラルの意味は何ですか?
\
Javaを含む多くのプログラミング言語でエスケープシーケンスとして使用されます。
あなたがしたい場合は
\n
または\r
を使用します。\t
\
同様に、文字列リテラルで特別なまたはを印刷する"
には、それを別の文字列でエスケープする必要があります\
。\\
\"
プログラミング言語を設計していると想像してください。文字列を引用符で囲むことにします(「Apple」)。次に、最初の問題にぶつかります。引用符はすでに使用しているので、どのように表現するのでしょうか。慣例に反して、\"
引用符を表すために使用することにしました。次に、2番目の問題があります:どのように表現するの\
ですか?繰り返しますが、慣例に反して、\\
代わりに使用することにします。ありがたいことに、プロセスはそこで終了し、これで十分です。エスケープシーケンスと呼ばれるものを使用して、キャリッジリターン(\n
)などの他の文字を表すこともできます。
特殊文字をエスケープしてそのまま印刷するために使用します。たとえば、文字列を囲むために使用される二重引用符を印刷するには、円記号を使用してエスケープする必要があります。
例えば
System.out.println("printing \"this\" in quotes");
出力
printing "this" in quotes
\
プログラミング言語のエスケープシーケンスに使用されます。
\n
改行
\\
を印刷しますバックスラッシュ
\"
を印刷します印刷します"
\t
タブキーを印刷
\b
しますカーソルを1つ後ろに移動します
それ自体は、ステートメントにこれらの特定の値を入力するときに、(改行)、(タブ)、 (引用符)\
などの特殊文字をエスケープするために使用されます。\n
\t
\"
System.out.println()
したがって、バックスラッシュを印刷する場合\
、コンパイラは特殊文字(上記の文字など)を予期するため、バックスラッシュを単独で印刷することはできません。したがって、バックスラッシュを印刷するには、バックスラッシュをエスケープする必要があります。これは、バックスラッシュ自体もこれらの特殊文字の1つであるため、\\
を生成し\
ます。
ダブルバックスラッシュが奇妙に見える場合、C#では、エスケープが不要な逐語的な文字列リテラルも許可されます。
Console.WriteLine(@"Mango \ Nightangle");
Javaにこのようなものがあればいいのにと思いませんか;-)