Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
12.05.2015
Размер:
1.82 Mб
Скачать

Глава 5. Управляющие операторы 121

for(n=10; n>0; n—)

System.out.println("тик " + n) ;

} . '

}

Объявление переменных управления внутри цикла for

Часто переменная, которая управляет циклом for, необходима только для целей цикла и не используется в другом месте. Когда дело обстоит так, можно объявить переменную внутри инициализационной части for. Напри­мер, предшествующая программа перекодирована так, чтобы переменная управления циклом п объявлялась типом int внутри заголовка for:

// Определение переменной управления циклом внутри for. class ForTick {

public static void main(String args[]) {

// здесь п объявлена внутри заголовка for-цикла for(int n=10; n>0; n—)

System.out.println("тик " + n); } }

Когда переменная объявляется внутри заголовка for-цикла, важно помнить, что область ее действия заканчивается там же, где и у for-оператора (т. е. область действия переменной ограничена циклом for). Вне цикла for пере­менная прекратит существование. Если нужно использовать управляющую переменную цикла в другом месте программы, ее не следует объявлять внут­ри цикла for.

Когда управляющая переменная цикла не нужна где-то в другом месте, большинство Java-программистов объявляет ее внутри for-заголовка. Ниже показана небольшая программа, которая проверяет, является ли число про­стым1. Обратите внимание, что управляющая переменная цикла i объявлена внутри for-заголовка, т. к. она нигде больше не нужна.

// Проверка на принадлежность к категории простых чисел, class FlndPrime {

public static void main(String args[]) { int num; boolean isPrime = true;

' Простым называется число, которое делится только на собственное значение и на 1 (например, простыми являются числа 1, 2, 3, 5, 7, 11, 13 и т. д.). — Примеч. ред.

122 Часть I. Язык Java

num = 14;

forfint i=2; i < num/2; i++) { if((num % i) == 0) ( isPrime = false; break; } }

if(isPrime) System.out.println("Простое число"); else System.out.println("Число не является простым"); } i

}

Использование запятой

Может возникнуть желание включить более одного оператора в инициали-зационную и итерационную части цикла for. Например, рассмотрим цикл следующей программы:

class Sample {

public static void main(String args[]) { int a, b;

b = 4;

for(a=l; a<b; a++) {

System.out.println("a = " + a); System.out.println("b = " + b); b—; ) } }

He трудно заметить, что цикл зависит от взаимодействия двух переменных. Так как цикл управляется двумя переменными, было бы полезно включить их непосредственно в заголовок оператора for вместо того, чтобы обрабаты­вать переменную ь вручную. К счастью, в Java обеспечена такая возмож­ность. Чтобы позволить двум или большему числу переменных управлять циклом for, Java разрешает вам включать множественные операторы как в инициализационную, так и в итерационную части for-заголовка. Каждый оператор отделяется от следующего запятой.

Используя запятую, предыдущий цикл for можно закодировать более эф­фективно:

// Использование запятой, class Comma {

public static void main(String args[]) { int a, b;

Соседние файлы в папке JavaLit