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
НС Π±ΡƒΠ΄Ρƒ ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Β«Ρ‚ΡƒΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π΄Ρ€Π°Π»Β» ΡΡ‚Π°Ρ‚ΡŒΡŽ с пСрвоисточника, ΠΈ Π½Π΅ удосуТился ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘.

Но я Π΄ΡƒΠΌΠ°ΡŽ Ссли ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΡΡ‚Π°Ρ‚ΡŒΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Ρ‚ΠΎ Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ подразумСваСтся локальная пСрСмСнная ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… класса ΠΈ ΠΈΡ… значСниях ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΅Ρ‰Π΅ Π·Π½Π°Ρ‚ΡŒ Ρ€Π°Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π½Π° этом этапС.