Java基礎學習(三):方法的定義和使用、可變參數

Java基礎學習(三):方法的定義和使用、可變參數

一、方法

  • 其他語言稱之爲“函數”,Java稱之爲“方法”。
  • 它是一組通用性的操作。
    - 比如求正弦值,獲得某天日期
  • 返回值可有可無。
  • Java提供了超過1200個自帶的函數方法
  • 可以調用第三方方法(代碼複用)

二、方法定義何使用
1、方法的格式:[權限,修飾] [返回類型] 方法名 ([參數類型] 參數名 ...){ // 具體語句 }

  • 權限,修飾:訪問權限,告訴編譯器如何調用該方法。
  • 返回類型:方法執行完成後,返回的類型。可爲空void。
  • 方法名:命名規則同變量名。
  • 方法參數:也稱入參,是指調用一個方法時可以傳遞的參數,參與方法體運算的變量,每個參數需要定義參數類型,參數可以是多個,可以是空。

2、例如:public static void main(String[] args ){}
3、方法及調用示例:

public class great {
	
	public static void way1(String name , int age , String dream) {//這是一個方法.
		System.out.println("我的名字是" + name + ", 我的年齡是" + age + ", 我的夢想是" + dream);
	}
	
	public static void main(String[] args) {//這是一個主方法
		way1("lee" , 21 , "become a successful man");
	}
}
//------------輸出----------------
我的名字是lee, 我的年齡是21, 我的夢想是become a successful man

三、Java方法的特點

  • 不能獨立存在,必須定義在類中。
  • 必須有main方法開始執行。
  • 不支持默認參數。

四、方法參數

爲了理解方法參數的傳遞,需要介紹Java的兩種底層存儲形式。
Java中的變量分爲基本類型和引用類型,基本變量保存 數值本身 ,引用變量保存 引用內存空間的地址 。

1、按值傳遞

  • 按值傳遞會將實參的值賦值給對應的形參,在函數內部操作是針對形參進行的,操作不影響 實參。
  • 示例代碼:
public class great {
	
	public static void way1(int num) {//這是一個方法.
		
		System.out.println("此時在函數內部的形參:" + num);
		num += 100 ;
		System.out.println("此時在函數內部的形參:" + num);
		
	}
	
	public static void main(String[] args) {//這是一個主方法
		
		int num = 10 ;
		System.out.println("此時實參爲:" + num);
		way1(num);
		System.out.println("此時實參爲:" + num);
	}
}
//---------------輸出---------------
此時實參爲:10
此時在函數內部的形參:10
此時在函數內部的形參:110
此時實參爲:10

2、按引用傳遞

  • 按引用傳遞就是將實參的內存地址傳遞給形參,,在方法中的操作都會影響到實參本身。
  • 示例代碼:
package firstpack;

public class experiment {//先建立一個類
		public static int num ;
}
package firstpack;//這是一個包

public class great {
	
	public static void way1(experiment num) {//這是一個方法.
		
		System.out.println("此時在函數內部的形參:" + experiment.num);
		experiment.num += 100 ;
		System.out.println("此時在函數內部的形參:" + experiment.num);
		
	}
	
	public static void main(String[] args) {//這是一個主方法
		
		experiment num = new experiment();//引用類
		experiment.num = 5;
		System.out.println("此時實參爲:" + experiment.num);
		way1(num);
		System.out.println("此時實參爲:" + experiment.num);
	}
}
//--------------輸出-------------
此時實參爲:5
此時在函數內部的形參:5
此時在函數內部的形參:105
此時實參爲:105

3、基本類型的包裝類,是immutable類型,沒有提供自身修改的函數,可理解爲按值傳遞。

五、方法的返回值

  • 方法計算結果,返回的數據類型同傳入實參相同。
  • 可以是任意類型,也可以爲空void。
  • return執行到,就會強制返回,不會繼續執行後面的語句。
  • 方法傳入類型必須與返回類型相同。
  • 示例代碼:
public class great {
	
	public static double way1(double num) {//這是一個方法.
		
		return num*num ;
	}
	
	public static void main(String[] args) {//這是一個主方法
		System.out.println("輸出結果爲:" + way1(4));
	}
}

六、命令行參數

  • 本質是參數傳遞——由調用者(系統)傳遞給方法(main)的參數。
  • 參數規定爲字符串數組。
  • 類似Linux命令

七、可變參數

  • 參數列表不限定個數,一個方法只允許有一個參數。
  • [修飾符] [返回類型] 方法名 ([參數類型]...參數名){//語句}
  • 可變參數被處理爲數組,可被遍歷。
  • 示例代碼:
public class great {
	
	public static void way1(int num ,String...str) {//這是一個方法.
		for(String str1 : str) {
			System.out.println("這是一個可變參數:" + str1);
			num ++ ;
		}
		System.out.println("共執行:" + num + "次");
	}
	
	public static void main(String[] args) {//這是一個主方法
		way1(0 ,"a","b","c","hahahahaa");
	}
}
//---------------輸出--------------
這是一個可變參數:a
這是一個可變參數:b
這是一個可變參數:c
這是一個可變參數:hahahahaa
共執行:4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章