char c = '\u0000';
C'yi yazdırdığımda, komut satırı penceresinde 'a' gösteriyor.
Öyleyse, bir karakter türü alanının varsayılan değeri nedir?
Birisi '\ u0000' unicode'da null anlamına geldiğini söyledi; bu doğru mu?
char c = '\u0000';
C'yi yazdırdığımda, komut satırı penceresinde 'a' gösteriyor.
Öyleyse, bir karakter türü alanının varsayılan değeri nedir?
Birisi '\ u0000' unicode'da null anlamına geldiğini söyledi; bu doğru mu?
Yanıtlar:
Bir char
özniteliğin varsayılan değeri aslında '\u0000'
Java Dil Spesifikasyonu, Bölüm 4.12.5 Değişkenlerin İlk Değerleri'nde belirtildiği gibi (boş karakterdir) .
Benim sistemimde, satır System.out.println('\u0000');
küçük bir kare yazdırıyor, yani beklendiği gibi yazdırılabilir bir karakter değil.
'\u0000'
ile aynı değer olmadığına dikkat etmek önemlidirnull
null character
? Bu soruların bazı yanıtları, varsayılan değeri boş karakter olarak belirtiyor.
null
Java terimleriyle değil yani \u0000 == null
geri dönecektifalse
"\ u0000" bir karakter için varsayılan değerdir. Ondalık eşdeğeri 0'dır.
Bir char değişkenini ilklendirmeden bildirirken, varsayılan olarak ona '\ u0000' atanacaktır.
bu kodu gör
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);
}
}
Bu kod , son baskı için doğru olarak yazdırılacaktır.
Karakterin varsayılan değeri Character.MIN_VALUE şeklindedir. dahili olarak şu şekilde temsil edilen şeklindedir.MIN_VALUE = '\u0000'
Ek olarak, karakter alanının varsayılan değer içerip içermediğini kontrol edebilirsiniz.
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
'\u0000'
anlamına gelir null
. Yani, başlatılmamış bir char değişkeni yazdırırsanız, hiçbir şey elde edemezsiniz.
"\ U0000". Daha fazla bilgi için buraya bakın .
Varsayılan karakter, int değeri 0 (sıfır) olan karakterdir.
char NULLCHAR = (karakter) 0;
char NULLCHAR = '\ 0';
beyaz boşluk veya tamsayı 0 olarak söyleyin, kanıtın altındaki
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
ama öyle demezdim çünkü farklı platformlarda veya gelecekte farklı olabilir. Gerçekten umursadığım şey, bu varsayılan değeri asla kullanmayacağım, bu nedenle herhangi bir karakter kullanmadan önce sadece \ u0000 olup olmadığını kontrol edin, ardından programlarda yanlış anlamaları önlemek için kullanın. Bu kadar basit.
Bir char veri türünün varsayılan değeri "\ u0000" (veya 0) ve maksimum "\ uffff" (veya 65.535 dahil) değeridir.
Bilgileri burada görebilirsiniz .
Boş ve sıfır arasında belirgin bir fark olduğuna dikkat edin. In http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (yukarıda başvurulan), deyim yapılır: -
Ayrıca, herhangi bir başvuru türü için bir değer olarak kullanılabilecek özel bir boş hazır bilgi de vardır. null, ilkel türlerin değişkenleri dışında herhangi bir değişkene atanabilir. Varlığını test etmenin ötesinde boş bir değerle yapabileceğiniz çok az şey var. Bu nedenle, null genellikle programlarda bazı nesnelerin kullanılamaz olduğunu belirtmek için bir işaretçi olarak kullanılır.
Bu nedenle aşağıdaki ifadeler size bir hata verirken diğerini değil: -
char a = boş; // Tür uyuşmazlığı: null'dan karaktere dönüştürülemez.
char b = 0; // Geçerli sözdizimi.
\u0000
Java'da char türü için varsayılan değerdir
Başkalarının da bahsettiği gibi, başlatılmamış bir değişkenin değerini kontrol etmek için karşılaştırmayı kullanabilirsiniz.
char ch;
if(ch==0)
System.out.println("Default value is the null character");
İçin varsayılan değer char
olan \ u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
Bu gerçek olacak
Char öğesinin varsayılan değeri, Unicode grafiğine göre "\ u0000" olan null'dur . Çıktı alırken nasıl çalıştığını görelim.
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();
} }
Not: Çıktı boştur.
Bir char temel türünün varsayılan değeri, Java Dil Belirtimi'nde belirtildiği gibi "\ u0000" (boş karakter) şeklindedir.
"U0000" için kısayol "\ 0" dır, Bu nedenle null, "u0000" veya "\ 0" ile temsil edilebilir.
Aşağıdaki Java programı, 'c' örnek karakter alanını kullanarak boş gösterimleri doğrular.
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