char c = '\u0000';
Cuando imprimo c, muestra 'a' en la ventana de línea de comando.
Entonces, ¿cuál es el valor predeterminado de un campo de tipo char?
Alguien dijo que '\ u0000' significa nulo en Unicode; ¿está bien?
char c = '\u0000';
Cuando imprimo c, muestra 'a' en la ventana de línea de comando.
Entonces, ¿cuál es el valor predeterminado de un campo de tipo char?
Alguien dijo que '\ u0000' significa nulo en Unicode; ¿está bien?
Respuestas:
El valor predeterminado de un char
atributo 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 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'
no es el mismo valor que null
null character
? Algunas respuestas a estas preguntas hacen referencia al valor predeterminado como carácter nulo.
null
en términos de Java, es decir \u0000 == null
, volveríafalse
'\ u0000' es el valor predeterminado para un personaje. Su equivalente decimal es 0.
Cuando declaras alguna variable char sin inicializarla, se le asignará '\ u0000' de forma predeterminada.
ver 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(t.c);
System.out.println(c1);
System.out.println(t.c == c1);
}
}
Este código imprimirá verdadero para la última impresión.
El valor predeterminado de Character es Character.MIN_VALUE que se representa internamente comoMIN_VALUE = '\u0000'
Además, puede verificar si el campo de caracteres contiene un valor predeterminado como
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
'\u0000'
representa null
. Entonces, si imprime una variable char no inicializada, no obtendrá nada.
Es '\ u0000'. Consulte aquí para obtener más información .
El carácter predeterminado es el carácter con un valor int de 0 (cero).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
es tentador decir como espacio en blanco o entero 0 según la siguiente 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 carácter, solo verifique que sea \ u0000 o no, luego úselo para evitar conceptos erróneos en los programas. Es tan simple como eso.
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í .
Tenga en cuenta que existe una clara diferencia entre nulo y cero. En http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (mencionado anteriormente), se hace la declaración: -
También hay un literal nulo especial que se puede usar como valor para cualquier tipo de referencia. Se puede asignar un valor nulo a cualquier variable, excepto a las variables de tipo primitivo. Hay poco que pueda hacer con un valor nulo más allá de probar su presencia. Por lo tanto, null se usa a menudo en programas como marcador para indicar que algún objeto no está disponible.
Es por eso que las siguientes declaraciones te darán un error y no el otro: -
char a = nulo; // Falta de coincidencia de tipos: no se puede convertir de nulo a char.
char b = 0; // Sintaxis válida.
\u0000
es el valor predeterminado para el tipo char en Java
Como otros mencionaron, 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 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 volverá a ser verdad
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 char es '\ u0000' (carácter nulo) como se indica en la Especificación del lenguaje Java.
El atajo para 'u0000' es '\ 0', por lo que el nulo se puede representar con 'u0000' o '\ 0'.
El siguiente programa Java valida las representaciones nulas utilizando el campo de carácter 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);
}
}
char == 0