Java之--Java語言基礎組成—函數


Java語言基礎組成—函數

Java語言由8個模塊構成,分別為:關鍵字、標識符(包名、類名、接口名、常量名、變量名等)、注釋、常量和變量、運算符、語句、函數、數組。

本片主要介紹Java中的函數,函數是Java中最小的功能單元。

1.函數的定義

     1)	定義:指在類中的具有特定功能的一段獨立小程序,也稱為方法。
     2) 格式:
			修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2, ... )	
			{
				執行語句;
			    return 返回值;
			}
			返回值類型:函數運行后的結果的數據類型。
			參數類型:是形式參數的數據類型。
			實際參數:傳遞給形式參數的具體數值。
			return:用於結束函數。
			返回值:該值會返回給調用者。
     3) 范例
       //計算任意整數*3+5的結果
	   class FunctionDemo{
			public static void main(String[] args){
					int x=4;
					System.out.println(x*3+5); 
					int y=6;
					System.out.println(y*3+5); 			
			}
         }

       發現以上的運算,因為獲取不同數據的運算結果,代碼出現了重復。
	   為了提高代碼的復用性,對代碼進行抽取。
	   將這個部分定義成一個獨立的功能,方便使用。
	   Java中對功能的定義是通過函數的形式來體現的。
	   即需要定義一個功能:完成任意整數*3+5的值。
			public static int getResult(int num){
				return num*3+5;
			}
       因此,上面的代碼就可以簡寫為:
		public class FuntionDemo{
			public static void main(String[] args){
				int x=getResult(4);
				int y=getResult(6);
				System.out.println("x="+x+",y="+y);
				}
			}
			public static int getResult(int num){
				return num*3+5;
			}
		//該程序運行結果為:x=17,y=23

2.函數的特點

     1) 定義函數可以將功能代碼進行封裝。
     2) 便於對該功能進行復用。
     3) 函數只有被調用才會執行。
	 4) 函數的出現提高了代碼的復用性。
	 5) 當函數沒有具體返回值的情況,返回值類型用關鍵字void標識,即void代表的是函數沒有具體返回值,那么該函數中的return語句如果在最后一行可以省略不寫,該功能也不能在輸出語句中輸出,在功能中可以輸出,函數直接調用。
	 6) 注意寫法格式:
           函數只能調用函數,不可以在函數內部定義函數(函數是平級的,誰也不包含誰)。
           定義函數時,函數的結果應該返回給調用者,交由調用者處理。 
	 7) 例子說明:直接打印結果,不返回值(注意對應第五個特點)
			public class FuntionDemo{
				public static void main(String[] args){
					getResult(5);
			}
			public static void getResult(int num){
				System.out.println(num*3+5);
				return;  //return可以省略不寫。
				}
			}
		//該程序運行結果為:20

3.函數的應用

     1) 如何定義一個函數?
		*1* 既然函數是一個獨立的功能,那么先明確該功能的運算結果是什么。
		*2* 再明確在定義該功能的過程中是否需要未知的內容參與運算。
		*3* 定義函數時只需完成相對應的功能,將結果返回給調用者,調用者怎么使用是調用者的事情。

     2)實例說明
		這里以簡單的加法運算為例,主要介紹函數的應用,對於函數的特點體現不是特別明確。
        *1* 需求:定義一個功能,完成3+4的運算,並將結果返回給調用者。
        *2* 思路:1.明確該功能的運算結果:是一個整數的和,即明確函數的返回值類型。
             2.再明確在定義該功能的過程中沒有未知的內容參與運算,即明確函數的參數列表(參數類型和參數個數)。
		*3* 程序實現:
		class FunctionDemo2{
			public static void main(String[] args){
			int  sum=getAdd();
			System.out.println("sum="+sum);
			}
			public static int getAdd(){
			return 3+4;
			}
		}
		*4* 結果分析:該程序運行結果為:sum=7

