Условные операторы 
if-else
В обобщенной форме этот оператор записывается следующим образом: 
if (логическое выражение) оператор1; [ else оператор2;] 
Раздел else необязателен. На месте любого из операторов может стоять составной оператор, заключенный в фигурные скобки. Логическое выражение — это любое выражение, возвращающее значение типа boolean. 
А вот полная программа, в которой для определения, к какому времени года относится тот или иной месяц, используются операторы if-else. 
class IfElse { 
public static void main(String args[]) { int month = 4; 
String season; 
if (month == 12 || month == 1 || month == 2) { 
season = "Winter"; 
} else if (month ==3 || month == 4 || month == 5) { 
season = "Spring"; 
} else if (month == 6 || month == 7 || month == 8) { 
season = "Summer"; 
} else if (month == 9 || month == 10 || month == 11) { 
season = "Autumn"; 
} else { 
season = "Bogus Month"; 
} 
System.out.println( "April is in the " + season + "."); 
} } 
После выполнения программы вы должны получить следующий результат: 
С: \> java IfElse 
April is in the Spring. 
switch 
Оператор switch обеспечивает ясный способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма этого оператора такова: 
switch ( выражение ) { case значение1: 
break; 
case значение2: 
break; 
case значением: 
break; 
default: 
} 
Результатом вычисления выражения может быть значение любого простого типа, при этом каждое из значений, указанных в операторах case, должно быть совместимо по типу с выражением в операторе switch. Все эти значения должны быть уникальными литералами. Если же вы укажете в двух операторах case одинаковые значения, транслятор выдаст сообщение об ошибке. 
Циклы
Любой цикл можно разделить на 4 части — инициализацию, тело, итерацию и условие завершения. В Java есть три циклические конструкции: while (с пред-условием), do-while (с постусловием) и for (с параметровм). 
while 
Этот цикл многократно выполняется до тех пор, пока значение логического выражения равно true. Ниже приведена общая форма оператора while: 
[ инициализация; ] 
while ( завершение ) { 
тело; 
[итерация;] } 
Инициализация и итерация необязательны. Ниже приведен пример цикла while для печати десяти строк «tick». 
class WhileDemo { 
public static void main(String args[]) { 
int n = 10; 
while (n > 0) { 
System.out.println("tick " + n); 
n--; 
} 
} } 
do-while 
Иногда возникает потребность выполнить тело цикла по крайней мере один раз — даже в том случае, когда логическое выражение с самого начала принимает значение false. Для таких случаев в Java используется циклическая конструкция do-while. Ее общая форма записи такова: 
[ инициализация; ] do { тело; [итерация;] } while ( завершение ); 
В следующем примере тело цикла выполняется до первой проверки условия завершения. Это позволяет совместить код итерации с условием завершения: 
class DoWhile { 
public static void main(String args[]) { 
int n = 10; 
do { 
System.out.println("tick " + n); 
} while (--n > 0); 
} } 
for 
В этом операторе предусмотрены места для всех четырех частей цикла. Ниже приведена общая форма оператора записи for. 
for ( инициализация; завершение; итерация ) тело; 
Любой цикл, записанный с помощью оператора for, можно записать в виде цикла while, и наоборот. Если начальные условия таковы, что при входе в цикл условие завершения не выполнено, то операторы тела и итерации не выполняются ни одного раза. В каноническая форме цикла for происходит увеличение целого значения счетчика с минимального значения до определенного предела. 
class ForDemo { 
public static void main(String args[]) { 
for (int i = 1; i <= 10; i++) 
System.out.println("i = " + i); 
} } 
Следующий пример — вариант программы, ведущей обратный отсчет. 
class ForTick { 
public static void main(String args[]) { 
for (int n = 10; n > 0; n--) 
System.out.println("tick " + n); 
} } 
continue 
В некоторых ситуациях возникает потребность досрочно перейти к выполнению следующей итерации, проигнорировав часть операторов тела цикла, еще не выполненных в текущей итерации. Для этой цели в Java предусмотрен оператор continue. Ниже приведен пример, в котором оператор continue используется для того, чтобы в каждой строке печатались два числа. 
class ContinueDemo { 
public static void main(String args[]) { 
for (int i=0; i < 10; i++) { 
System.out.print(i + " "); 
if (i % 2 == 0) continue; 
System.out.println(""); 
} 
}} 
Если индекс четный, цикл продолжается без вывода символа новой строки.
 Результат выполнения этой программы таков: 
С: \> java ContinueDemo 
0 1 
2 3 
4 5 
5 7 
8 9  
 http://www.toyd.ru/category/articles/upravlenie_vypolneniem_programmy.html