21

文字列リテラルの\\ バックスラッシュとは何ですか?それは何をするためのものか?考えたことはありますが、わかりません。ウィキペディアでも読んでいます。以下を印刷しようとすると:

System.out.println("Mango \\ Nightangle");

出力は次のとおりです。Mango \ Nightangle

この文字列リテラルの意味は何ですか?

4

6 に答える 6

30

\Javaを含む多くのプログラミング言語でエスケープシーケンスとして使用されます。

あなたがしたい場合は

  • 次の行に移動し、\nまたは\rを使用します。
  • タブ用\t
  • \同様に、文字列リテラルで特別なまたはを印刷する"には、それを別の文字列でエスケープする必要があります\\\\"
于 2012-08-23T12:24:13.340 に答える
11

プログラミング言語を設計していると想像してください。文字列を引用符で囲むことにします(「Apple」)。次に、最初の問題にぶつかります。引用符はすでに使用しているので、どのように表現するのでしょうか。慣例に反して、\"引用符を表すために使用することにしました。次に、2番目の問題があります:どのように表現するの\ですか?繰り返しますが、慣例に反して、\\代わりに使用することにします。ありがたいことに、プロセスはそこで終了し、これで十分です。エスケープシーケンスと呼ばれるものを使用して、キャリッジリターン(\n)などの他の文字を表すこともできます。

于 2012-08-23T12:31:22.827 に答える
4

特殊文字をエスケープしてそのまま印刷するために使用します。たとえば、文字列を囲むために使用される二重引用符を印刷するには、円記号を使用してエスケープする必要があります。

例えば

System.out.println("printing \"this\" in quotes");

出力

printing "this" in quotes
于 2012-08-23T12:24:26.370 に答える
3

\プログラミング言語のエスケープシーケンスに使用されます。

\n改行
\\を印刷しますバックスラッシュ
\"を印刷します印刷します"
\tタブキーを印刷
\bしますカーソルを1つ後ろに移動します

于 2012-08-23T12:26:08.457 に答える
1

それ自体は、ステートメントにこれらの特定の値を入力するときに、(改行)、(タブ)、 (引用符)\などの特殊文字をエスケープするために使用されます。\n\t\"System.out.println()

したがって、バックスラッシュを印刷する場合\、コンパイラは特殊文字(上記の文字など)を予期するため、バックスラッシュを単独で印刷することはできません。したがって、バックスラッシュを印刷するには、バックスラッシュをエスケープする必要があります。これは、バックスラッシュ自体もこれらの特殊文字の1つであるため、\\を生成し\ます。

于 2012-08-23T12:26:24.993 に答える
-2

ダブルバックスラッシュが奇妙に見える場合、C#では、エスケープが不要な逐語的な文字列リテラルも許可されます。

Console.WriteLine(@"Mango \ Nightangle");

Javaにこのようなものがあればいいのにと思いませんか;-)

于 2012-08-23T12:28:23.483 に答える