char c = '\u0000';
Lorsque j'imprime c, il affiche 'a' dans la fenêtre de la ligne de commande.
Alors, quelle est la valeur par défaut d'un champ de type char?
Quelqu'un a dit que "\ u0000" signifiait null en unicode; Est-ce correct?
La valeur par défaut d'un attribut char
est bien '\u0000'
(Le caractère nul), comme indiqué dans = Java Spécification du langage, 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 qu'il ne s'agit pas d'un caractère imprimable, comme prévu.
'\ u0000' est la valeur par défaut pour un caractère. Son équivalent décimal est 0.
Lorsque vous déclarez une variable de caractère sans l'initialiser, '\ u0000' lui sera affectée 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 true pour la dernière impression.
La valeur par défaut du caractère est Character.MIN_VALUE, ce qui est représenté en interne par MIN_VALUE = '\u0000'
En outre, vous pouvez vérifier si le champ de caractère contient la valeur par défaut en tant que
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 .
sa tentante dire comme espace blanc ou entier 0 comme en dessous de la preuve
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
mais je ne le dirais pas car, cela pourrait différer d'une plateforme à l'autre ou à l'avenir. Ce que je tiens vraiment, c’est que je n’utiliserai jamais cette valeur par défaut. Par conséquent, avant d’utiliser un caractère, vérifiez qu’il s’agit bien de\u0000 ou non, puis utilisez-le pour éviter les idées fausses dans les programmes. C'est aussi simple que ça.
\u0000
est la valeur par défaut pour le type de caractère 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 d'un type de données char est '\ u0000' (ou 0) et une valeur maximale de '\ uffff' (ou 65 535 inclus).
Vous pouvez voir l'info ici .
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';
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 affecté à n'importe quelle variable, à l'exception des variables de type primitif. Vous ne pouvez rien faire avec une valeur nulle au-delà du test de sa présence. Par conséquent, null est souvent utilisé dans les programmes en tant que marqueur pour indiquer qu'un objet est indisponible.
C'est pourquoi les déclarations suivantes vous donneront une erreur et non l'autre: -
char a = null; // Incompatibilité de type: impossible de convertir null en char.
char b = 0; // Syntaxe valide.