Java基礎知識(行列と並べ替えアルゴリズム)を整理します。

3560 ワード

文章の要約1、配列の宣言と使用。2、99乗法表
一、配列
  • 、配列:配列も変数で、同じデータタイプを格納するための変数のセットです。宣言配列:データタイプ配列名[]、データタイプ[]配列名、配列が収容できるタイプを宣言します。
  • int index[];
    String[] names;
    
  • 、配列の初期化。割り当てメモリ空間サイズ
  • index = new int[30];
    names = new String[20];
    
  • 、賦課。初期化配列
  • index[0] = 1;
    names[0] = "HelloWorld";
    int[] ages = {45,44,33};//   、    
    int[] score = new int[]{99,59,80};//  +   
    
  • を使用する。
    int sum = score[0]+score[1]+score[2];//        0  
    System.out.println("   :"+sum);
    
    配列については次のようにまとめることができます。配列の長さは固定であり、境界もあります。
    配列の最初の要素は0から始まり、「length-1」は終了します。配列の境界線が一般的なプログラミングエラーです。
  • 、実戦を応用します:行列を使って、最大数を求めて、最も小数で、平均数は
  • です。
    int maxScore=score[0];
    int minScore = score[0];
    int avg = 0;
    for(int i=0;imaxScore){
     maxScore = score[i];
     }
     if(score[0]
    二、多次元配列多次元配列:配列の配列、すなわち、配列の要素も配列である。
    int[][] arrays = new int[][]{
       {1,2,3,4,5},
       {10,9,8,7,6}
    };
    int[][][] scores = {
       {//         
           {//       
             99,87,76,60
           },
           {//       
           100,87,78,60
           },
           {//       
             98,87,67,49
           }
       },
       {//         
           {
     
           }
       },
       {//         
           {
     
           }
       }
    };
    
    三、99乗法表
  • 3.1、印刷99乗算テーブル
  • for(int i=1;i<=9;i++){
     for(int j=1;j<=i;j++){
     System.out.print(i+"X"+j+"="+(i*j));
     System.out.print(" ");
     }
     System.out.println();
    }
    
    出力:
    1X1=1 
    2X1=2 2X2=4 
    3X1=3 3X2=6 3X3=9 
    4X1=4 4X2=8 4X3=12 4X4=16 
    5X1=5 5X2=10 5X3=15 5X4=20 5X5=25 
    6X1=6 6X2=12 6X3=18 6X4=24 6X5=30 6X6=36 
    7X1=7 7X2=14 7X3=21 7X4=28 7X5=35 7X6=42 7X7=49 
    8X1=8 8X2=16 8X3=24 8X4=32 8X5=40 8X6=48 8X7=56 8X8=64 
    9X1=9 9X2=18 9X3=27 9X4=36 9X5=45 9X6=54 9X7=63 9X8=72 9X9=81 
    
  • 3.2、Continueの使用:
  • // 9X9           , : 2 、 4 
    for(int i=1;i<=9;i++){
     if(i%2==0)continue;//       i   2  ,    ,      
     for(int j=1;j<=i;j++){
     System.out.print(i+"X"+j+"="+(i*j));
     System.out.print(" ");
     }
     System.out.println();
    }
    
  • 3.3、「35難しい」breakの使用:約35の乗法を
  • に出力しません。
    //99    ,    35         
    for(int i=1;i<=9;i++){
     for(int j=1;j<=i;j++){
     if(i*j>35){
     break;
     }
     System.out.print(i+"X"+j+"="+(i*j));
     System.out.print(" ");
     }
     System.out.println();
    }
    
    出力:
    1X1=1 
    2X1=2 2X2=4 
    3X1=3 3X2=6 3X3=9 
    4X1=4 4X2=8 4X3=12 4X4=16 
    5X1=5 5X2=10 5X3=15 5X4=20 5X5=25 
    6X1=6 6X2=12 6X3=18 6X4=24 6X5=30 
    7X1=7 7X2=14 7X3=21 7X4=28 7X5=35 
    8X1=8 8X2=16 8X3=24 8X4=32 
    9X1=9 9X2=18 9X3=27 
    
    四、泡並べ替えの泡並べ替え:一番下の元素から比較し始めて、二つの元素の中の小さいものはトップまで上がり、大きいものは最後まで沈んで、全部の元素が並べ替えられるまで繰り返し実行します。
    int numbers[] = {98,102,45,29,85};
    int temp = 0;
    //    1--  
    for(int i=0;inumbers[j+1]){//  、    ">"  "i;j--){//      [i]     
     if(numbers[j]>numbers[j-1]){//  、    ""
     temp = numbers[j];
     numbers[j]=numbers[j-1];
     numbers[j-1]=temp;
     }
     }
    }
    
    備考:
  • 1、二分割法を加えた双泡並べ替え:http://blog.csdn.net/droyon/article/details/8785903
  • 、選択順序:http://blog.csdn.net/droyon/article/details/8790229
  • 、交換順序:http://blog.csdn.net/droyon/article/details/8785910
  • ケースコードのダウンロード:コードのダウンロード:http://download.csdn.net/detail/hailushijie/9661631