начальное значение char в Java

18

Вы инициализируете переменную int , определенную в методе, чтобы иметь значение 0 , пока не вычислите определенные значения для int . Что можно инициализировать значения char до?
char retChar = ''; , это дает ошибку, и если я инициализирую -1 , он говорит слишком много символов.     

задан Pan 02.05.2011 в 18:51
источник
  • «Вы инициализируете переменную int, определенную в методе, чтобы иметь значение 0, пока вы не вычислите определенные значения для int« ... говорите сами. Я использую Integer, если я хочу это сделать, а не int. –  skaffman 02.05.2011 в 18:53

6 ответов

33

Обычно для переменных local я инициализирую их как можно дольше. Редко, что мне нужно «фиктивное» значение. Однако, если вы do , вы можете использовать любое значение, которое вам нравится - это не будет иметь никакого значения, если вы уверены, что собираетесь присвоить значение перед его чтением.

Если вам нужен char эквивалент 0, это всего лишь Unicode 0, который можно записать как

char c = '%pre%';

Это также значение по умолчанию для переменной instance (или статической) типа char .

    
ответ дан Jon Skeet 02.05.2011 в 19:03
источник
8

Либо вы инициализируете переменную чем-то

char retChar = 'x';

или вы оставите его автоматически инициализированным, то есть

char retChar = '
char retChar = (char) 0;
';

a ascii 0, то же, что и

%pre%
  

Что можно инициализировать значения char для?

Звуки не определены между автоматической инициализацией, что означает, что вы не имеете никакого влияния или явной инициализации. Но вы не можете изменить значение по умолчанию.

    
ответ дан user unknown 02.05.2011 в 19:04
источник
2

вы можете инициализировать его вместо ''. Кроме того, причина, по которой вы получили ошибку -1, слишком много символов, заключается в том, что она обрабатывает «-» и 1 как отдельный.

    
ответ дан John Kane 02.05.2011 в 19:00
источник
  • он говорит пустой буквенный символ. Таким образом, «вероятно, не разрешено. –  Pan 02.05.2011 в 19:03
  • Возможно, он имел в виду '' (одно пустое пространство)? –  asgs 02.05.2011 в 19:10
  • да жаль, одинарные кавычки немного близки друг к другу. Я имел в виду, что вы можете инициализировать его до места, которое разрешено. –  John Kane 02.05.2011 в 19:16
2

Я бы просто сделал:

char x = 0; //Which will give you an empty value of character
    
ответ дан Vin.X 20.02.2014 в 23:34
источник
0

Возможно, будет выполнено 0 или '\u0000' ?

    
ответ дан Henrik Gustafsson 02.05.2011 в 18:53
источник
0

Как вы увидите в связанном обсуждении, нет необходимости инициализировать символ со специальным символом, как это сделано для нас, и представляется символьным кодом '\ u0000'.

Итак, если мы хотим просто проверить, был ли инициализирован указанный символ, просто напишите:

if(charVariable != '\u0000'){
 actionsOnInitializedCharacter();
}

Ссылка на вопрос: что такое значение по умолчанию char?     

ответ дан kolboc 27.05.2016 в 00:51
источник