Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐
Java
演習
(6)
–
条件分岐
–
高橋 裕樹Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
例題 下図に示すように,描画領域(400, 300) の範囲に,幅 20 画素の縦縞 模様を描画するプログラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト 縞模様を描画するプログラム(Stripe.java) importjavax.swing.JApplet; importjava.awt.Graphics; importjava.awt.Color;
public class Stripe extends JApplet{ public voidpaint(Graphics g) {
g.setColor(Color.white); g.fillRect(0, 0, 400, 300); inti= 0, x = 0, w = 20; 10 g.setColor(Color.black); while(x < 400){ if(i % 2 == 0) g.fillRect(x, 0, w, 300); x+= w; i++; } g.drawRect(0, 0, 399, 299); } }
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(評価式) 文 評価式 評価式が真であれば,文を実行Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(評価式) 文 評価式 評価式が真であれば,文を実行 評価式Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(評価式) 文 評価式 評価式が真であれば,文を実行 評価式 true 文Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(評価式) 文 評価式 評価式が真であれば,文を実行 評価式 true 文Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(評価式) 文 評価式 評価式が真であれば,文を実行 評価式 文 falseJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(i % 2 == 0) g.fillRect(x, 0, w, 300); x += w; i++; i % 2 == 0 iを2 で割った剰余 ... 0 (i が偶数)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(i % 2 == 0) g.fillRect(x, 0, w, 300); x += w; i++; i % 2 == 0 iを2 で割った剰余 ... 0 (i が偶数) i % 2 == 0Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(i % 2 == 0) g.fillRect(x, 0, w, 300); x += w; i++; i % 2 == 0 iを2 で割った剰余 ... 0 (i が偶数) i % 2 == 0 true(i が偶数) g.fillRectJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(i % 2 == 0) g.fillRect(x, 0, w, 300); x += w; i++; i % 2 == 0 iを2 で割った剰余 ... 0 (i が偶数) i % 2 == 0 true(i が偶数) g.fillRect x += w; i++;Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if
文
if(i % 2 == 0) g.fillRect(x, 0, w, 300); x += w; i++; i % 2 == 0 iを2 で割った剰余 ... 0 (i が偶数) i % 2 == 0 g.fillRect x += w; i++; false(i が奇数)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すような描画領域(400, 300) の範囲に,幅 20 画素の横縞模 様を描画するプログラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
チェッカーフラグ
例題 下図に示すように,描画領域(400, 300) の範囲に,縦横 20 画素の矩 形を持つチェッカーフラグを描画するプログラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト チェッカーフラグを描画するプログラム(Checker.java) importjavax.swing.JApplet; importjava.awt.Graphics; importjava.awt.Color;
public class Checker extends JApplet{ public voidpaint(Graphics g) {
g.setColor(Color.white); g.fillRect(0, 0, 400, 300); intj= 0, y = 0, w = 20; 10 g.setColor(Color.black); while(y < 300){ intx= 0, i = 0; while(x < 400){ if((i + j) % 2 == 0) g.fillRect(x, y, w, w); x+= w; i++; } y+= w; j++; 20 } g.drawRect(0, 0, 399, 299); } }
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト 12-21 行目 縦方向の描画 j: 行番号 14-18 行目 横方向の描画 i: 列番号 15 行目 i + j(行番号+列番号) が偶数か奇数か判断 偶数の場合: 黒で塗りつぶす
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すように,描画領域(400, 300) の範囲に,縦横 20 画素の矩 形を持つチェッカーフラグを描画するプログラムを作成せよ.先程の 例題とは色が逆になっているJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すように,ひとつおきに画像を枠で囲うプログラムを作成 せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
例題 下図に示すような,□と○を交互に10 個,横に並べて描画するプロ グラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト □と○を交互に描画するプログラム(CircleBox1.java) importjavax.swing.JApplet; importjava.awt.Graphics;
public class CircleBox1 extends JApplet{ public voidpaint(Graphics g){
intw = 30, sp = 20, y = 20; for(int i = 0, x = 20; i < 10; i++, x += (w + sp)){ if(i % 2 == 0) g.drawRect(x, y, w, w); 10 else g.drawArc(x, y, w, w, 0, 360); } } }
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式) 文-1 else 文-2 評価式 評価式が真であれば,文-1 を実行 評価式が偽であれば,文-2 を実行Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式) 文-1 else 文-2 評価式 評価式が真であれば,文-1 を実行 評価式が偽であれば,文-2 を実行 評価式Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式) 文-1 else 文-2 評価式 評価式が真であれば,文-1 を実行 評価式が偽であれば,文-2 を実行 評価式 true 文-1 文-2Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式) 文-1 else 文-2 評価式 評価式が真であれば,文-1 を実行 評価式が偽であれば,文-2 を実行 評価式 true 文-1 文-2Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式) 文-1 else 文-2 評価式 評価式が真であれば,文-1 を実行 評価式が偽であれば,文-2 を実行 評価式 文-1 文-2 falseJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式) 文-1 else 文-2 評価式 評価式が真であれば,文-1 を実行 評価式が偽であれば,文-2 を実行 評価式 文-1 文-2 falseJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 2 == 0) { g.drawRect(); } else { g.drawArc(); } i % 2 == 0 iが偶数であれば,□を描画 iが奇数であれば,○を描画Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 2 == 0) { g.drawRect(); } else { g.drawArc(); } i % 2 == 0 iが偶数であれば,□を描画 iが奇数であれば,○を描画 i % 2 == 0Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 2 == 0) { g.drawRect(); } else { g.drawArc(); } i % 2 == 0 iが偶数であれば,□を描画 iが奇数であれば,○を描画 i % 2 == 0 true(i が偶数) drawRect drawArcJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 2 == 0) { g.drawRect(); } else { g.drawArc(); } i % 2 == 0 iが偶数であれば,□を描画 iが奇数であれば,○を描画 i % 2 == 0 true(i が偶数) drawRect drawArcJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 2 == 0) { g.drawRect(); } else { g.drawArc(); } i % 2 == 0 iが偶数であれば,□を描画 iが奇数であれば,○を描画 i % 2 == 0 drawRect drawArc false(i が奇数)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 2 == 0) { g.drawRect(); } else { g.drawArc(); } i % 2 == 0 iが偶数であれば,□を描画 iが奇数であれば,○を描画 i % 2 == 0 drawRect drawArc false(i が奇数)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すような,□を一つ描いた後に○を2 個描く操作を繰り返 し,横に図形を10 個並べて描画するプログラムを作成せよ.(Circle-Box2.java)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すように,2 つの画像を交互に 10 個並べて描画するプログ ラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
例題 下図に示すような,□,○,■を交互に10 個,横に並べて描画する プログラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト □,○,■を交互に描画するプログラム(CircleBox3.java) importjavax.swing.JApplet; importjava.awt.Graphics;
public class CircleBox3 extends JApplet{ public voidpaint(Graphics g){
intw = 30, sp = 20, y = 20; for(int i = 0, x = 20; i < 10; i++, x += (w + sp)){ if(i % 3 == 0) g.drawRect(x, y, w, w); 10 else if(i % 3 == 1) g.drawArc(x, y, w, w, 0, 360); else g.fillRect(x, y, w + 1, w + 1); } } }
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 true 文-1 文-2 文-3Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 true 文-1 文-2 文-3Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 文-1 文-2 文-3 false 評価式-2Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 文-1 文-2 文-3 false 評価式-2 trueJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 文-1 文-2 文-3 false 評価式-2 trueJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 文-1 文-2 文-3 false 評価式-2 falseJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(評価式-1) 文-1 else if(評価式-2) 文-2 else 文-3 評価式-1 評価式-1 が真であれば,文-1 を実行 評価式-2 評価式-2 が真であれば,文-2 を実行 どちらも真でない場合,文-3 を実行 評価式-1 文-1 文-2 文-3 false 評価式-2 falseJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); } i % 3 == 0 iが3 の倍数であれば,□を描画 i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画 i % 3 == 0 trueJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); } i % 3 == 0 iが3 の倍数であれば,□を描画 i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画 i % 3 == 0 trueJava 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
i % 3 == 0
drawRect drawArc fillRect
false
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
i % 3 == 0
drawRect drawArc fillRect
false
i % 3 == 1 true
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
i % 3 == 0
drawRect drawArc fillRect
false
i % 3 == 1 true
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
i % 3 == 0
drawRect drawArc fillRect
false
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文
if(i % 3 == 0) { g.drawRect(); } else if(i % 3 == 1) { g.drawArc(); } else { g.fillRect(); }i % 3 == 0 iが3 の倍数であれば,□を描画
i % 3 == 1 iが3 の倍数+1 であれば,○を描画 どちらでもない場合,■を描画
i % 3 == 0
drawRect drawArc fillRect
false
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すように□,○,■,●を交互に10 個,横に並べて描画す るプログラムを作成せよ.(CircleBox4.java)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
if-else
文のネスト
例題 下図に示すように,□と○を交互に並べ,一行おきに色を変えて描 画するプログラムを作成せよ.Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト □と○を交互に,一行おきに色を変える描画するプログラム (Circle-Box5.java) importjavax.swing.JApplet; importjava.awt.Graphics; importjava.awt.Color;
public class CircleBox5 extends JApplet{ public voidpaint(Graphics g){
intw = 30, sp = 20; for(int j = 0, y = 20; j < 5; j++, y += (w + sp)){ if(j % 2 == 0) g.setColor(Color.red); 10 else g.setColor(Color.black); for(int i = 0, x = 20; i < 5; i++, x += (w + sp)){ if((i + j) % 2 == 0) g.drawRect(x, y, w, w); else g.drawArc(x, y, w, w, 0, 360); } } } 20 }
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト 例題 下図に示すように,□と○,●と■を交互に並べて描画するプログ ラムを作成せよ.
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト □と○,●と■を交互に描画するプログラム(CircleBox6.java) importjavax.swing.JApplet; importjava.awt.Graphics;
public class CircleBox6 extends JApplet{ public voidpaint(Graphics g){
intw = 30, sp = 20; for(int j = 0, y = 20; j < 5; j++, y += (w + sp)){ if(j % 2 == 0){ for(int i = 0, x = 20; i < 5; i++, x += (w + sp)){ 10 if(i % 2 == 0) g.drawRect(x, y, w, w); else g.drawArc(x, y, w, w, 0, 360); } } else{ for(int i = 0, x = 20; i < 5; i++, x += (w + sp)){ if(i % 2 == 0) g.fillArc(x, y, w, w, 0, 360); else g.fillRect(x, y, w + 1, w + 1); } } 20 } } }
Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト
練習
練習 下図に示すように,□と○を交互に並べ,一列おきに色を変えて描 画するプログラムを作成せよ.(CircleBox7.java)Java 演習 (6) – 条件分岐 – 高橋 裕樹 条件分岐 if文 if-else文 if-else文のネスト