char c = '\u0000';
Когда я печатаю c, он показывает «a» в окне командной строки.Каково значение по умолчанию char?
Итак, каково значение по умолчанию для поля типа char?
Кто-то сказал, что '\ u0000' означает null в unicode; это правильно?
char c = '\u0000';
Когда я печатаю c, он показывает «a» в окне командной строки.Каково значение по умолчанию char?
Итак, каково значение по умолчанию для поля типа char?
Кто-то сказал, что '\ u0000' означает null в unicode; это правильно?
Значение по умолчанию атрибута char
действительно '\u0000'
(нулевой символ), как указано в спецификации языка Java, раздел §4.12.5 Initial Values of Variables.
В моей системе линия System.out.println('\u0000');
печатает маленький квадрат, что означает, что это не печатный символ - как и ожидалось.
Это '\ u0000'. См. here for more information.
'\ u0000' - значение по умолчанию для символа. Его десятичный эквивалент равен 0.
Когда вы объявляете какую-либо переменную char без ее инициализации, по умолчанию ей присваивается '\ u0000'.
см этот код
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);
}
}
Этот код будет печатать истинное для последней печати.
'\u0000'
означает null
. Поэтому, если вы напечатаете неинициализированную переменную char, вы ничего не получите.
Фактически вы получите ошибку компиляции;) '\ u0000' - это значение по умолчанию, которое поле char инициализируется с помощью – Edd
Знак по умолчанию - символ с значением int 0 (ноль).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
его заманчиво сказать, как пустое пространство или целое число 0, как в доказательстве ниже
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
, но я бы так не сказал, потому что она может отличаться ей разные платформы или в будущем. Я действительно забочусь о том, что никогда не буду использовать это значение по умолчанию, поэтому перед использованием какого-либо символа просто проверьте, что это \ u0000 или нет, а затем используйте его, чтобы избежать неправильных представлений в программах. Это так просто.
Значение по умолчанию для символьного типа: '\ u0000' (или 0) и максимальное значение '\ uffff' (или 65 535 включительно).
Вы можете посмотреть информацию here.
Вопрос уже имеет принятый ответ плюс несколько других ответов. Чтобы ваш ответ был полезным, он должен добавить полезную новую информацию или новую информацию о проблеме. Просто повторение информации в других ответах не помогает. – AdrianHHH
По умолчанию значение символов является Character.MIN_VALUE, которые внутренне представлены как MIN_VALUE = '\u0000'
Кроме того, вы можете проверить, если символьное поле содержит значение по умолчанию как
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
Заметим, что существует четкое различие между нулем и нулем. В http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (ссылка выше), выписка производится: -
Существует также специальный нулевой литерал, который может использоваться как значение для любого ссылочного типа. null может быть присвоен любой переменной, кроме переменных примитивных типов. Мало что вы можете сделать с нулевым значением за пределами тестирования для его присутствия. Поэтому null часто используется в программах как маркер, чтобы указать, что какой-то объект недоступен.
Поэтому следующие инструкции выдаст сообщение об ошибке, а не другой: -
обугленного а = NULL; // Тип несоответствия: невозможно преобразовать из null в char.
char b = 0; // Действительный синтаксис.
Я думаю, что это '\u00000'
или просто ''
, а не '\u0000'
(1-ый один имеет 5 нулей, а последний имеет четыре нули.)
@ JohannesH.- это похоже на ответ. Отметить это как «не ответ» неверно ИМО. – Krease
\u0000
значение по умолчанию для символьного типа в Java
Как упоминалось выше, вы можете использовать сравнение для проверки значения неинициализированной переменной.
char ch;
if(ch==0)
System.out.println("Default value is the null character");
Значение по умолчанию для char
является \ u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
Это вернет истинный
Значение по умолчанию полукокса является нулем, который является '\ u0000' согласно Unicode chart. Посмотрим, как это работает при распечатке.
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();
} }
Примечание: выходные данные пустые.
вы можете проверить, имеет ли ваш символ значение по умолчанию: 'char == 0' – ACV