for文

<概要>ループ文を学びます。またもやC言語、C++言語とほぼ一緒。ああっ、とばさないでっ(笑)!

例題6-1 for 文が終了した後の制御変数の値。

○プログラム

public class CountOk{
  public static void main(String[] args){
    int i;
    for(i=0;i<3;i++){
      System.out.println(i);
    }
    System.out.println("i="+i);
  }
}


○実行結果

D:\atsushi\Java\List6-7>java CountOk
0
1
2
i=3
-- Press any key to exit (Input "c" to continue) --

○解説

for 文の条件式は if 文らと同じく boolean 型です。

答えで重要なのは、int 型変数 i を宣言している場所です。
C言語、C++言語では for 文の引数として変数宣言しても、
それはブロックの外で宣言されたと見なされました。
ところがJava言語では、ブロックの中で宣言されたと見なされます。
したがって、for 文の引数として宣言された変数は for ループの内部でしか使うことが出来ません。

例題6-2 キー入力した文字列の各文字の文字コード( Unicode )を表示する。

○プログラム

import java.io.*;

public class ShowUnicode{
  public static void main(String[] args){
    System.out.println("文字列を入力して下さい。");
    BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
    try{
      String line=reader.readLine();
      for(int i=0;i<line.length();i++){
        char c=line.charAt(i);
        System.out.println("'"+c+"'の文字コードは"+(int)c+"です。");
      }
    }catch(IOException e){
      System.out.println(e);
    }
  }
}


○実行結果

D:\atsushi\Java\ListA3-3>java ShowUnicode
文字列を入力して下さい。
abcABC123
'a'の文字コードは97です。
'b'の文字コードは98です。
'c'の文字コードは99です。
'A'の文字コードは65です。
'B'の文字コードは66です。
'C'の文字コードは67です。
'1'の文字コードは49です。
'2'の文字コードは50です。
'3'の文字コードは51です。
-- Press any key to exit (Input "c" to continue) --

○解説

文字の文字コードを表示させる為には、int 型にキャストしなければなりません。
Java言語で採用されている Unicode も abc のような連続した文字の文字コードは、
やはり連続した値をとることが分かります。
C言語、C++言語で用いた前提がJava言語でも使えるのですね。

例題6-3 九九の表を作るプログラム。

○プログラム

public class DrawKukuTable2{
  public static void main(String[] args){
    for(int i=1;i<10;i++){
      for(int j=1;j<10;j++){
        System.out.print(i+"*"+j+"="+(i*j)+"\t");
      }
      System.out.println("");
    }
  }
}


○実行結果(ホームページ作成ソフトの都合により体裁が崩れています)

D:\atsushi\Java\ListA6-3>java DrawKukuTable2
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
-- Press any key to exit (Input "c" to continue) --

○解説

print メソッドは改行しない println メソッドです。

例題6-4 0 〜 9 の棒グラフ( * を横に並べる)を書くプログラム。

○プログラム

public class DrawGraph1{
  public static void main(String[] args){
    for(int i=0;i<10;i++){
      System.out.print(i+":");
      for(int j=0;j<i;j++){
        System.out.print("*");
      }
      System.out.println("");
    }
  }
}


○実行結果

D:\atsushi\Java\List6-4>java DrawGraph1
0:
1:*
2:**
3:***
4:****
5:*****
6:******
7:*******
8:********
9:*********
-- Press any key to exit (Input "c" to continue) --

○解説

C言語、C++言語と一緒。


戻る / ホーム