第4回:条件分岐と繰り返し(2) プログラミングII 2007年10月16日 本日の講義内容 条件分岐 複雑な判定条件と論理演算 ブロックの階層構造 if – else と switch - case 繰り返し for, do – while, break, continue 多重ループ 制御構造 条件分岐 if else switch case default ループ処理 for while do break continue 復習) 論理演算 論理和 – || いずれかが true ならば true true || true -- true true || false – true false || true – true false || false – false ( 10 > 100 || 10 < 100 ) 復習) 論理演算 論理積 -- && いずれの値も true の時のみ true true && true – true true && false – false false && true – false false && false – false ( 10 > 100 && 10 < 100 ) Javaのプログラムの処理の原則 特別な指定がなければ上から下へ順に 条件分岐 – 2つ以上の処理から1つを選 択して実行する 繰り返し – ある処理を何回か繰り返す *以上の3つのルールを組み合わせて実現 (「構造化プログラミング」の考え方) 条件分岐 – if と else if( x > 100 ) { System.out.println( “Big” ); } else { System.out.println( “Small” ); } // 実行されるのは2つのうちのどちらか 3つ以上の処理から選択 if( x > 100 ) { System.out.println( “Too big” ); } else if( 0 <= x ) { System.out.println( “OK” ); } else { System.out.println( “Too small” ); } else がない例 if( x > 100 ) { System.out.println( “Too big” ); } : : // x <=100 なら何もしないで次の処理へ switch – case による判定 int x ; switch( x ) { case 1: word = “One”; break; case 2: word = “Two”; break; default: word = “”; } switch – case による判定 switch( x ) { x は 整数値(int など)もしくは文字(char) case 1 : -- 値が1の場合の処理 break ; -- 「switch のブロックを抜ける」 (各 case ごとの処理の終わり) default : -- case に指定された以外の値 繰り返し – whileのループ(1) while( x < 100 ) { : : } // 条件式が正しい限り同じ処理を繰り返す 繰り返し – whileのループ(2) int count = 1; while( count <= 10 ) { System.out.println( count ); count ++; } // count の値を 1 から 10 まで10回表示 do – while のループ int x; do { x = Math.random(); System.out.println( x ); } while( x < 0.5 ) ; *判定の前に処理を置くことができる 乱数の利用と Math クラス Mathクラス – Javaの標準クラスライブラリ (System, Stringなどと同じ仲間) Mathクラスの働き 数学の計算の機能を提供 円周率πの値、 平方根の計算、三角関数の計算 乱数の発生 Mathクラスの random()メソッド 0.0 ~ 0.999999… の間の乱数を発生 値は double 型のデータに 使用例) double d = Math.random(); // d には乱数値が if( d > 0.5 ) { : : for のループ for( int i=0; i<10; i++ ) { : } 同じ内容のループ(書き換え可能) int i=0; while( i<10 ) { i++; } 二重ループ for( int i=1; i<=9; i++ ) { for( int j=1; j<=9; j++) { System.out.println( i+j ); } } *9X9で81回の処理!
© Copyright 2024 ExpyDoc