Java函數(shù)

函數(shù)就是定義在類中具有特定功能的一段獨立的小程序。[也稱為方法]
函數(shù)的格式:
修飾符 返回值類型 函數(shù)名 (參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)2,......)
{
      執(zhí)行語句;

return 返回值;

}

public class Example20 {//調(diào)用函數(shù)舉例
    public static void main(String[] args) {
        //調(diào)用myprintf方法
        myprintf(3,5);
        myprintf(2,4);
        myprintf(6,10);
    }
    //接受兩個參數(shù)
    public static void myprintf(int height,int width){
        //for循環(huán)打印*
        for(int i=0;i<height;i++){
            for(int j=0;j<width;j++){
                System.out.print("#");
            }
            System.out.print("\n");
        }
        System.out.println();
    }
}

返回值類型:函數(shù)運行后的結(jié)果數(shù)據(jù)類型
參數(shù)類型 :形式參數(shù)的數(shù)據(jù)類型
形式參數(shù) :是一個變量呢撞,用于存儲調(diào)用函數(shù)時傳遞給函數(shù)的實際參數(shù)
實際參數(shù) :傳遞給形參的具體數(shù)值
return    :結(jié)束函數(shù)
返回值   :函數(shù)的返回結(jié)果狮鸭,該結(jié)果會返回給調(diào)用者

特殊情況:功能沒有具體的返回值類型時,返回值類型用關鍵字 void 表示牌柄,若函數(shù)的返回值void畸悬,函數(shù)中return可省略不寫。

public class FunctionDemo {//函數(shù)的簡單應用
    public static void main(String[] args) {
        /*int sum=add(2,4);//定義兩數(shù)
        System.out.println("sum="+sum);*/
        myprintf();//調(diào)用myprintf()方法
    }
    
     //public static 修飾符
/*    public static int add(int a,int b){
        return a+b;//返回值
    }*/
    
    //功能沒有具體返回值時珊佣,返回值類型用關鍵字void表示
    public static void myprintf(){
        System.out.println("hello world!");
        return;//函數(shù)的返回值void蹋宦,函數(shù)中return可省略
    }
}

函數(shù)的特點:
1.函數(shù)將功能進行封裝
2.被調(diào)用才會被執(zhí)行
3.提高代碼的復用性
4.對于函數(shù)沒有具體返回值類型時,返回類型可以用void表示咒锻,函數(shù)中return可不寫

注意細節(jié):函數(shù)只能調(diào)用函數(shù)冷冗,不可在函數(shù)內(nèi)部定義函數(shù)

//標準的錯誤格式
public class FunctionDemo2 {
    public static void main(String[] args) {
        System.out.println("hello world!");
    
    }
    public static void myprintf(){
        myprintf();    
    }
}

定義函數(shù)時,函數(shù)的結(jié)果應該返回給調(diào)用者

簡單例題:

