目錄
列:比較兩個數據是否相等。參數類型分別爲byte,short,int,long類型
方法定義
修飾符 返回值類型 方法名稱(參數類型 參數名稱, ...) {
方法體
return 返回值;
}
- 修飾符:現階段的固定寫法,public static
- 返回值類型:也就是方法最終產生的數據結果是什麼類型
- 方法名稱:方法的名字,規則和變量一樣,小駝峯
- 參數類型:進入方法的數據是什麼類型
- 參數名稱:進入方法的數據對應的變量名稱
- PS:參數如果有多個,使用逗號進行分隔
- 方法體:方法需要做的事情,若干行代碼
- return:兩個作用,第一停止當前方法,第二將後面的返回值還給調用處
- 返回值:也就是方法執行後最終產生的數據結果
方法參數
有參數:小括號當中有內容,當一個方法需要一些數據條件,才能完成任務的時候,就是有參數。
例如兩個數字相加,必須知道兩個數字是各自多少,才能相加。
無參數:小括號當中留空。一個方法不需要任何數據條件,自己就能獨立完成任務,就是無參數。
例如定義一個方法,打印固定10次HelloWorld。
方法三要素
方法名稱、參數列表、返回值
列:定義一個方法,用來判斷兩個數字是否相同。
public static void main(String[] args) {
System.out.println(isSame(10, 20)); // false
System.out.println(isSame(20, 20)); // true
System.out.println(isSame(10,40));
}
/*
三要素:
返回值類型:boolean
方法名稱:isSame
參數列表:int a, int b
*/
public static boolean isSame(int a, int b) {
/* //方法一:
boolean same;
if (a == b) {
same = true;
} else {
same = false;
}*/
// 方法二:boolean same = a == b ? true : false;
// 方法三:boolean same = a == b;
return a == b;
}
使用方法的注意事項
1. 方法應該定義在類當中,但是不能在方法當中再定義方法。不能嵌套。
2. 方法定義的前後順序無所謂。
3. 方法定義之後不會執行,如果希望執行,一定要調用:單獨調用、打印調用、賦值調用。
4. 如果方法有返回值,那麼必須寫上“return 返回值;”,不能沒有。
5. return後面的返回值數據,必須和方法的返回值類型,對應起來。
6. 對於一個void沒有返回值的方法,不能寫return後面的返回值,只能寫return自己。
7. 對於void方法當中最後一行的return可以省略不寫。
8. 一個方法當中可以有多個return語句,但是必須保證同時只有一個會被執行到,兩個return不能連寫。
public static int method1() {
return 10;
}
public static void method2() {
// return 10; // 錯誤的寫法!方法沒有返回值,return後面就不能寫返回值。
return; // 沒有返回值,只是結束方法的執行而已。
}
public static void method3() {
System.out.println("AAA");
System.out.println("BBB");
// return; // 最後一行的return可以省略不寫。
}
public static int getMax(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
方法重載
- 方法重載:指在同一個類中,允許存在一個以上的同名方法,只要它們的參數列表不同即可,與修飾符和返回值類型無關。
- 參數列表:個數不同,數據類型不同,順序不同。
- 重載方法調用:JVM通過方法的參數列表,調用不同的方法。
方法重載與下列因素無關:
1. 與參數的名稱無關 2. 與方法的返回值類型無關
列:方法重載練習
public static void main(String[] args) {
System.out.println(sum(10, 20)); // 兩個參數的方法
System.out.println(sum(10, 20, 30)); // 三個參數的方法
System.out.println(sum(10, 20, 30, 40)); // 四個參數的方法
sum(10, 20);
}
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}
public static int sum(int a, int b) {
System.out.println("有2個參數的方法執行!");
return a + b;
}
public static int sum(double a, double b) {
return (int) (a + b);
}
public static int sum(int a, int b, int c) {
System.out.println("有3個參數的方法執行!");
return a + b + c;
}
public static int sum(int a, int b, int c, int d) {
System.out.println("有4個參數的方法執行!");
return a + b + c + d;
}
列:比較兩個數據是否相等。參數類型分別爲byte,short,int,long類型
public static void main(String[] args) {
byte a = 10;
byte b = 20;
System.out.println(isSame(a, b));
System.out.println(isSame((short) 20, (short) 20));
System.out.println(isSame(11, 12));
System.out.println(isSame(10L, 10L));
}
public static boolean isSame(byte a, byte b) {
System.out.println("兩個byte參數的方法執行!");
boolean same;
if (a == b) {
same = true;
} else {
same = false;
}
return same;
}
public static boolean isSame(short a, short b) {
System.out.println("兩個short參數的方法執行!");
boolean same = a == b ? true : false;
return same;
}
public static boolean isSame(int a, int b) {
System.out.println("兩個int參數的方法執行!");
return a == b;
}
public static boolean isSame(long a, long b) {
System.out.println("兩個long參數的方法執行!");
if (a == b) {
return true;
} else {
return false;
}
}