Так как i
является целым числом он выделяет default value
на zero
Это не всегда необходимо, чтобы присвоить значение, когда поле объявлено. Поля, объявленные, но не инициализированные, будут установлены на разумный по умолчанию компилятор. Вообще говоря, это значение по умолчанию будет равно нулю или нулевому, в зависимости от типа данных. Однако, полагаясь на такие значения по умолчанию, обычно считается плохой стиль программирования.
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
String (or any object) null
boolean false
Это произошло только тогда, когда вы делаете на уровне класса Если это локальная переменная, вы должны инициализировать, прежде чем использовать. В противном случае ошибка времени компиляции.
вместо этого вы можете сказать их значение по умолчанию. – eatSleepCode
извините, я не могу понять, пожалуйста, объясните. – Mohan
short, int, long, float, double, char, byte - примитивы - они не объекты. –