Опрераторов ветления в Java два - if и switch. Первый позволяет пойти программе по одному из двух направлений, второй позволяет сделать выбор между большим числом вариантов (два, три, четыре, ...).
Вот пример программы, которая выводит результат деления одного числа на другое. Если знаменатель равен нулю, то деления не происходит.
int a=30, b=5;
System.out.println("a="+a);
System.out.println("b="+b);
if (b!=0)
{
System.out.println(a/b);
}
else
{
System.out.println("На ноль делить нельзя!!!!");
}
Веточка else не обязательна. Если после проверки условия должен выполниться только один оператор, то фигурные скобки писать не обязательно.
Теперь пример с оператором switch. Пример смотрит, что за символ хранится в переменной ch (+, -, * или /), и в зависимости от этого делает то или иное действие с двумя числами. Результат действия выподится на экран.
char ch='/';
int k=40, n=10;
switch(ch)
{
case '+':
System.out.println(k+n);
break;
case '-':
System.out.println(k-n);
break;
case '*':
System.out.println(k*n);
break;
case '/':
System.out.println(k/n);
break;
default:
System.out.println("Error!");
}
Обратите внимание на break. Без него выполнялись бы операторы и в следующем case (пока не встретится break). Например, если написать так:
...
case 1:
case 2:
//Некоторые операторы
...
то "Некоторые операторы" будут выполнятся и когда проверяемая переменная в switch'е равна 1, и когда она равна 2.
Ветка default будет выполнятся тогда, когда переменная в switch'е не равна ни одному значению в case'ах. Ее использование не обязательно. Если по задаче она не нужно, то не пишите ее.
Циклов в Java три вида - while, do-while и for. Первые два следует использовать тогда, когда точно неизвестно, сколько раз цикл должен выполнится. Цикл for используем тогда, когда число, которое наш код должен повторяться, известно.
Вот пример на цикл while:
int n=46;
int k=0;
while (k*k<=n)
{
k++;
}
В этом примере ищется такое минимальное k, что его квадрат больше n.
Цикл while и его брат цикл do-while выполняются до тех пор, пока условие в круглых скобочках истинно. Как только оно становится равным false, выполнение цикла прекращается.
Пример цикла do-while:
double k;
do
{
k=Math.random();
}while(k>0.1);
System.out.println(k);
В этом примере ищется первое случайное число меньшее 0.1. Как только оно сгенерировано датчиком случайных чисел Math.random(), выполение цикла прекращается. Math.random() выдает случайные числа от 0 до 1.
Основное отличие циклов while и do-while в том, что while может вообще ни разу не выполнится (если условие в круглыс скобочках сразу false), а do-while выполнится по крайней мере 1 раз.
Заметьте, что для циклов while и do-while где-то внутри цикла обязательно должна меняться переменная, стоящая в круглых скобочках после while. Иначе цикл может стать бесконечным.
И, наконец, пример цикла for:
for (int i=0; i<10; i++)
{
System.out.println(i*i);
}
Этот цикл распечатает квадраты целых чисел от 0 до 9. Обратите внимание, что переменная i объявлена прямо внутри цикла. Так часто и делается, так как чаще всего переменная-счетчик цикла вне его не нужна и не используется.