標籤:嵌套 數組的數組 [] 訪問 並且 個數 scanner src 多個
七、方法 定義:
方法就是完成特定功能的代碼塊
在很多語言裡面都有函數的定義
函數在Java中被稱為方法
格式:
修飾符 傳回值類型 方法名(參數類型 參數名1,參數類型 參數名2…) {
函數體;
return 傳回值;
}
說明:
修飾符 比較多,public static等
傳回值類型 用於限定傳回值的資料類型
方法名 一個名稱,為了方便我們調用方法
參數類型 限定調用方法時傳入參數的資料類型
參數名 是一個變數,接收調用方法時傳入的參數
方法體 完成功能的代碼
return 結束方法以及返回方法指定類型的值
傳回值 程式被return帶回的結果,返回給調用者
注意事項:
方法不調用不執行
方法與方法是平級關係,不能嵌套定義
方法定義的時候參數之間用逗號隔開
方法調用的時候直接傳遞變數或者常量值
如果方法有明確的傳回值,一定要有return帶回一個值
方法調用:
有明確傳回值的方法調用:
單獨調用,沒有意義
輸出調用,有意義,但是不一定要把結果輸出
賦值調用,推薦方式
沒有明確傳回值的函數調用:
其實就是void類型方法的調用
只能單獨調用
方法重載 概述
在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可。
特點
與傳回值類型無關,只看方法名和參數列表
JVM在調用時通過參數列表的不同來區分同名方法
八、數組 概述:
數組是儲存同一種資料類型多個元素的集合。也可以看成是一個容器。
數組既可以儲存基礎資料型別 (Elementary Data Type),也可以儲存引用資料類型。
格式:
格式1:資料類型[] 數組名;
格式2:資料類型 數組名[];
注意:這兩種定義做完了,數組中是沒有元素值的。
初始化: 概述
Java中的數組必須先初始化,然後才能使用。
所謂初始化:就是為數組中的數組元素分配記憶體空間,並為每個數組元素賦值。
初始化方式
動態初始化:初始化時只指定數組長度,由系統為數組分配初始值。
格式:資料類型[] 數組名 = new 資料類型[數組長度];
數組長度其實就是數組中元素的個數。
舉例:
int[] arr = new int[3];
解釋:定義了一個int類型的數組,這個數組中可以存放3個int類型的值。
靜態初始化:初始化時指定每個數組元素的初始值,由系統決定數組長度
格式:
資料類型[] 數組名 = new 資料類型[]{元素1,元素2,…};
舉例:
int[] arr = new int[]{1,2,3};
解釋:定義了一個int類型的數組,這個數組中可以存放3個int類型的值,並且值分別是1,2,3。
其實這種寫法還有一個簡化的寫法
int[] arr = {1,2,3};
Java中的記憶體配置
Java 程式在運行時,需要在記憶體中的分配空間。為了提高運算效率,就對空間進行了不同地區的劃分,因為每一片地區都有特定的處理資料方式和記憶體管理方式。
棧 儲存局部變數
堆 儲存new出來的東西
方法區
本地方法區 (和系統相關)
寄存器 (給CPU使用)
圖解:
數組操作常見的兩個小問題 數組索引越界
ArrayIndexOutOfBoundsException
訪問到了數組中的不存在的索引時發生。
null 指標異常
NullPointerException
數組引用沒有指向實體,卻在操作實體中的元素時。
二維數組 概述
二維數組就是一個元素為一維數組的數組。
格式 格式1:
資料類型[][] 變數名 = new 資料類型[m][n];
m表示這個二維數組有多少個一維數組
n表示每一個一維數組的元素個數
舉例:
int[][] arr = new int[3][2];
定義了一個二維數組arr
這個二維數組有3個一維數組,名稱是arr[0],arr[1],arr[2]
每個一維數組有2個元素,可以通過arr[m][n]來擷取
表示擷取第m+1個一維數組的第n+1個元素
格式2:
資料類型[][] 變數名 = new 資料類型[m][];
m表示這個二維數組有多少個一維數組
這一次沒有直接給出一維數組的元素個數,可以動態給出。
舉例:
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[3]
arr[2] = new int[1];
格式3:
資料類型[][] 變數名 = new 資料類型[][]{{元素…},{元素…},{元素…}};
簡化格式:
資料類型[][] 變數名 = {{元素…},{元素…},{元素…}};
舉例:
int[][] arr = {{1,2,3},{4,6},{6}};
九、鍵盤錄入資料 概述
我們目前在寫程式的時候,資料值都是固定的,但是實際開發中,資料值肯定是變化的,所以,我準備把資料改進為鍵盤錄入,提高程式的靈活性。
鍵盤錄入資料
導包(位置放到class定義的上面)
import java.util.Scanner;
建立對象
Scanner sc = new Scanner(System.in);
接收資料
int x = sc.nextInt();
Java基礎文法(三)