Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


УПРАВЛЕНИЕ ВЫПОЛНЕНИЕМ ПРОГРАММЫ




Условные операторы if-else

В обобщенной форме этот оператор записывается следующим образом:

if (логическое выражение) оператор1; [ else оператор2;]

Раздел elseнеобязателен. На месте «оператор1» или «оператор2» может стоять составной оператор, заключенный в фигурные скобки. «Логическое выражение» это любое выражение, возвращающее значение типа boolean.

Например,

int x;

if (x > 0) {

ProcessData();

x+= n;

} else

waitForMoreData();

Ниже приведена полная программа, в которой для определения, к какому времени года относится тот или иной месяц, используются операторы if-else.

class A

{

public static void main(String args[])

{

int month = 4;

String season ="зима";

if (month == 12 || month == 1 || month == 2) {

season = "зима";

} else if (month ==3 || month == 4 || month == 5) {

season = "весна";

} else if (month == 6 || month == 7 || month == 8) {

season = "лето";

} else if (month == 9 || month == 10 || month == 11) {

season = "осень";

}

System.out.println( "Сейчас " + season + ".");

}

}

После выполнения программы вы должны получить следующий результат: Сейчас весна.

Оператор break

Этот оператор прекращает выполнение текущего блока и передает управление оператору, следующему за данным блоком. Для именования блоков в языке Java могут использоваться метки. Оператор breakпри работе с циклами и в операторах switchможет использоваться без метки. В таком случае подразумевается выход из текущего блока. Можно использовать оператор breakтолько для перехода за один из текущих вложенных блоков.

Например, в следующей программе имеется три вложенных блока, и у каждого своя уникальная метка. Оператор break, стоящий во внутреннем блоке, вызывает переход на оператор, следующий за блоком b. При этом пропускаются два оператора println.

Оператор switch

Оператор switchобеспечивает способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма этого оператора следующая:

switch ( выражение ) {

case значение 1:

Break;

case значение 2:

Break;

case значение n:

Break;

default:

}

Результатом вычисления «выражения» может быть значение любого простого типа, при этом каждое из значений, указанных в операторах case, должно быть совместимо по типу с выражением в операторе switch. Все эти значения должны быть уникальными литералами. Если же вы укажете в двух операторах caseодинаковые значения, тогда будет ошибка.

Если же значению выражения не соответствует ни один из операторов case, управление передается коду, расположенному после ключевого слова default. Отметим, что оператор defaultнеобязателен. В случае, когда ни один из операторов caseне соответствует значению выражения и в switchотсутствует оператор default,выполнение программы продолжается с

оператора, следующего за оператором switch.

Внутри оператора switch(а также внутри циклических конструкций) breakбез метки приводит к передаче управления на код, стоящий после оператора switch. Если breakотсутствует, после текущего раздела caseбудет выполняться следующий. Иногда бывает удобно иметь в операторе switchнесколько смежных разделов case, не разделенных оператором break.

class SwitchSeason {

public static void main(String args[]) {

int month = 4;

String season;

switch (month) {

case 12:

case 1:

case 2:

season = "Зима";

break;

case 3:

case 4:

case 5:

season = "Весна";

break;

case 6:

case 7:

case 8:

season = "Лето";

break;

case 9:

case 10:

case 11:

season = "Осень";

break;

default:

season = "Неправильный номер месяца";

}

System.out.println("Апрель - это " + season + ".");

}

}

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

Программа подсчитывает число строк, слов и символов в текстовой строке.

class WordCount {

// Задаем текстовую строку

static String text = "Основы программирования\n" + "на языке Java\n" +

"для начинающих\n" + "разработчиков\n";

//Получаем длину строки

static int len;

public static void main(String args[]) {

len = text.length();

boolean inWord = false;

int numChars = 0; //переменная для хранения количества символов в тексте

int numWords = 0; //переменная для хранения количества слов в тексте

int numLines = 0; //переменная для хранения количества строк в тексте

//Организуем цикл по длине текстовой строки

for (int i=0; i < len; i++) {

char с = text.charAt(i); //Преобразуем элемент текстовой строки в символ

numChars++; //Увеличиваем на 1 счетчик символов

switch (с) { //Анализируем символы в текстовой строке

case '\n': numLines++; // Если символ перевода строки, то увеличиваем

//счетчик строк на 1

case '\t': // Тоже самое

case ' ' : if (inWord) { //Если пробел увеличиваем счетчик слов на 1

numWords++;

inWord = false;

}

break;

default: inWord = true;

}

}

System.out.println("\t" + numLines +"\t" + numWords + "\t" + numChars);

//Выводим на консоль количество строк, слов и символов в текстовой строке

}

}


Поделиться:

Дата добавления: 2015-09-15; просмотров: 59; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты