8.Java語言基礎:函數

閱讀目錄:小程序

1.函數的定義函數

2.函數的特色優化

3.函數的應用spa

4.函數的重載設計

 

1.函數的定義

1.函數的定義
    答:函數就是定義在類中的具備特定功能的一段獨立小程序。
    函數也稱爲方法。
    
2.函數的格式
    修飾符  返回值類型 函數名(參數類型  形式參數1,參數類型 形式參數2,...)
    {
        執行語句;
        return 返回值;
    }
    
    返回值類型:函數運行後的結果的數據類型。
    參數類型:是形式參數的數據類型。
    形式參數:是一個變量,用於存儲調用函數時傳遞給函數的實際參數。
    return:用於結束函數。
    返回值:該函數運算後的結果,該結果會返回給調用者。

 

示例:code

class FunctionDemo
{
    public static void main(String[] args)
    {
        //int a = 3;
        //int b = 4;
        //int c;
        //c = a+b;
        
        //c = 5+7;
        //c = 9+8;
        
        int c = add(3,4)
        System.out.println("c="+c)
        
    }
    
    public static int add(int a, int b)
    {
        return a+b;
    }

    /*
    裝飾符 返回值類型 函數名(參數類型 形式參數1, 參數類型 形式參數2,...)
    {
      執行語句;
      return 返回值;
    }

    */blog



    
}

 

特殊狀況示例:
總結: 沒有具體返回值時,返回值類型用void表示
注意: 若是返回值類型是void,那麼函數中的return語句能夠省略不寫。
class FunctionDemo01
{
    public static void main(String[] args)
    {
        myPrint();
        myPrint();
        
    }
    
    public static void myPirnt()
    {
        System.out.println("hello world")
        return;
    }
    
    public static int add(int a,int b)
    {
        return a+b;
    }
    
    
}

 

2.函數的特色

 

函數的特色:
    1.定義函數能夠將功能代碼進行封裝
    2.便於對該功能進行復用
    3.函數只有被調用纔會被執行
    4.函數的出現提升了代碼的複用性
    5.對於函數沒有具體返回值的狀況,返回值類型用關鍵字void表示
      那麼該函數中的return語句若是在最後一行能夠省略不寫。
    注意:
        函數中只能調用函數,不能夠在函數內部定義函數。
        定義函數時,函數的結果應該返回給調用者,交由調用者處理。

 

注意點:小誤區get

class FunctionDemo02
{
    public static void main(String[] args)
    {
        int x = add(3,5);  //絞肉機
        System.out.println("x="+x)
        add(3,5)
        
    }
    
    //這種形式不合適,定義函數的誤區,由於直接就輸出結果了。
    public static void add(int a;int b)
    {
        System.out.println(a+b);
        return;
    }
    
    //用這種格式比較適合
    public static int add(int a,int b)
    {
        return a+b;
    }
    
    
}

 

練習:io

class FunctionDemo03
{
    public static void main(String[] args)
    {
        System.out.println("hello world")
    }
    
    /*
        需求1: 定義一個功能,完成兩個整數的和的獲取。
        思路:既然定義功能,就是能夠用函數來體現。
            如何定義一個函數呢?
            經過兩個明確來完成。
            明確1:這個功能的結果是什麼?  是和,是功能的結果,因此該功能的返回值類型是int
            明確2:這個功能實現過程當中是否須要未知內容參與運算? 有,加數和被加數,這就是函數的參數列表(參數的個數,參數的類型)
            注意: 返回值類型和參數類型沒有直接關係。
    */
    public static int add(int a,int b)
    {
        int sum = a+b;
        return sum;
    }
    
    
    
    
    /*
        需求2: 定義一個功能,畫一個矩形在控制檯。
        明確1: 這個功能的結果是什麼?
            答:沒有結果,由於直接打印到了控制檯,並未返回給調用者。用void表示
        明確2: 這個功能實現過程當中是否須要未知內容參與運算?
            答:有,行和列不肯定。兩個。整數int
            
    */    
    public static void draw(int row,int col)
    {
        for (int x=1; x<=row; x++)
        {
            for (int y=1; y<=col, y++)
            {
                System.out.print("*")
            }
            System.out.println();
        }
    }

    /*
        需求3: 定義一個功能,比較兩個數是否相等。
        明確1: 這個功能的結果是什麼?
            答:有, boolean
        明確2: 這個功能實現過程當中是否須要未知內容參與運算?
            答:有兩個整數。
            
    */
    public static boolean equals(int a,int b)
    {
        /*
        if(a==b)
            return true;
        else 
            return flase;
        */
        //return (a == b)? true:false;    
        return a===b;
    }

    /*
        需求1: 定義一個功能,獲取兩個數較大的數。
        明確1: 這個功能的結果是什麼?
            答:有,int
        明確2: 這個功能實現過程當中是否須要未知內容參與運算?
            答:有參與比較的兩個整數,int
    */    
    public static int getMax(int a, int b)
    {
        if (a>b)
            return a;
        else 
            return b;
        
    }
    
    /*
        定義功能: 打印99乘法表
    */
    public static void print99()
    {
        for(int x=1; x<=9; x++)
        {
            for(int y=1; y<=x; y++)
            {
                System.out.print(y+"*"+x+"="+y*x+"\t");
            }
            System.out.println()
        }
    }
    
    /*
        根據考試成績獲取學生分數對應的等級
        90-100 A
        80-89 B
        70-79  C
        60-69  D
        60如下 E
        
        結果: 等級,字符,char
        參數: 分數,int
        
    */
    public static char getLevel(int num)
    {
        char level;
        if (num>=90n && num<=100)
            level = 'A'
        else if (num>=80 && num <=89)
            level = 'B'
        else if (num>=70 && num <=79)
            level = 'C'
        else if (num>=60 && num <=69)
            level = 'D'
        else  
            level = 'E'
        return level;
    }
}

 

 

3.函數的應用

 

 

 

4.函數的重載

 

1.函數的重載

重載的概念:
    在同一個類中,容許存在一個以上的同名函數,只要他們的參數個數或者參數類型不一樣便可。
    
重載的特色:
    與返回值類型無關,只看參數列表
    
重載的好處:
    方便於閱讀,優化了程序設計
    
重載示例:
    //返回兩個整數的和
int add(int x, int y)(return x+y;)
    //返回三個整數的和
int add(int x,int y,int z)(return x+y+z;)
    //返回兩個小數的和
double add(double x ,double y)(return x+y;)
    
    
    
/
*
需求:函數的重載
*
/    

class  FunctionDemo4
{
    public static void main(String [] args)
    {
        //System.out.println("Hello world")
        printCFB(9);
    }
    /*
    1.同一個類
    2.同名
    3.參數個數不一樣,或者,參數類型不一樣
    */
    
    //加法運算,兩個整數的和
    public static int add1(int a,int b)
    {
        return a+b;
    }
    
    //加法運算,兩個小數的和
    public short double add2(double a,double b)
    {
        return a+b;
    }
    
    //加法運算,三個整數的和
    public static int add3(int a,int b,int c)
    {
        return a+b+c;
    }
    
    /*
    打印乘法表
    */
    public static void printCFB(int num)
    {
        for(int x=1; x<=num; x++)
        {
            for(int y=1; y<=x; y++)
            {
                System.out.print(y+"*"+x+"="+y*x+"\t");
                
            }
            System.out.println();
        }
    }
    
    /*
    打印標準乘法表
    */
    public static void printCFB()
    {
        printCFB(9);
    }
    
    
}
相關文章
相關標籤/搜索