public class FunctionDemo1 {//打印正方形
    public static void main(String[] args) {
        //調(diào)用
        getXH(3,3);
        getXH(5,6);
    }
    //定義方法
    public static void getXH(int row,int col){
        for (int x = 1; x <=row; x++) {
            for (int j = 1; j <=col; j++) {
                System.out.print("#");
            }
            System.out.print("\n");
        }
        System.out.println();
    }
}
public class FunctionDemo2 {//打印乘法表
    public static void main(String[] args) {
    //    printfCFB();
        printf(4);
    }
    //指定輸出(int num)
    public static void printf(int num){
        for (int i = 1; i <=num; i++) {
            for (int j = 1; j <=i; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
    //標準輸出
    /*public static void printfCFB(){
        for (int i = 1; i <=9; i++) {
            for (int j = 1; j <=i; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }*/
}

方法的重載:Java允許一個程序中定義多個名稱相同的方法惑艇,但是參數(shù)的類型或者個數(shù)必須不同蒿辙,這就是重載
代碼領悟:

public class Example23{//方法的重載
    public static void main(String[] args) {
    /*
     *     //調(diào)用,方法名字各不同滨巴,getnum01思灌、getnum02、getnum03恭取、
    int num1=getnum01(1,3);
    int num2=getnum02(1,3,5);
    double num3=getnum03(1.2,3.8);
    //打印
    System.out.println("num1="+num1);
    System.out.println("num2="+num2);
    System.out.println("num3="+num3);
    }
    //三個不同的方法
    public static int getnum01(int x,int y){
        return x+y;
    } 
    public static int getnum02(int x,int y,int z){
        return x+y+z;
    }
    public static double getnum03(double x,double y){
        return x+y; 
    }
     */
        
/*重載代碼
        求和方法調(diào)用 同個方法名getnum*/
    int num1=getnum(1,3);
    int num2=getnum(1,3,5);
    double num3=getnum(1.2,3.8);
    //打印
    System.out.println("num1="+num1);
    System.out.println("num2="+num2);
    System.out.println("num3="+num3);
    }
    //三個不同的方法
    public static int getnum(int x,int y){
        return x+y;
    } 
    public static int getnum(int x,int y,int z){
        return x+y+z;
    }
    public static double getnum(double x,double y){
        return x+y; 
    }
}
//Java允許一個程序中定義多個名稱相同的方法煮落,但是參數(shù)的類型或者個數(shù)必須不同刁标,這就是重載

歡迎加入學習交流群569772982,大家一起學習交流。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鞭呕,一起剝皮案震驚了整個濱河市励饵,隨后出現(xiàn)的幾起案子有滑,更是在濱河造成了極大的恐慌逆害,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惠猿,死亡現(xiàn)場離奇詭異羔砾,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門蜒茄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唉擂,“玉大人,你說我怎么就攤上這事檀葛⊥嫠睿” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵屿聋,是天一觀的道長空扎。 經(jīng)常有香客問我,道長润讥,這世上最難降的妖魔是什么转锈? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮楚殿,結(jié)果婚禮上撮慨,老公的妹妹穿的比我還像新娘。我一直安慰自己脆粥,他們只是感情好砌溺,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著变隔,像睡著了一般规伐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匣缘,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天猖闪,我揣著相機與錄音,去河邊找鬼肌厨。 笑死培慌,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的夏哭。 我是一名探鬼主播检柬,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼献联,長吁一口氣:“原來是場噩夢啊……” “哼竖配!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起里逆,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤进胯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后原押,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胁镐,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盯漂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颇玷。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖就缆,靈堂內(nèi)的尸體忽然破棺而出帖渠,到底是詐尸還是另有隱情,我是刑警寧澤竭宰,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布空郊,位于F島的核電站,受9級特大地震影響切揭,放射性物質(zhì)發(fā)生泄漏狞甚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一廓旬、第九天 我趴在偏房一處隱蔽的房頂上張望哼审。 院中可真熱鬧,春花似錦孕豹、人聲如沸棺蛛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旁赊。三九已至,卻和暖如春椅野,著一層夾襖步出監(jiān)牢的瞬間终畅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工竟闪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留离福,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓炼蛤,卻偏偏與公主長得像妖爷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子理朋,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,506評論 1 51
  • 1. Java基礎部分 基礎部分的順序:基本語法絮识,類相關的語法,內(nèi)部類的語法嗽上,繼承相關的語法次舌,異常的語法,線程的語...
    子非魚_t_閱讀 31,587評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理兽愤,服務發(fā)現(xiàn)彼念,斷路器挪圾,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 1.函數(shù)的定義: 為了提高代碼的復用性,就把該功能獨立封裝成一段獨立的小程序逐沙,當下次需要執(zhí)行加法運算的時候哲思,就可以...
    峰子1994閱讀 2,660評論 0 2
  • 今天晨讀分享的書是《如何打造你的獨特觀點》,作者認為:一個人獨立思考不是天生吩案,而是一種可以通過鍛煉習得的能力也殖。 我...
    錢生錢落地實操閱讀 126評論 5 6