17.2.4 繰返し

コンピュータの最大の特徴は高速であることです. 10桁の数の足し算なら1秒間に10億回ぐらいやってしまうこともできます. プログラムでこの高速性を活かす要素が繰返し実行です. とりあえず例を見て下さい.

class Doubling {
    public static void main(String argv[ ]) {
	int x=1, i;
	for(i=0; i<=20; i=i+1) {
	    System.out.println(i + " : " + x);
	    x=x*2;
	}
    }
}

fileDoubling.java

ここで等号(=)は数学で言う「等しい」という意味ではなく, =の右側の式の値を(必要ならば計算して)=の左側の変数の値とする(「代入」) という意味です. 「等しい」という条件(判断)は等号を二個並べて(==)表します. まぎらわしく, よくまちがえるので注意しましょう.

このプログラムの核心は4行目〜7行目で, とくに4行目は

パラメータxの初期値は"1"ですが, {…}の中で2倍(x=x*2)されますから, 繰返しの度に2倍, 4倍, 8倍と大きくなってゆく訳です.