JavaRush/Java блог/Архив info.javarush/Присваивание и инициализация
articles
15 уровень

Присваивание и инициализация

Статья из группы Архив info.javarush
участников
После объявления переменной ее нужно явно инициализировать с помощью оператора присваивания, поскольку использовать переменную, которой не присвоено какое-нибудь значение, невозможно.
Присваивание и инициализация - 1
Для присвоения ранее объявленной переменной определенного значения нужно указать слева ее имя, поставить знак равенства (=), а справа записать некоторое выражение на языке Java, задающее требуемое значение. К примеру:
int daysInMay; // объявление целочисленной переменной
daysInMay = 31; // оператор присваивания значения этой переменной
А вот пример присваивания символьной переменной некоторого значения:
char noChar;
noChar = 'N';
Язык Java обладает удобной возможностью совмещать объявление и инициализацию переменной в одной строке.
int daysInMay = 31; // Пример объявления и инициализации переменной в одной строке
Также в языке Java объявление переменной можно размещать в любом месте кода, например, приведенный ниже код работоспособен:
int daysInJune = 30;
System.out.println(daysInJune);
int daysInMay = 31;
Ясное дело, что в одной области видимости невозможно объявить две переменные с одинаковыми именами. В языках С и С++ различаются объявление и определение переменной. Вот пример определения переменной:
int i = 100;

А вот пример ее объявления:extern int i;
В языке Java объявления и определения переменных не различаются. Ссылка на первоисточник: Присваивание и инициализация
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
N0miuS
Уровень 11
2 декабря 2015, 14:46
использовать переменную, которой не присвоено какое-нибудь значение, невозможно.
Это вы по моему, слишком громко сказали.

public class Main {
static int i;
    public static void main(String[] args) {
        i++;
        int h = i + 10;
        System.out.println(m);
}


В Java обязательная инициализация и что бы не возникали ошибки, как в C++, ввели такое понятие как значение по умолчанию. Значение по умолчанию получает любая не инициализированная переменная, если она не является ЛОКАЛЬНОЙ переменной ( переменной определенной в методе):

void n()
    {
        int q;
        q++;
    }


В этом случае, компилятор выдаст ошибку, «Variable 'q' might not have been initialized».
AndreGold
Уровень 28
2 декабря 2015, 18:15
Это вы по моему, слишком громко сказали.
public class Main {
static int i;
    public static void main(String[] args) {
        i++;
        int h = i + 10;
        System.out.println(m);
}

А по-моему не громко, где в статье указано о переменных класса?
mrserfr
Уровень 33
2 декабря 2015, 19:39
да уж…
N0miuS
Уровень 11
3 декабря 2015, 09:31
Там сказано, про переменные, не про локальные и не про переменные класса, а вообще о переменных. И сказано, так что можно только так и никак иначе. Это статья для тех, кто только знакомится с Javа, и это схоже на то, как сказать что машина без бензина не поедет и не уточнить что бывают машины, которые ездят на газу и на электричестве. Разводить демагогию, считаю лишней, если говорилось только о локальных переменных, то нужно уточнять, так как это может ввести в заблуждение.
AndreGold
Уровень 28
3 декабря 2015, 12:18
Не буду спорить, так как пользователь «тупо передрал» статью с первоисточника, и не удосужился подкорректировать её.

Но я думаю если мы говорим о статье для новичков, то априори подразумевается локальная переменная метода, о переменных класса и их значениях по-умолчанию для новичка еще знать рано, по крайней мере на этом этапе.