方法的定義,格式--學習筆記--10

1.方法定義及格式:完成特定功能的代碼塊
(1)格式
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2……){
方法體語句;
Return返回值;
}
(2)詳細解釋
返回值類型:就是功能結果的數據類型
方法名:符合規則即可,方便調用
參數
實際參數:就是實際參與運算
形式參數:方法定義上的,用於接收實際參數的
參數類型:參數的數據類型
方法體語句;完成功能的代碼
Return:結束方法
返回值:由return帶給調用者
(3)要想寫好一個方法,就必須明確兩個東西:
A:返回值類型
結果的數據類型
B:參數列表
你要傳遞幾個參數,以及每個參數數據類型.
舉例1:求兩個數據之和

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	}//main方法是虛擬機調用,但是現在方法裏面沒有東西,所以沒有結果
public static int sum(int a,int b) {
	int c=a+b;
	return c;
}
  }

方法的特點:不調用不執行
改進:如何調用呢?
有明確返回值的調用
(1)單獨調用
(2)輸出調用

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	int x=10;
	int y=20;
	//sum(x,y);//單獨調用沒有意義
	System.out.println(sum(x,y));
	}
public static int sum(int a,int b) {
	int c=a+b;
	return c;
}
  }

(3)賦值調用

public static void main(String[] args) {//程序從main方法開始執行
	int x=10;//定義2個int類型的變量
	int y=20;
	int result=sum(x,y);//調用方法
	System.out.println(result);//輸出result
	}
public static int sum(int a,int b) {//分別把x,y的值給了a,b
	return a+b;//計算結果,通過return返回
  }
}

舉例2.鍵盤錄入兩個數據

import java.util.Scanner;
public class One {
public static void main(String[] args) {
 Scanner sc=new Scanner(System.in);
 System.out.println("請輸入第一個數據");
 int a=sc.nextInt();
 System.out.println("請輸入第二個數據");
 int b=sc.nextInt();
 int result=getMax(a,b);
 System.out.println(result);
	}
public static int getMax(int a,int b) {
	if(a>b) {
		return a;
	}else {
		return b;
	}
   }
  }

在這裏插入圖片描述

舉例3.鍵盤錄入兩個數據是否相等
使用布爾類型

import java.util.Scanner;
public class One {
public static void main(String[] args) {
 Scanner sc=new Scanner(System.in);
 System.out.println("請輸入第一個數據");
 int a=sc.nextInt();
 System.out.println("請輸入第二個數據");
 int b=sc.nextInt();
 boolean flag=compare(a,b);
 System.out.println(flag);
	}
public static boolean compare(int a,int b) {
		if (a==b) {
		return true;
		}else {
		return false;
//三元改進
		//boolean flag=((a==b)?true:false);
		//return flag;
	}
   }
  }

在這裏插入圖片描述

舉例4:鍵盤錄入3個數據得出最大值

import java.util.Scanner;
public class One {
public static void main(String[] args) {
 Scanner sc=new Scanner(System.in);
  System.out.println("請輸入第一個數據");
 int a=sc.nextInt();
 System.out.println("請輸入第二個數據");
 int b=sc.nextInt();
 System.out.println("請輸入第三個數據");
 int c=sc.nextInt(); 
 int max=getMax(a,b,c);
 System.out.println(max);
	}
public static int getMax(int a,int b,int c) {
		if (a>b) {
			if(a>c) {
		return a;
		}
			else {
		return c;
		}
	}	
		else {
				if(b>c) {
					return b;
				}else {
					return c;
	 }
	}
   }
 }

在這裏插入圖片描述

小結:
(1)方法與方法是平級關係,不可嵌套使用;
(2)方法定義的參數之間用逗號隔開 ;
(3)方法調用的時候不用在傳遞數據類型;
(4)如果方法有明確的返回值,一定要有return帶回一個值。

舉例5:在控制檯輸入如下圖形
在這裏插入圖片描述
返回值類型:這個時候沒有明確返回值,但不寫不行,所以記住這裏是void
參數列表:int m,int n
void類型返回值的方法調用

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	printXing(3,4);
	printXing(6,7);
	printXing(8,9);
	
	}
public static void printXing(int m,int n) {
		for(int x=0;x<m;x++) {
			for(int y=0;y<n;y++) {
				System.out.print("*");
			}
			System.out.println();
		}
   }
 }

方法二:

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.print("請輸入行數");
	int m=sc.nextInt();
	System.out.print("請輸入列數");
	int n=sc.nextInt();
	printXing(m,n);
	}
public static void printXing(int m,int n) {
		for(int x=0;x<m;x++) {
			for(int y=0;y<n;y++) {
				System.out.print("*");
			}
			System.out.println();
		}
   }
 }

在這裏插入圖片描述

舉例6:輸出nn乘法表

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.print("請輸入n的值");
	int n=sc.nextInt();
	
	printNn(n);
	}
public static void printNn(int n) {
		for(int x=1;x<=n;x++) {
			for(int y=1;y<=x;y++) {
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
   }
 }

在這裏插入圖片描述

小結:
(1)方法功能相同,參數列表不同,Java允許他們起一樣的名字,這種情況叫方法重載;
(2)特點:與返回值類型無關,只看方法名和參數列表
在調用時,虛擬機通過參數列表的不同來區分同名方法;
(3)Jvm會根據不同的參數方法調用不同的功能。
舉例:求兩個數之和

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	System.out.println(sum(10,20));
	System.out.println(sum(10,20,30));
	}

public static int sum(int n,int m) {
		return m+n;
		}
public static int sum(int n,int m,int c) {
	return m+n+c;
	
	}
   }

在這裏插入圖片描述
另一種案例:類型不一樣的求和

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	byte b1=3;
	byte b2=4;
	System.out.println(compare(b1,b2));
}
public static boolean compare(byte a,byte b){
		return a==b;	
		}
public static boolean compare(short a,short b){
	return a==b;	
	}
public static boolean compare(int a,int b){
	return a==b;	
	}

   }
發佈了24 篇原創文章 · 獲贊 4 · 訪問量 1758
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章