Java/for,while,do while文

ゴールデンウィークも終わって学校が始まり、ちょっとプログラムの勉強時間が減ってしまったけど、どんどん続けていこう。


まずはfor文。
指定した条件に当てはまる限り値を返すことができる。

public class renshuu {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1; i<=5; i++){
System.out.println(i+"回繰り返しました。");
}
System.out.println("繰り返し終了。");

}

}


出力結果は

1回繰り返しました。
2回繰り返しました。
   ・
   ・
5回繰り返しました。
繰り返し終了。

for文の中にforを入れると、たとえば

public class Georges {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

for(int i=0; i<3; i++){
for(int j=0; j<2; j++){
System.out.println(i+"   _  ∩");//
System.out.println(" ( ゚∀゚)彡 おっぱい!おっぱい!");
System.out.println(" (  ⊂彡");
}
}

}

}

とすると出力結果は

0   _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
(  ⊂彡
0   _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
(  ⊂彡
1   _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
(  ⊂彡
1   _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
(  ⊂彡
2   _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
(  ⊂彡
2   _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
(  ⊂彡

となった。つまり初めのfor文による繰り返し1回目→中にあるもう1つのfor文の処理終了→初めのfor文の繰り返し2回目→もう1つのfor文処理終了・・・ということなんだろう。


while,do whileはfor文とほとんど大差の無いものだった。たとえばforで書くと

for(int i = 1; i <= 5; i++){
System.out.println("ぬこかわいいよぬこ");
}

となるコードをwhileで書くと

int i = 1;
while(i <= 5 ){
System.out.println("ぬこかわいいよぬこ");
i++;
}


do whileでは

int i = 1;
do{
System.out.println("ぬこかわいいよぬこ");
i++;
}while(i <= 5 );


となる。
出力結果はどれも

ぬこかわいいよぬこ
ぬこかわいいよぬこ
ぬこかわいいよぬこ
ぬこかわいいよぬこ
ぬこかわいいよぬこ


同じ結果を複数の方法で出力することができるのだけど、そのメリットは今のところ分からないな。きっと「こういうときはforで、違う状況ではwhileを使った方がいい」のように使い分けがあるのではないかと思う。たぶん・・・。