воскресенье, 31 мая 2009 г.

цикл for и таблица умножения

А теперь давай сделаем пример полезный для первоклассников = выведем на консоль таблицу умножения.
Для этого давайте воспользуемся другим циклом - циклом for

для начала выучим операцию инкремента (увеличение переменной на 1) простой способ сделать это так i=i+1;
тоесть берётся значение переменной i , прибавляется 1 и присваевается результат этой же переменной.
есть более крайткий способ записи
i++;
такое выражение часто применяется в циклах


вот пример:
for(Integer i = 0; i<5; i++){
System.out.println(i);
}
выведет:
0
1
2
3
4


Как он работает:
1)объявляется и инициализируется переменная i нулевым значением
2)выполняется тело цикла заключённое в фигурные скобки {System.out.println(i);} при этом выводится текущее значение переменной i
3)проверяется условие выхода из цикла i<5 если оно верно - цикл заканчивается, иначе продолжается.
4)выполняется выражение цикла: i++. i++ означает увеличение переменной на 1;
i-- означает уменьшение переменной на 1;
вообще в принципе тут можно писать любое выражение, но обычно для увеличивающегося цикла пишут i++



давайте теперь расскажем про вывод на консоль - есть ещё одна функция которая может использоватьс для вывода на экран:

System.out.print
в отличии от System.out.println здесь не происходит переноса на новую строку например цикл
for(Integer i = 0; i<5; i++){
System.out.print(i);
}

выведет:
01234


циклы могут быть вложеными -
for(Integer i = 0; i<5; i++){
for(Integer j = 0; j<5; j++){
System.out.print("i=");
System.out.print(i);
System.out.print(" j=");
System.out.println(j);
}
}
здесь выведется все 25 возможных пар i и j
i=0 j=0
i=0 j=1
i=0 j=2
..
и тд

теперь стало понятно ка работает вложенный цикл? Вед теперь переходим к цели нашего урока: вывод таблицы умножения


for(Integer i = 1; i<10; i++){
for(Integer j = 1; j<10; j++){
System.out.print(i*j);
System.out.print(" ");
}
System.out.println();
}
таблица получилоась криваватая.. ну чтож в следующих уроках мы наведём красоту
а сейчас давайте разберём как это всё работает:
в данной программе 2 цикла внешний по переменной i который выполняет внутренний по переменной j и делает перевод строки
System.out.println();
во внутреннем выводится произведение i*j
таким образом по i получается строка (перед увеличением i в выражении цикла происходит переход на новую строку), по j - столбец. Вывод пустой строки во внутреннем цикле нужен для разделения чисел.

вся программа выглядит так:
package ru.java7.start.tutorial1;

public class Main {

public static void main(String[] args) {
for(Integer i = 1; i<10; i++){
for(Integer j = 1; j<10; j++){
System.out.print(i*j);
System.out.print(" ");
}
System.out.println();
}
}

}

0 коммент.:

Отправить комментарий