学習しようとしている Java の本を読んでいて、質問があります。char
変数の型との違いがわかりませんString
。int
たとえば、とshort
、メモリのバイト数とそれらが持つ数値の領域には違いがあります。
char
しかし、との違いは何String
ですか? ただし、char
(') と「文字列」(") を使用します。
PS: これは私の最初の「本物の」プログラミング言語です。(学校では、プログラミングの授業のために偽の言語を学びました。)
char
1文字です。String
0文字以上です。
char
プリミティブ型です。String
クラスです。
char c = 'a';
String s = "Hi!";
char
の単一引用符と。の二重引用符に注意してくださいString
。
char
単一の文字を意味します。JavaではUTF-16文字です。
String
文字の配列と考えることができます。
それで、「Android」文字列を想像してください。それはまた文字で構成されてい'A', 'n', 'd', 'r', 'o', 'i'
ます'd'
。
char
はJavaのプリミティブ型でありString
、の配列をカプセル化するクラスですchars
。
素人の用語でchar
は、は文字であり、String
は文字(または単語)のコレクションです。Javaでは違法であるため、'
との区別"
は重要です。'Test'
char
はプリミティブ型でString
あり、クラスです
char
はプリミティブ型で、1 文字を保持できます。
String
代わりに参照型であるため、本格的なオブジェクトです。任意の数の文字を保持できます (内部的に、オブジェクトは文字を配列String
に保存します)。char
Java のプリミティブ型には、速度とメモリ フットプリントの点で利点があります。しかし、それらは実際のオブジェクトではないため、それらを使用すると失われる可能性がいくつかあります。それらはジェネリック型パラメーターとして使用できず、メソッドやフィールドを持つこともできませんでした。
ただし、すべての Java プリミティブ型には対応する本格的なオブジェクトがあり、それらの間の変換はコンパイラによって自動的に行われます (これはオートボクシングと呼ばれます)。
たとえば、次のことができます。
int i=12;
Integer l=i;
コンパイラは を に変換しint
ますInteger
。
文字は1つの文字を保持しますが、文字列は多くの文字を保持します。
char は 1 文字で構成され、一重引用符で囲む必要があります。アルファベット、数字、さらには特殊文字を含めることができます。以下にいくつかの例を示します。
char a = '4';
char b = '$';
char c = 'B';
文字列は、二重引用符で指定された使用できる行を定義します。以下にいくつかの例を示します。
String a = "Hello World";
String b = "1234";
String c = "%%";
まあ、char
(またはそのラッパークラスCharacter
)は単一の文字を意味します。つまり、書くことはできませんが、は文字数で構成されるテキストで'ab'
ありString
、文字列を文字の配列と考えることができます(実際、String
クラスには member がありますchar[] value
) .
単純なchar
配列を操作することもできますが、それは非常に面倒なので、String
クラスはテキストを操作するための便利な方法を提供するために存在します。
ASCII 値に関しては、char は 0 ~ 255 の範囲の単一の ASCII 値であると言えます。一方、String は ASCII 値のコレクションです。よりよく学ぶために、このコードを試してください。
char c='a';
String s="a b c d e f g hijkl";
int i=c;
System.out.println(i);
for(int count=0;count<s.length();count++){
int temp=s.charAt(count);
System.out.print(temp+" ");
}
出力は次のようになります。
97
97 32 98 32 99 32 100 32 101 32 102 32 103 32 104 105 106 107 108
97 は小さい 'a' の ASCII 値であるためです。32 はスペースの ASCII 値です。これが概念の深い理解に役立つことを願っています。
文字とは、文字、数字、句読点、スペースなど、入力できるすべてのものです。文字列は変数に表示されます。つまり、perl のテキスト項目です。文字は 16 ビットで構成されます。文字列の長さは無制限ですが。