皆さん教えて下さい。私はCOBOLを長年手がけ、最近Javaを勉強している者です。 JavaにはなぜGO TO 命令がないのでしょうか? IF ネストというのは、わかりにくく、私は昔から嫌っておりました。 ところがJavaにはGO TO 命令が無いため、いやでもIF ネストを使わねばならないようです。 それともわかりやすく効率的なコーディングが別にあるのでしょうか?? 3択の問題で、下記AはJavaの教科書的コーディングです。3択だからまだしも複雑になると、IFネストはわかりにくいと私は思います。 下記Bはわかりやすいですが、無駄な処理が発生し、良くないコーディング例です。 下記CはCOBOLコ-ディングで、GO TOが使えるため、人間が読んでわかりやすく、処理効率もいいです。 ●この点Javaをやっている皆さんどうお考えですか??? ------------------------------------------------------------------------------------ A<教科書的サンプル> if(a > 0){System.out.println("aは正の値です。"); }else if(a == 0){System.out.println("aはゼロです。"); }else{System.out.println("aは負の値です。"); } ------------------------------------------------------------------------------------ B<if ネストを嫌った サンプル> if(a > 0){System.out.println("aは正の値です。");} if(a == 0){System.out.println("aはゼロです。");} if (a < 0){System.out.println("aは負の値です。");} 処理効率悪く、良くないプログラム例 ------------------------------------------------------------------------------------ C<COBOL なら> IF a > 0 DISPLAY "aは正の値です。" GO TO OWARI. IF a = 0 DISPLAY " aはゼロです。" GO TO OWARI. IF a < 0 DISPLAY " aは負の値です。" . OWARI. . GO TO 命令がある故に効率的 IF 構文の終わりと、OWARI の後ろにピリオドがあります。 ------------------------------------------------------------------------------------
↧