char c = '\u0000';
cを印刷すると、コマンドラインウィンドウに「a」と表示されます。
では、char型フィールドのデフォルト値は何ですか?
誰かが「\ u0000」はユニコードでnullを意味すると言いました。そうですか?
char c = '\u0000';
cを印刷すると、コマンドラインウィンドウに「a」と表示されます。
では、char型フィールドのデフォルト値は何ですか?
誰かが「\ u0000」はユニコードでnullを意味すると言いました。そうですか?
回答:
Java言語仕様のセクション§4.12.5変数の初期値に記載されているように、char
属性のデフォルト値は確かに'\u0000'
(ヌル文字)です。
私のシステムでは、線System.out.println('\u0000');
は小さな正方形を印刷します。つまり、予想どおり、印刷可能な文字ではありません。
'\u0000'
はnull
null character
ですか?この質問に対するいくつかの回答は、デフォルト値をヌル文字として参照しています。
null
Java用語ではありません。つまり\u0000 == null
、返されますfalse
'\ u0000'は文字のデフォルト値です。10進数に相当するものは0です。
初期化せずにchar変数を宣言すると、デフォルトで「\ u0000」が割り当てられます。
このコードを参照してください
public class Test {
char c;
public static void main(String args[]) throws Exception {
Test t = new Test();
char c1 = '\u0000';
System.out.println(t.c);
System.out.println(c1);
System.out.println(t.c == c1);
}
}
このコードは、最後の印刷に対してtrueを印刷します。
'\u0000'
の略ですnull
。したがって、初期化されていないchar変数を出力しても、何も得られません。
'\ u0000'です。詳細については、こちらをご覧ください。
nullとゼロの間には明確な違いがあることに注意してください。でhttp://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html(上記参照)、文が行われます-
任意の参照型の値として使用できる特別なnullリテラルもあります。nullは、プリミティブ型の変数を除くすべての変数に割り当てることができます。null値の存在をテストする以外に、null値でできることはほとんどありません。したがって、nullは、一部のオブジェクトが使用できないことを示すマーカーとしてプログラムでよく使用されます。
そのため、次のステートメントではエラーが発生し、他のステートメントではエラーが発生しません:-
char a = null; //型の不一致:nullからcharに変換できません。
char b = 0; //有効な構文。
私はそれだと思う'\u00000'
か、単に''
ではなく、'\u0000'
(最後のものは、4つのゼロを有している第一1は5ゼロを持っています。)
のデフォルト値char
は\ u0000です
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
これはtrueを返します
charのデフォルト値はnullで、Unicodeチャートによると「\ u0000」です。印刷中にどのように機能するかを見てみましょう。
public class Test_Class {
char c;
void printAll() {
System.out.println("c = " + c);
}
public static void main(String[] args) {
Test_Class f = new Test_Class();
f.printAll();
} }
注:出力は空白です。
Java言語仕様に記載されているように、charプリミティブ型のデフォルト値は '\ u0000'(ヌル文字)です。
'u0000'のショートカットは '\ 0'であるため、nullは 'u0000'または '\ 0'のいずれかで表すことができます。
以下のJavaプログラムは、インスタンスのcharフィールド「c」を使用してnull表現を検証します。
public class DefaultValueForchar {
char c;
public static void main(String[] args) {
char c0 = '\0';
char cu0000 = '\u0000';
DefaultValueForchar obj = new DefaultValueForchar();
System.out.println(obj.c);
System.out.println(c0);
System.out.println(cu0000);
System.out.println(c0==cu0000);
System.out.println(obj.c==c0);
System.out.println(obj.c==cu0000);
}
}
char == 0