以上函數的功能,結果是固定的,無擴展性。

為方便用戶需求,由用戶來指定加數和被加數,這樣功能才有意義。

		*1* 需求:定義一個功能,完成任意兩個整數加法的運算,並將結果返回給調用者。
        *2* 思路:
            功能的結果是一個整數,即返回值類型為int。
            有兩個未知內容參與運算,類型為int。
		*3* 程序實現:
			class FunctionDemo2{
				public static void main(String[] args){
					int  sum=getAdd(3,5);
					System.out.println("sum="+sum);
					int  sum=getAdd(6,6);
					System.out.println("sum="+sum);
				public static int getAdd(int a int  b){
					return a+b;
					}
				}
		*4* 結果分析:該程序運行結果為:sum=8
									sum=12

     3)函數的具體應用實例(一)
		*1* 需求:判斷兩個數是否相等。
        *2* 思路:
            功能的結果是一個boolean型變量,即返回值類型為boolean。
            有兩個未知內容參與運算,類型為int。
		*3* 程序實現:
			class FunctionDemo{
				public static void main(String[] args){
					compare(3,5);
					System.out.println(compare(3,5));
					}
				public static boolean compare(int a,int  b){
					return (a==b)?true:false;
					}
				}
		*4* 結果分析:該程序運行結果為:flase

     4)函數的具體應用實例(二)
		*1* 需求:輸出兩個整數中的最大值。
        *2* 思路:
            功能的結果是int型變量,即返回值類型為int。
            有兩個未知內容參與運算,類型為int。
		*3* 程序實現:
			class FunctionDemo{
				public static void main(String[] args){
					getMax(3,5);
					System.out.println(getMax(3,5));
					}
				public static int getMax(int a,int  b){
					return (a>b)?a:b;
					}
				}
		*4* 結果分析:該程序運行結果為:5


     4)函數的具體應用實例(三)
		*1* 需求:定義一個功能,用於打印矩形。
        *2* 思路:
            功能的結果直接打印,所以返回值類型是void。
            有兩個未知內容(矩形的行和列)參與運算,類型為int。
		*3* 程序實現:
			class FunctionDemo{
				public static void main(String[] args){
					draw(2,4);
					printHr();
					draw(3,6);
					printHr();
					}
				public static void draw(int row,int col){  //實現矩形的打印功能
					for(int x=0;x<row;x++){
						for(int y=0;y<col;y++){
							System.out.print("*");
						}
						System.out.println();
					}
				}
				public static void printHr(){    //將每個矩形分割開
					System.out.println("----------------------");
				}
			}
		*4* 結果分析:該程序運行結果為:
						****
						****
						----------------------
						******
						******
						******
						----------------------

4.函數的重載

     1) 重載的概念
		在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。。
     2) 重載的特點
		與返回值類型無關,只看參數列表。
     3) 重載的好處
		方便於閱讀,優化了程序設計。
	 4) 重載示例
	 	*1*返回任意兩個小數的和
		   int add(double a,double b){return a+b;}
	 	*2*返回任意兩個整數的和
		   int add(int a,int b){return a+b;}
	 	*3*返回任意三個整數的和
		   int add(int a,int b,int c){return a+b+c;}

	 5) 重載的應用(什么時候用重載)
        當定義的功能相同,但參與運算的未知內容不同時,通過參數列表的不同來區分多個同名函數。
	 6)重載應用實例 
		class FunctionOverload {
			public static void main(String[] args) {
				int x=add(3,6);
				System.out.println(x);
				int y=add(3,6,7);
				System.out.println(y);
			}
			//定義一個加法運算,獲取兩個整數的和。
			public static int  add(int a, int b){  
				return a+b;
				}
			//定義一個加法運算,獲取三個整數的和。
			public static int  add(int a, int b,int c){
				return a+b+c;
				}
		}
		//該程序運行結果為:9
					     16


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM