char c = '\u0000';
Lorsque j'imprime c, il affiche «a» dans la fenêtre de ligne de commande.
Alors, quelle est la valeur par défaut d'un champ de type char?
Quelqu'un a dit '\ u0000' signifie null en Unicode; Est-ce correct?
char c = '\u0000';
Lorsque j'imprime c, il affiche «a» dans la fenêtre de ligne de commande.
Alors, quelle est la valeur par défaut d'un champ de type char?
Quelqu'un a dit '\ u0000' signifie null en Unicode; Est-ce correct?
Réponses:
La valeur par défaut d'un char
attribut est en effet '\u0000'
(le caractère nul) comme indiqué dans la spécification du langage Java, section §4.12.5 Valeurs initiales des variables .
Dans mon système, la ligne System.out.println('\u0000');
imprime un petit carré, ce qui signifie que ce n'est pas un caractère imprimable - comme prévu.
'\u0000'
n'est pas la même valeur que null
null character
? Certaines réponses à ces questions font référence à la valeur par défaut comme un caractère nul.
null
en termes de java -à- dire \u0000 == null
retourneraientfalse
'\ u0000' est la valeur par défaut d'un caractère. Son équivalent décimal est 0.
Lorsque vous déclarez une variable char sans l'initialiser, '\ u0000' lui sera assigné par défaut.
voir ce code
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);
}
}
Ce code imprimera vrai pour la dernière impression.
La valeur par défaut de Character est Character.MIN_VALUE qui est représenté en interne parMIN_VALUE = '\u0000'
En outre, vous pouvez vérifier si le champ de caractère contient la valeur par défaut comme
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
'\u0000'
signifie null
. Donc, si vous imprimez une variable char non initialisée, vous n'obtiendrez rien.
C'est '\ u0000'. Voir ici pour plus d'informations .
Le caractère par défaut est le caractère avec une valeur int de 0 (zéro).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
c'est tentant de dire comme espace blanc ou entier 0 selon la preuve ci-dessous
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
mais je ne le dirais pas parce que cela pourrait différer de différentes plates-formes ou à l'avenir. Ce qui m'importe vraiment, c'est que je n'utiliserai jamais cette valeur par défaut, donc avant d'utiliser un caractère, vérifiez simplement qu'il est \ u0000 ou non, puis utilisez-le pour éviter les idées fausses dans les programmes. C'est aussi simple que ça.
La valeur par défaut d'un type de données char est '\ u0000' (ou 0) et une valeur maximale de '\ uffff' (ou 65 535 inclus).
Vous pouvez voir les informations ici .
Notez qu'il existe une différence distincte entre null et zéro. Dans http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (référencé ci-dessus), la déclaration est faite: -
Il existe également un littéral nul spécial qui peut être utilisé comme valeur pour tout type de référence. null peut être assigné à n'importe quelle variable, à l'exception des variables de types primitifs. Vous ne pouvez pas faire grand-chose avec une valeur nulle au-delà de tester sa présence. Par conséquent, null est souvent utilisé dans les programmes comme marqueur pour indiquer qu'un objet n'est pas disponible.
C'est pourquoi les déclarations suivantes vous donneront une erreur et pas l'autre: -
char a = nul; // Incompatibilité de type: impossible de convertir de null en caractère.
char b = 0; // Syntaxe valide.
\u0000
est la valeur par défaut du type char en Java
Comme d'autres l'ont mentionné, vous pouvez utiliser la comparaison pour vérifier la valeur d'une variable non initialisée.
char ch;
if(ch==0)
System.out.println("Default value is the null character");
La valeur par défaut de char
est \ u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
Cela reviendra vrai
La valeur par défaut de char est null qui est «\ u0000» selon le graphique Unicode . Voyons comment cela fonctionne lors de l'impression.
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();
} }
Remarque: la sortie est vide.
La valeur par défaut d'un type primitif char est '\ u0000' (caractère nul) comme indiqué dans la spécification du langage Java.
Le raccourci pour 'u0000' est '\ 0', donc la valeur null peut être représentée soit par 'u0000' ou '\ 0'.
Le programme Java ci-dessous valide les représentations nulles à l'aide du champ de caractères d'instance «c».
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