Java基礎學習筆記_基礎文法3

來源:互聯網
上載者:User
1.函數1)定義:定義在類中的具有特定功能的一段獨立的小程式;2)格式: 修飾符 傳回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2){執行語句;return 傳回值;}3)特點**可以將功能代碼進行封裝;**便於對該功能進行複用;**函數只有被調用才會被執行;**函數的出現提高了代碼的複用性;**對於函數沒有具體傳回值的情況,傳回值類型用關鍵字void表示,那麼該函數中的return語句可以省略不寫,如果寫的話就是return;2.函數重載特點:與傳回值類型無關,只看參數列表,即:參數個數和參數類型;好處:方便於閱讀,最佳化了程式設計;3.數組定義:同一種類型資料的集合。其實數組就是一個容器,它的好處就是可以從0開始編號,方便操作這些元素;數組是一個變數,儲存相同類型的一組資料;數組是在對記憶體中建立的,我們沒有給其賦值,系統會預設給其賦值。數組靜態初始化:int[] arr = {1,2,3,4};數組動態初始化: int[] arr = new int[5];
4.記憶體結構分析棧記憶體:用於儲存局部變數,當資料使用完,所佔空間會自動釋放;堆記憶體: 1)數組和對象通過new建立的實體都存放在對記憶體中;2)每一個實體都有記憶體位址值。3)實體中的變數都有預設初始化值;4)實體不再被使用,會在不確定的時間內被記憶體回收行程回收!5 選擇排序for(int x = 0 ; x < arr.length - 1 ; x++){for(int y = x + 1 ; y < arr.length ; y++){int temp = arr[x];arr[x] > arr[y];arr[y] = temp;}}6.冒泡排序 輕的上浮,重的下沉for(int x = 0 ; x < arr.length ; x++){for(int y = 0 ; y < arr.length -1 -x ; y++){ // -1防止數組下標越界 -x 提高效率if(arr[y] > arr[y+1]){int temp = arr[y];arr[y] = arr[y+1];arr[y + 1] = temp;}}}實際開發中使用 Arrays.toString(arr);語句來列印數組Arrays.sort(arr); 用來給數組排序7.二分尋找 ---有序數組思路:最小角標是0,最大角標是arr.length - 1計算下標的平均值,然後再將要尋找的key與arr[mid]進行比較如果key > arr[mid],min = mid + 1;重新計算mid的值然後再進行比較;如果 key < arr[mid], max = mid - 1,然後重新計算mid的值 再進行比較
public int halfSearch(int[] arr,int key){int min = 0;int max = arr.length - 1;while(min <= max){int mid = (min + max) >>>1;if(key > arr[mid]){min = mid + 1;}else if(key < arr[mid]){max = mid - 1;}else{return mid;}}return -1 ;}
8. 數組反轉(reversal)演算法1:public static void revArray(int[] arr){for(int start = 0 , end = arr.length -1 ;start < end ; start++,end--){int temp = arr[start];arr[start] = arr[end];arr[end] = temp;}}演算法2:public static void revArray(int[] arr){for(int i = 0; i < arr.length /2 ; i ++){int temp = arr[i];arr[i] = arr[arr.length - 1 -i];arr[arr.length-i-1] = temp;}}9. 查表法將十進位轉化成十六進位char[] ch = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};char[] arr = new char[8];public void toHex(int num){int x = arr.length - 1;while(num > 0){int temp = num & 15;arr[x] = ch[temp];x--;num = num >>> 4 ;}for(int i = x + 1; i < arr.length; i++){System.out.print(arr[i]);}}10.二維數組二維數組格式格式1:int[][] arr = new int[2][3];定義了名稱為arr的二維數組,二維數組中有2個一維數組,每個一維數組中有3個元素;一維數組的名稱分別為:arr[0]、arr[1]格式2:int[][]arr = new int[3][];此時如果執行:System.out.println(arr[0]); 結果為null二維數組中有3個一維數組,每個一維數組的預設初始化值為null,可以對這三個數組分別進行初始化:arr[0] = new int[5];arr[1] = new int[3];arr[2] = new int[2];格式3:int[][] = {{1,2,3},{2,7},{9,0,1,6}};for(int x = 0 ; x < arr.length ; x++) { //遍曆每個數組for(int y = 0; y < arr[x].length ; y++){ //遍曆每個數組元素System.out..println(arr[x][y]);}}易錯題:int[] y,x[]; //這個聲明表明:y是一維數組,x是二維數組;1) x = y; //錯誤2) x[0] = y ; //正確3) x[0] = y[0] ; //錯誤4)x = y[0]; //錯誤5)x[0][0] = y[0]; //正確

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.