web-dev-qa-db-fra.com

Quelle est la valeur par défaut de char?

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?

77
user1298336

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.

93
Óscar López

'\ 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.

27
Chandra Sekhar

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)
{

}
8
Yogesh Manware

'\u0000' signifie null. Donc, si vous imprimez une variable char non initialisée, vous n’obtiendrez rien.

7
roshan

C'est '\ u0000'. Voir ici pour plus d'informations .

3
Matt Fenwick

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.

0
Mateen

\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");
0
Aneesh Sharma

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 .

0
Luis Parada

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';

0
The Coordinator

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.

0
Choo