黑馬程序員-java基礎 循環和數組

---------------------- android培訓java培訓 、期待與您交流! ----------------------

 

while循環  do while循環  for循環:
while循環先判斷在執行,do  while循環 先執行一次再判斷。for循環的變量定義在for循環裏面,for循環結束就消失,可以節約內存。
最簡單的死循環  while(true){},for(;;){} for循環的自行條件默認爲true,  還可以用標號給循環起名。

發現有很多行 每行有很多列 ,則可以實用嵌套循環。比如打印九九乘法表

break  coutinue:
break 跳出當前循環.只能作用於循環或者switch結構結構。
coutinue 繼續循環,只能作用於循環或者switch結構結構。特點 結束本次循環,繼續 下次循環。

方法(函數)
  定義方法可以提高代碼的複用型,方法只有被調用纔會被執行,方法的執行結果給調用者。 
  格式: 修飾符  返回值類型  方法名(參數類型 參數類型1,參數類型 參數類型2,...)
 {
  執行語句;
  return 返回值;//void 類型沒有返回值,可以省略return;
        }
  定義方法的時候:1 首先確定方法執行後想要得到什麼樣的結果
                  2 明確該方法執行過程中是否有未知內容參與 運算

方法的重載: 方法名相同  方法的參數類型和參數個數不同構成重載,與返回類型無關。重載是同一個類中多態的一 種體現形式

數組:同一種類型的集合。其實就是一個容器
格式   數據類型[]  數組名字 = new 數據類型[數組的長度] ;
       數據類型   數組名字[] = new 數據類型[數組的長度] ;
       數據類型[]  數組名字 = new 數據類型[]{元素1  ,元素2  ....};
       數據類型[]  數組名字 = {元素1  ,元素2  ....};
 數組 是引用類型.其長度定義好後不可變。

二維數組 格式: 數據類型[][] 數組名 = new[長度][長度];
                數據類型[][] 數組名 = {{元素1,元素2},{元素1,元素2},{..},{..}};
                數據類型[] 數組名[];

排序:選擇排序:選一個值和每一值比較,滿足條件後交換位置。
 
      冒泡排序: 相鄰兩個值比較大小,滿足條件然後交換位置。

有序數組的折半查找:先查找數組的中間值,然後和需要查找的值比較。如果要查找的值大於得到的中間值,則繼續在大的那一方繼續折半查抄。如果要查找的值小於得到的中間值,則繼續在小的那一方繼續折半查抄。

 

下面是幾個簡單的例子

public class ThreadTest {

 public static void main(String[] args) {
  int[] a = { 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 15, 17, 24, 28, 29, 33 };
  int[] b = {1,4,6,8,9,2,3,5,6,8,7,3,6,11,2,33,44,987,55,134,33,78,89,56};
  //System.out.println(halfSerach(a, 18));
  bubbleSort(b);
  //chooseSort(b);
  for(int s : b){
   System.out.println(s);
  }

 }

 // 選擇排序
 public static void chooseSort(int[] array) {
  for (int i = 0; i < array.length-1; i++) {
   for (int j = i+1; j < array.length ; j++) {
    if (array[i] > array[j]) {
     int temp = array[i];
     array[i] = array[j];
     array[j] = temp;

    }
   }
  }

 }

 // 冒泡排序
 public static void bubbleSort(int[] array) {
  for (int i = 0; i < array.length-1; i++) {
   for (int j = 0; j < array.length - i-1; j++) {
    if (array[j] > array[j + 1]) {
     int temp = array[j];
     array[j ] = array[j+1];
     array[j+1] = temp;
    }
   }
  }

 }

 // 有序數組的折半查找
 public static int halfSerach(int[] array, int key) {
  int min = 0;
  int max = array.length - 1;
  int mid = (min + max) / 2;

  while (key != array[mid]) {
   if (key > array[mid]) {
    min = mid + 1;

   }

   if (key < array[mid]) {
    max = mid - 1;
   }

   if (min > max) {
    return -1;
   }

   mid = (min + max) / 2;
  }
  return mid;
 }
}

 

---------------------- android培訓java培訓 、期待與您交流! ----------------------

 

詳細請查看:http://edu.csdn.net/heima

發佈了32 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章