Java函式和陣列 | Java隨筆記
theme: scrolls-light
「這是我參與11月更文挑戰的第14天,活動詳情檢視:2021最後一次更文挑戰」
相關文章
Java隨筆記:Java隨筆記
-
剛下班到家。。。無能為力。。。水,就硬水~ ```java 1、函式 1)函式的定義:就是定義在類中的具有特定功能的一段獨立小程式。函式也被稱為方法。 格式: 修飾符 返回值型別 函式名 (引數型別 形式引數1 , 引數型別 形式引數2 , .... ){ 執行語句; return 返回值; }
返回值型別:函式執行後的結果的資料型別。 引數型別:是形式引數的資料型別。 形式引數:是一個變數,用於儲存呼叫函式時傳遞給函式的實際引數。 實際引數:傳遞給形式引數的具體數值。 return:用於結束函式。 返回值:該函式運算後的結果,該結果會返回給呼叫者。
注意:返回值是void時,return可以省略。
範例: //對兩個數值進行相加,並且返回 和 的值 public static int plus(int a , int b){ return a+b; }
2)函式的特點: 定義函式可以將功能程式碼封裝。 便於對該功能的複用。 函式只有被呼叫才被執行。 函式的出現提高了程式碼的複用性。 注意:函式中只能呼叫函式,不可以在函式內部定義函式。 定義函式時,函式的結果應該返回呼叫者,交由呼叫者進行處理。 3)函式的應用: 棧:先進後出 4)函式的過載:overload 概念: 在同一個類中,允許存在一個以上的同名函式,只要他們的引數個數或者引數型別不同即可。 特點: 與返回值型別無關,只看引數列表。 好處: 方便於閱讀,優化了程式設計。 示例: //返回兩個整數的和 public static int add(int x,int y){return x+y;} //返回三個整數的和——引數個數不同 public static int add(int x,int y,int z){return x+y+z;} //返回兩個小數的和——引數型別不同 public static double add(double x,double y){return x+y;} 範例:列印自定義乘法口訣表 public static void printCFB(int num){ for(int x = 1; x <= num; x++){ for(int y = 1; y <= x; y++){ System.out.print(y+"*"+x+"="+y*x+"\t"); } System.out.println(); } } public static void printCFB(){ for(int x = 1; x <= 9; x++){ for(int y = 1; y <= x; y++){ System.out.print(y+"*"+x+"="+y*x+"\t"); } System.out.println(); } } 解析: 傳幾過來就列印到幾的乘法口訣表,不傳值列印 9*9 乘法口訣表
2、陣列 1)定義: 概念:同一資料型別資料的集合。其實陣列就是一個容器。 好處:可以自動給陣列中的元素從0開始編號,方便操作這些元素。 格式1: 元素型別[] 陣列名 = new 元素型別[元素的個數或者說陣列長度]; 示例:int[] arr = new int[5]; 格式2: 元素型別[] 陣列名 = new 元素型別[]{元素,元素,元素,.......}; 示例:int[] arr = new int[]{1,2,3,4}; int[] arr = {1,2,3,4};
2)記憶體分配及特點: 記憶體劃分: 暫存器 本地方法區 方法區 棧記憶體:特點是處理速度快 儲存都是區域性變數(方法內的變數,只在當前方法內有用,如:形式引數,方法內變數,for迴圈內的引數)。 一旦變數離開自己的作用域,其記憶體就會被自動釋放。 所有變數都在棧裡面。除了靜態變數。 區域性程式碼塊: { int a = 3;//限定區域性變數的生命週期,執行完立馬釋放 } 堆記憶體: 儲存的是物件。凡是 new 建立的都存在堆中。 特點是: 每一個實體都有一個首地址值。 堆記憶體中的每一個變數都有預設的初始化值,根據型別的不同而不同。整數是0、小數0.0或者0.0f、oolean false、char '\u0000'。 垃圾回收機制:引用資料型別(相當於c++中的指標)儲存在此。當 arr = null; 引用消失。堆中的物件變成’垃圾‘,’垃圾回收機制‘會進行回收。c++是手動清理,使用解構函式進行回收。 3)操作常見問題: 陣列越界: ArrayIndexOutOfBoundsException 當訪問到陣列中不存在的角標時,就會發生該異常。 空指標異常: NullPointerException 當引用型變數沒有任何實體指向時,還在用其操作實體,就會發生該異常。 4)常見操作: 核心思想:就是對角標的操作 遍歷:迴圈遍歷 長度:arr.length 存: arr[0] = 1; 取: arr[i]; 最值操作: 最大值或最小值 int[] arr = {1,2,3,6,5,4}; int max = 0;//儲存最大值 for(int i = 0; i <= arr.length-1; i++){ if(arr[i]>max){ max = arr[i]; } } System.out.println("該陣列最大值為:"+max); 排序和查詢:單獨寫一篇詳細解析! 選擇排序: 氣泡排序: 5)陣列的應用: 如果資料出現了對應關係,而且對應關係的一方是有序的數字編號,並作為角標使用,這時候要想到使用陣列。 6)陣列中的陣列: 二維陣列: 格式1:int[][] arr = new int[3][2]; 定義了名稱為arr的二維陣列。 二維陣列中有3個一維陣列。 每一個一維陣列中有2個元素。 給第一個一維陣列的元素角標寫法為:arr[0][1] = 78; 格式2:int[][] arr = new int[3][]; 二維陣列中三個一維陣列。 每一個一維陣列的初始化值為null。 可以對這三個一維陣列分別進行初始化。 arr[0] = new int[3]; arr[1] = new int[1]; arr[2] = new int[2]; 格式3:int[][] arr = {{1,2},{2,3,7},{6,7}}; 遍歷: for(int i = 0; i < arr.length; i++){ for(int j = 0; j < arr[i].length; j++){ System.out.print("arr" + arr[i][]j); } }
```
路漫漫其修遠兮,吾必將上下求索~
如果你認為i博主寫的不錯!寫作不易,請點贊、關注、評論給博主一個鼓勵吧~hahah
「其他文章」
- 2021已逝,2022我來了 | 2021年終總結
- SpringBoot整合Swagger(十一)常用註解介紹 | Java隨筆記
- SpringBoot整合Swagger(十)常用註解介紹 | Java隨筆記
- 將數字變成 0 的操作次數 | LeetCode刷題筆記
- SpringBoot整合Swagger(九)給你的Swagger換個面板吧 | Java隨筆記
- SpringBoot整合Swagger(八)@ApiModelProperty()註解一擼到底 | Java隨筆記
- SpringBoot整合Swagger(七)@ApiModel()註解一通百通 | Java隨筆記
- SpringBoot整合Swagger(六)玩轉groupName()分組 | Java隨筆記
- SpringBoot整合Swagger(五)動態配製Swagger的開關 | Java隨筆記
- SpringBoot整合Swagger(三)paths()介面過濾 | Java隨筆記
- 隨機數實現撲克牌洗牌 | Java隨筆記
- 線上出問題?遠端DeBug會嗎?| Java隨筆記
- Widows和Linux下如何安裝MySQL | MySQL(前傳)
- Ubuntu新增root使用者和開啟遠端登陸 | Java隨筆記
- Ubuntu16.04上安裝jdk1.8 | Java隨筆記
- Java函式和陣列 | Java隨筆記
- 程式設計師最喜歡的一句話?當然是New物件啦~ | Java隨筆記
- MyBatis中使用foreach批量插入並且返回自增id | MyBatis系列(小技巧一)
- 操作資料庫和資料表 | MySQL(一)基礎
- @Value註解讀取配置檔案中的內容 | Java隨筆記