Использование блоков кода

Java позволяет группировать два и более оператора в блоки кода, называемые также кодовыми блоками. Это выполняется путем помещения операторов в фигурные скобки. Сразу после создания блок кода становится логическим модулем, который можно использовать в тех же местах, что и отдельный оператор. Например, блок может служить в качестве цели для операторов if и for. Рассмотрим следующий оператор if:

if (х < у) { // начало блока i
х = у;
У = 0; } // конец блока

В этом примере, если х меньше у, программа выполнит оба оператора, расположенные внутри блока. Таким образом, оба оператора внутри блока образуют логический модуль, и выполнение одного оператора невозможно без одновременного выполнения и второго. Основная идея этого подхода состоит в том, что во всех случаях, когда требуется логически связать два или более оператора, это делается посредством создания блока.

Рассмотрим еще один пример. В следующей программе блок кода использован в качестве целевого модуля цикла for.

/*
Демонстрирует использование блока кода. Назовите этот файл "BlockTest.java"
*/
class BlockTest {
public static void main(String args[]) { int x, y;
y = 20;
// целевой модуль этого цикла - блок for(x = 0; х<10; х++) {
System.out.println("Значение х: " + х) ;
System.out.println("Значение у: " + у) ;
у = у - 2;
}
}
}

Эта программа генерирует следующий вывод:

Значение х: 0
Значение y: 20
Значение х: 1
Значение y: 18
Значение х: 2
Значение y: 16
Значение х: 3
Значение y: 14
Значение х: 4
Значение y: 12
Значение х: 5
Значение y: 10
Значение х: 6
Значение y: 8
Значение х: 7
Значение y: 6
Значение х: 8
Значение y: 4
Значение х: 9
Значение y: 2

В данном случае цель цикла for — блок кода, а не единственный оператор. Таким образом, при каждой итерации цикла программа будет выполнять три оператора, помещенные внутрь блока. Естественно, об этом свидетельствует и генерируемый программой вывод.

Как будет показано в последующих главах книги, блоки кода обладают дополнительными свойствами и применением. Однако их основное назначение — создание логически неразрывных модулей кода.