回答:
次charのように、リテラルに一重引用符を使用し、リテラルに二重引用符を使用しますString。
char c = 'a';
String s = "hello";
他の方法で使用することはできません(Pythonなど)。
intようなコンテキストでは、アポストロフィリテラルは自動的にキャストされます。したがって、それはである必要はありませんchar。Deservin 'のいくつかの反対票...単純化しています。
charは単一のUTF-16文字です。つまり、文字、数字、句読点、タブ、スペース、または類似したものです。
charリテラルは、このように単一引用符で囲まれた単一の1文字です。
char myCharacter = 'g';
またはエスケープシーケンス、さらにはユニコードエスケープシーケンス:
char a = '\t'; // Escape sequence: tab
char b = '\177' // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence.
Unicodeエスケープシーケンスはコンパイルの非常に早い段階で処理されるため、 '\ u00A'を使用するとコンパイラエラーが発生することに注意してください。特別なシンボルの場合は、代わりにエスケープシーケンスを使用することをお勧めします。つまり、 '\ u00A'の代わりに '\ n'を使用します。
二重引用符はのためString、\"文字列内で「二重引用符エスケープシーケンス」()を使用する必要があります。
例えば:
System.out.println("And then Jim said, \"Who's at the door?\"");
一重引用符内の二重引用符をエスケープする必要はありません。
次の行はJavaでは有効です。
char doublequote = '"';
次のコード行を考えてみましょう(Java):
System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169
1)最初の行は連結されH、Aその結果HA(文字列リテラル)になります
2)次に、ASCIIテーブルH= 72およびa= 97 に従って2つの文字の値を追加します。72+97これは、のように追加することを意味し('H'+'a')ます。
3)別のケースを考えてみましょう。
System.out.println("A"+'N');//AN
この場合、結果としてになるString Aとcharの連結を扱っています。NAN
一重引用符は文字を示し、二重引用符は文字列を示します。
char c = 'c';
'c' -----> cは文字です
文字列s = "stackoverflow";
"stackoverflow" ------> stackoverflowは文字列(つまり、文字の場合はコレクション)です