Топ-100Область видимости в Java - CodOrbits
LogoCodOrbits

Раздел: Азы Java

В этом разделе вы узнаете основы Java: синтаксис, типы данных, операторы и первые шаги в программировании на Java.

Все разделы
Иконка Азы Java

Область видимости в Java

Last updated: 3 мая 2025 г.

Немного об области видимости.

1class Test {
2    static int averageOf3Nums(int a, int b, int c) {
3        int sum = a + b + c;
4        int resultAverage = sum / 3;
5        return resultAverage;
6    }
7
8    public static void main(String[] args) {
9        String b = "Some text info!";
10        String c = "Some text info!";
11        if (b.equals(c)) {
12            String d = b + c;
13        }
14        System.out.println(d);
15    }
16}

В примере программы выше можно увидеть, что внутри if была определена String переменная d и после блока if совершается попытка вывести ее содержимое на консоль. Так вот, она недоступна вне блока if.

Этот код не скомпилируется, так как все переменные, которые создаются внутри блока if НЕ ВИДНЫ внешнему блоку, то есть функции main.

Это касается не только if, а и for, switch, else и тому подобное.

Вывод:

Чтобы исправить, это нужно сделать так.

1class Test
2{
3    static int averageOf3Nums(int a, int b, int c) {
4        int sum = a + b + c;
5        int resultAverage = sum / 3;
6        return resultAverage;
7    }
8
9    public static void main(String[] args)
10    {
11        String b = "Some text info!";
12        String c = "Some text info!";
13        
14        // Создаем переменную заранее
15        String d = "";
16        
17        if (b.equals(c)) {
18            // Записываем результирующую строку
19            // в уже созданную ранее переменную
20            d = b + c;
21        }
22        
23        // Выводим ее на консоль
24        System.out.println(d);
25    }
26}

Вывод:


Следующие уроки

Что такое ООП? Класс, объект.

13
мин.

Similar Articles Icon
Divider

Конструктор класса

9
мин.

Similar Articles Icon
Divider

Инкапсуляция

13
мин.

Similar Articles Icon