char c = '\u0000';
Quando imprimo c, ele mostra 'a' na janela da linha de comando.
Então, qual é o valor padrão de um campo do tipo char?
Alguém disse que '\ u0000' significa nulo em Unicode; Isso está certo?
char c = '\u0000';
Quando imprimo c, ele mostra 'a' na janela da linha de comando.
Então, qual é o valor padrão de um campo do tipo char?
Alguém disse que '\ u0000' significa nulo em Unicode; Isso está certo?
Respostas:
O valor padrão de um char
atributo é de fato '\u0000'
(o caractere nulo) conforme declarado na Especificação da linguagem Java, seção §4.12.5 Valores iniciais das variáveis .
No meu sistema, a linha System.out.println('\u0000');
imprime um pequeno quadrado, o que significa que não é um caractere imprimível - como esperado.
'\u0000'
não é o mesmo valor que null
null character
? Algumas respostas a essas perguntas referem-se ao valor padrão como caractere nulo.
null
em termos de java, ou seja \u0000 == null
, retornariafalse
'\ u0000' é o valor padrão para um caractere. Seu equivalente decimal é 0.
Quando você está declarando alguma variável char sem inicializá-la, '\ u0000' será atribuído a ela por padrão.
veja 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á verdadeiro para a última impressão.
O valor padrão de Character é Character.MIN_VALUE que internamente representado comoMIN_VALUE = '\u0000'
Além disso, você pode verificar se o campo de caractere contém o valor padrão como
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
'\u0000'
significa null
. Portanto, se você imprimir uma variável char não inicializada, não obterá nada.
É '\ u0000'. Veja aqui para mais informações .
O char padrão é o caractere com valor int de 0 (zero).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
é tentador dizer como um espaço em branco ou inteiro 0 conforme a prova abaixo
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
mas eu não diria isso porque, pode diferir em diferentes plataformas ou no futuro. O que realmente me importa é nunca usar esse valor padrão, então antes de usar qualquer caractere, verifique se ele é \ u0000 ou não, e use-o para evitar mal-entendidos nos programas. É simples assim.
O valor padrão de um tipo de dados char é '\ u0000' (ou 0) e um valor máximo de '\ uffff' (ou 65.535 inclusive).
Você pode ver as informações aqui .
Observe que há uma diferença distinta entre nulo e zero. Em http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (referenciado acima), a declaração é feita: -
Há também um literal nulo especial que pode ser usado como valor para qualquer tipo de referência. null pode ser atribuído a qualquer variável, exceto variáveis de tipos primitivos. Há pouco que você pode fazer com um valor nulo além de testar sua presença. Portanto, null é frequentemente usado em programas como um marcador para indicar que algum objeto está indisponível.
É por isso que as seguintes declarações fornecerão um erro e não o outro: -
char a = null; // Tipo incompatível: não é possível converter de nulo em char.
char b = 0; // Sintaxe válida.
\u0000
é o valor padrão para o tipo char em Java
Como outros mencionaram, você pode usar a comparação para verificar o valor de uma variável não inicializada.
char ch;
if(ch==0)
System.out.println("Default value is the null character");
O valor padrão de char
é \ u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
Isso vai voltar verdadeiro
O valor padrão de char é null que é '\ u0000' de acordo com o gráfico Unicode . Vamos ver como funciona durante a impressão.
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: a saída está em branco.
O valor padrão de um tipo primitivo char é '\ u0000' (caractere nulo) conforme declarado na Especificação da linguagem Java.
O atalho para 'u0000' é '\ 0', então o nulo pode ser representado por 'u0000' ou '\ 0'.
O programa Java abaixo valida representações nulas usando o campo char de instância '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