Java IB 総まとめ:
--------------------------------------------------------------------

 1:クラスの構造とソースファイルの名前のルール
 2:コンパイルと実行の手順
 3:main()メソッドの役割と処理の開始

/* 課題1:次のプログラムは何という名前のソースファイルに保存しますか?
 * そのソースファイルをコンパイルするには、どうしますか?
 * コンパイルの結果、新しいファイルが生成されます。その名前は?
 * プログラムを実行するには、どうしますか?
 * プログラムを実行すると、どんな結果が出力されますすか?
 */
public class Check1 {

   public static void main( String[] args ) {
       System.out.println( "Hello, Wakkanai Hokusei" );
   }
}

 4:型の意味
 5:型の宣言と識別名(変数名)
 6:基本データ型の名称と意味
 7:演算と演算子
 8:値の代入
 9:四則演算

/* 課題2:次のプログラムはどんな結果を出力しますか? */
public class Check2 {

   public static void main( String[] args ) {
       int x;
       x = 1;
       System.out.println( x );
       x = x + 1;
       System.out.println( x );
       x = x * x;
       System.out.println( x );
       x = x - x/x;
       System.out.println( x );
   }
}

10:剰余演算(余りの計算)
11:文字と文字列のデータ表現
12:文字列の連結

/* 課題3:次のプログラムはどんな結果を出力しますか? */
public class Check3 {

   public static void main( String[] args ) {
       int n=20;
       int m=7;
       System.out.println( "n / m = " + (n/m) );
       System.out.println( "n % m = " + (n%m) );
       float x=20.0f;
       float y=7.0f;
       System.out.println( "x / y = " + (x/y) );
   }
}


13:代入演算
14:インクリメント、デクリメント


/* 課題4:次のプログラムはどんな結果を出力しますか? */
public class Check4 {

   public static void main( String[] args ) {
       int x = 2;
       x += 1;
       x *= 2;
       x++;
       x %= 3;
       --x;
       String str = "点";
       System.out.println( x + str );
   }
}


15:論理演算
16:その他の演算


/* 課題5:次のプログラムはどんな結果を出力しますか? */
public class Check5 {

   public static void main( String[] args ) {
       int x=100;
       int y=50;
       boolean b;
       b = ( x < y );
       System.out.println( b );
       b = !b;
       System.out.println( b );
       b = ( x > y ) || ( x <= y );
       System.out.println( b );
       b = ( x > y ) && ( x <= y );
       System.out.println( b );
   }
}


17:配列
18:配列の宣言
19:配列の初期化


/* 課題6:次のプログラムはどんな結果を出力しますか? */
public class Check6 {

   public static void main( String[] args ) {
       int[] a = { 1, 2, 3 };
       System.out.println( a[0] );
       System.out.println( a[ a.length - 1 ] );

       a = new int[2];
       a[0] = 100;
       a[1] = 200;
       System.out.println( a[0] );
       System.out.println( a[ a.length - 1 ] );
   }
}


20:条件分岐の構造(if-else)


/* 課題7:次のプログラムはどんな結果を出力しますか? */
public class Check7 {

   public static void main( String[] args ) {
       int x, y;
       x = 10;
       y = 111 - x * x;
       if( x > y ) {
          System.out.println( "x is bigger than y" );
       }
       else if( x == y ) {
          System.out.println( "x and y are equal" );
       }
       else {
          System.out.println( "x is smaller than y" );
       }
   }
}


21:switch-case とラベル、break文


/* 課題8:次のプログラムはどんな結果を出力しますか? */
public class Check8 {

   public static void main( String[] args ) {
       int x = 100%7;
       switch( x ) {
           case 0:
               System.out.println( "余り0" );
               break;
           case 1:
               System.out.println( "余り1" );
               break;
           case 2:
               System.out.println( "余り2" );
               break;
           default:
               System.out.println( "それ以外" );
       }
   }
}


22:繰り返しの構造(while)


/* 課題9:次のプログラムはどんな結果を出力しますか? */
public class Check9 {

   public static void main( String[] args ) {
       int x = 3;
       while( x < 100 ) {
           System.out.println( x );
           x *= x;
       }
   }
}


23:for


/* 課題10:次のプログラムはどんな結果を出力しますか? */
public class Check10 {

   public static void main( String[] args ) {
       int[] a = { 5, 9, 8, 4, 3 };
       for( int i=0; i<a.length; i++ ) {
           System.out.println( a[i]%2 );
       }
   }
}


24:条件分岐と繰り返しの階層構造


/* 課題11:次のプログラムはどんな結果を出力しますか? */
public class Check11 {

   public static void main( String[] args ) {
       int[] a = { 5, 9, 8, 4, 3 };
       for( int i=0; i<a.length; i++ ) {
           if( a[i]%2 != 0 ) {
              System.out.println( a[i] );
           }
       }
   }
}


25:メソッドの呼び出しと処理のジャンプ


/* 課題12:次のプログラムはどんな結果を出力しますか? */
public class Check12 {

   public static void method1() {

       System.out.println( "I am method1" );
   }

   public static void method2() {

       method1();
       System.out.println( "I am method2" );
       method1();
   }

   public static void main( String[] args ) {

       method2();
   }
}


26:メソッドの引数
27:メソッドの返り値と型


/* 課題13:次のプログラムはどんな結果を出力しますか? */
public class Check13 {

   public static String method( int x ) {

       String str = "";
       for( int i=0; i<x; i++ ) {
           str += i;
       }
       return str;
   }

   public static void main( String[] args ) {

       String result;
       int m=10;
       result = method( m );
       System.out.println( result );
   }
}


28:基本のアルゴリズム(1)合計と平均値


/* 課題14:次のプログラムはどんな結果を出力しますか? */
public class Check14 {

   public static void main( String[] args ) {
       int[] a = { 5, 9, 8, 4, 3 };
       int sum = 0;
       for( int i=0; i<a.length; i++ ) {
            sum += a[i];
       }
       System.out.println( sum/a.length );
   }
}


29:最大値と最小値


/* 課題15:次のプログラムはどんな結果を出力しますか? */
public class Check15 {

   public static void main( String[] args ) {
       int[] a = { 5, 9, 8, 4, 3 };
       int max = a[0];
       for( int i=1; i<a.length; i++ ) {
           if( a[i] > max ) {
              max = a[i];
              System.out.println( max );
           }
       }
   }
}


30:ソート


/* 課題16:次のプログラムはどんな結果を出力しますか? */
public class Check16 {

   public static void main( String[] args ) {
       int[] a = { 5, 9, 8, 4, 3 };
       for( int i=0; i<a.length; i++ ) {
           maxN( a, i );
       }
   }

   public static void maxN( int[] a, int n ) {
       int max = a[n];
       int maxIndex = n;
       for( int i=n+1; i<a.length; i++ ) {
           if( a[i] > max ) {
              max = a[i];
              maxIndex = i;
           }
       }
       a[maxIndex] = a[n];
       a[n] = max;
       System.out.println( a[n] );
   }
}


31:J2SDKのクラスライブラリ、パッケージ

/* 課題17:次のプログラムはどんな結果を出力しますか? */
public class Check17 {

   public static void main( String[] args ) {

       int i = Integer.parseInt( "100" + "0" );
       System.out.println( i );
   }
}