Java 基礎(chǔ)知識(shí)( 數(shù)組以及排序算法)梳理

文章摘要
1、數(shù)組的聲明和使用。
2、99乘法表


一、數(shù)組

  • 1、數(shù)組:數(shù)組也是變量,是用來存儲(chǔ)相同數(shù)據(jù)類型的一組變量。
    聲明數(shù)組:數(shù)據(jù)類型 數(shù)組名[] 、 數(shù)據(jù)類型[] 數(shù)組名,聲明數(shù)組可以容納的類型。
int index[];
String[] names;
  • 2、數(shù)組的初始化。分配內(nèi)存空間大小
index = new int[30];
names = new String[20];
  • 3、賦值。初始化數(shù)組
index[0] = 1;
names[0] = "HelloWorld";
int[] ages = {45,44,33};//邊聲明、邊初始化
int[] score = new int[]{99,59,80};//聲明+初始化
  • 4、使用
int sum = score[0]+score[1]+score[2];//數(shù)組第一個(gè)元素從0開始
System.out.println("總分?jǐn)?shù):"+sum);

關(guān)于數(shù)組,我們可以總結(jié)如下:
數(shù)組的長度是固定的,也是有邊界的。

數(shù)組第一個(gè)元素從0開始,“l(fā)ength - 1”結(jié)束。數(shù)組越界是常見的編程錯(cuò)誤。

  • 5、應(yīng)用實(shí)戰(zhàn):使用數(shù)組,求最大數(shù),最小數(shù),平均數(shù)
int maxScore=score[0];
int minScore = score[0];
int avg = 0;
for(int i=0;i<score.length;i++){
 if(score[i]>maxScore){
 maxScore = score[i];
 }
 if(score[0]<minScore){
 minScore = score[i];
 }
 avg +=score[i];
}
System.out.println("最大數(shù)字:"+maxScore);
System.out.println("最小數(shù)字:"+minScore);
System.out.println("平均數(shù)字:"+avg/score.length);

二、多維數(shù)組
多維數(shù)組:數(shù)組的數(shù)組,即:數(shù)組的元素也是數(shù)組。

int[][] arrays = new int[][]{
   {1,2,3,4,5},
   {10,9,8,7,6}
};
int[][][] scores = {
   {//小學(xué)各年級(jí)的成績單
       {//小學(xué)一年級(jí)一班
         99,87,76,60
       },
       {//小學(xué)一年級(jí)二班
       100,87,78,60
       },
       {//小學(xué)一年級(jí)三班
         98,87,67,49
       }
   },
   {//初中各年級(jí)的成績單
       {
 
       }
   },
   {//高中各年級(jí)的成績單
       {
 
       }
   }
};

三、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乘法表中的偶數(shù)行不顯示,即:第2行、第4行
for(int i=1;i<=9;i++){
 if(i%2==0)continue;//如果行控制變量i可以被2整除,則不顯示,繼續(xù)下次循環(huán)
 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乘法表中,結(jié)果大于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 

四、冒泡排序
冒泡排序:從最底部的元素開始比較,兩個(gè)元素中的較小的冒到頂部,較大的沉到底部,重復(fù)執(zhí)行,直到所有的元素都被排序。

int numbers[] = {98,102,45,29,85};
int temp = 0;
//冒泡排序1--沉底
for(int i=0;i<numbers.length-1;i++){
 for(int j=0;j<numbers.length-1-i;j++){//每次排序決定[numbers.length-1-i]位置的數(shù)字
 if(numbers[j]>numbers[j+1]){//升序、降序來自">"還是"<"
 temp = numbers[j];
 numbers[j]=numbers[j+1];
 numbers[j+1]=temp;
 }
 }
}

//冒泡排序2-上浮
for(int i=0;i<numbers.length-1;i++){
 for(int j=numbers.length-1;j>i;j--){//每次排序決定[i]位置的數(shù)字
 if(numbers[j]>numbers[j-1]){//升序、降序來自"<"還是">"
 temp = numbers[j];
 numbers[j]=numbers[j-1];
 numbers[j-1]=temp;
 }
 }
}

備注:

案例代碼下載:代碼下載:http://download.csdn.net/detail/hailushijie/9661631

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容