2015.08.11 システム
プログラムの読み方書き方2
システムの上松です。
今回は、Java・PHP・JavaScript・PLSQLでの分岐と繰り返しについてみてみましょう。
●分岐 | |
◆Java | |
int iItemCount = 0; if (iItemCount == 0) { java.lang.System.out.println("iItemCountはゼロ!"); } else if (iItemCount == 1) { java.lang.System.out.println("iItemCountはイチです!"); } else { java.lang.System.out.println("iItemCountはゼロイチ以外"); } |
|
◆PHP | |
$iItemCount = 0; if ($iItemCount == 0) { echo "iItemCountはゼロ!<br>"; } else if ($iItemCount == 1) { echo "iItemCountはイチです!<br>"; } else { echo "iItemCountはゼロイチ以外<br>"; } |
|
◆JavaScript | |
var iItemCount = 0; if (iItemCount == 0) { alert("iItemCountはゼロ!"); } else if (iItemCount == 1) { alert("iItemCountはイチです!"); } else { alert("iItemCountはゼロイチ以外"); } |
|
◆PLSQL | |
iItemCount NUMBER; iItemCount := 0; IF iItemCount = 0 THEN DBMS_OUTPUT.PUT_LINE('iItemCountはゼロ!'); ELSIF iItemCount = 1 THEN DBMS_OUTPUT.PUT_LINE('iItemCountはイチです!'); ELSE DBMS_OUTPUT.PUT_LINE('iItemCountはゼロイチ以外'); END IF; |
この基本形はどの言語も変わりません。
カッコの扱いと、条件指定分岐(ELSE)の書き方がPLSQLのみちょっと特殊ですね。
言語によってはカッコを書かないif文の書き方もありますが、多重分岐等複雑な判断になると
収拾が付かなくなるので書き方を混在させるのはお勧めはしません。
多重分岐はswitch文にするから関係ない!という意見もあるかもしれませんが、
switch文はとても処理が重いのでパフォーマンスを考えると多重ifのほうが良いこともあります。
●繰り返し | |
その1:forループ | |
◆Java | |
for (int iIndex = 0; iIndex < 3; iIndex++) { java.lang.System.out.println("ループ回数:" + iIndex); } |
|
◆PHP | |
for ($iIndex = 0; $iIndex < 3; $iIndex++) { echo "ループ回数:" . $iIndex; } |
|
◆JavaScript | |
for (var iIndex = 0; iIndex < 3; iIndex++) { alert("ループ回数:" + iIndex); } |
|
◆PLSQL | |
FOR iIndex IN 0..2 LOOP DBMS_OUTPUT.PUT_LINE('ループ回数:' || iIndex); END LOOP; |
|
その2:whileループ | |
◆Java | |
int iIndex = 0; while (iIndex < 3) { iIndex++; java.lang.System.out.println("ループ回数:" + iIndex); } |
|
◆PHP | |
$iIndex = 0; while ($iIndex < 3) { $iIndex++; echo "ループ回数:" . $iIndex; } |
|
◆JavaScript | |
var iIndex = 0; while (iIndex < 3) { j++; alert("ループ回数:" + iIndex); } |
|
◆PLSQL | |
iIndex NUMBER; iIndex := 0; WHILE (iIndex < 3) LOOP iIndex := iIndex + 1; DBMS_OUTPUT.PUT_LINE('ループ回数:' || iIndex); END LOOP; |
※forループとwhileループでループ回数は同じです。どちらも「3回」繰り返されます。
forループはPLSQL以外は書き方が同じですね。
wheleループはどの言語もあまり書き方の違いはありません。
注意すべきポイントは以下の2つ。
・PLSQPのforループでは何回ループさせるかの添え字の書き方が特殊なこと。
・wheleループでの添え字の変わり方。
特にwhileループの添え字の変わり方は注意が必要です。
例で挙げたループ文は、全てループ回数は3回ですがiIndexの値のとり方が違います。
forループの場合、iIndexは0・1・2、whileループの場合は1・2・3となります。
これは、添え字の変動部分と判定箇所が違うために発生します。
配列からのデータゲット/セットでの良くあるエラー発生箇所ですね。
どの言語でも、分岐と繰り返しの書き方・見方はあまり変わらないですね。
今回上げた以外の言語や環境でも、書き方も判定方法も大きな違いはありません。
基本となる処理は分岐と繰り返しさえ読み書きできれば、新しい言語であっても
内容は理解できるので何をしているかわかるようになります。
開発初心者から新たな言語に触る場合でも、このポイントを押さえておけば
どんな言語でも開発で困ることは少なくなるでしょう。
それでは、今回はこれまで。