¿Cuál es el valor predeterminado de char?

char c = '\u0000'; 

Cuando imprimo c, muestra ‘a’ en la ventana de línea de comandos.

Entonces, ¿cuál es el valor predeterminado de un campo de tipo char?

Alguien dijo ‘\ u0000’ significa nulo en Unicode; ¿está bien?

El valor predeterminado de un atributo char es de hecho '\u0000' (el carácter nulo) como se indica en la Especificación del lenguaje Java, sección §4.12.5 Valores iniciales de las variables .

En mi sistema, la línea System.out.println('\u0000'); imprime un pequeño cuadrado, lo que significa que no es un carácter imprimible, como se esperaba.

‘\ u0000’ es el valor predeterminado para un personaje. Su equivalente decimal es 0.

Cuando declare alguna variable char sin inicializarla, se le asignará ‘\ u0000’ por defecto.

mira este código

 public class Test { char c; public static void main(String args[]) throws Exception { Test t = new Test(); char c1 = '\u0000'; System.out.println(tc); System.out.println(c1); System.out.println(tc == c1); } } 

Este código se imprimirá verdadero para la última impresión.

'\u0000' significa null . Entonces, si imprime una variable char sin inicializar, no obtendrá nada.

El valor predeterminado de Character es Character.MIN_VALUE que internamente se representa como MIN_VALUE = '\u0000'

Además, puede verificar si el campo de caracteres contiene el valor predeterminado como

 Character DEFAULT_CHAR = new Character(Character.MIN_VALUE); if (DEFAULT_CHAR.compareTo((Character) value) == 0) { } 

Es ‘\ u0000’. Mira aquí para más información .

El valor predeterminado de un tipo de datos char es ‘\ u0000’ (o 0) y un valor máximo de ‘\ uffff’ (o 65,535 inclusive).

Puedes ver la información aquí .

\u0000 es el valor predeterminado para el tipo de caracteres en Java

Como mencionaron otros, puede usar la comparación para verificar el valor de una variable no inicializada.

 char ch; if(ch==0) System.out.println("Default value is the null character"); 

El carácter predeterminado es el carácter con un valor int de 0 (cero).

char NULLCHAR = (char) 0;

char NULLCHAR = ‘\ 0’;

su tentador decir como espacio en blanco o entero 0 como por debajo de la prueba

 char c1 = '\u0000'; System.out.println("*"+c1+"*"); System.out.println((int)c1); 

pero no lo diría porque, podría diferir en diferentes plataformas o en el futuro. Lo que realmente me importa es que nunca usaré este valor predeterminado, así que antes de usar cualquier char simplemente compruebe que es \ u0000 o no, luego utilícelo para evitar conceptos erróneos en los progtwigs. Es tan simple como eso.

Tenga en cuenta que hay una clara diferencia entre nulo y cero. En http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (referencia arriba), se hace la statement: –

También hay un literal nulo especial que se puede usar como valor para cualquier tipo de referencia. null se puede asignar a cualquier variable, excepto las variables de tipos primitivos. Hay poco que puede hacer con un valor nulo más allá de las pruebas de su presencia. Por lo tanto, null se usa a menudo en progtwigs como un marcador para indicar que algún objeto no está disponible.

Es por eso que las siguientes afirmaciones le darán un error y no el otro:

char a = null; // No coinciden los tipos: no se puede convertir de null a char.

char b = 0; // syntax válida.

Creo que es '\u00000' o simplemente '' lugar de '\u0000' (El primero tiene 5 ceros, mientras que el último tiene cuatro ceros).

El valor predeterminado para char es \ u0000

 public class DefaultValues { char varChar; public static void main(String...l) { DefaultValues ob =new DefaultValues(); System.out.println(ob.varChar=='\u0000'); } } 

Esto devolverá verdadero

El valor predeterminado de char es nulo, que es ‘\ u0000’ según el gráfico Unicode . Veamos cómo funciona durante la impresión.

 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(); } } 

Nota: La salida está en blanco.

El valor predeterminado de un tipo primitivo de caracteres es ‘\ u0000’ (carácter nulo) como se indica en la Especificación de lenguaje Java.

El acceso directo para ‘u0000’ es ‘\ 0’, por lo que el valor nulo se puede representar mediante ‘u0000’ o ‘\ 0’.

El siguiente progtwig Java valida las representaciones nulas usando el campo char de instancia ‘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); } } 

salida: