摘要:方法的返回值方法返回什么類型的值我們就用對應(yīng)的數(shù)據(jù)類型的變量來接收調(diào)用方法執(zhí)行流程調(diào)用方法執(zhí)行流程方法的定義是沒有順序的,寫在函數(shù)的上邊或者下邊都可以。
01方法的概述
* A: 為什么要有方法 * 提高代碼的復(fù)用性 * B: 什么是方法 * 完成特定功能的代碼塊。02方法的定義格式
* A: 方法的格式 * 修飾符 返回值類型 方法名(參數(shù)類型 參數(shù)名1,參數(shù)類型 參數(shù)名2...) { 方法體語句; return 返回值; } * B: 方法的格式說明 * 修飾符:目前就用 public static。后面我們再詳細(xì)的講解其他的修飾符。 * 返回值類型:就是功能結(jié)果的數(shù)據(jù)類型。 * 方法名:符合命名規(guī)則即可。方便我們的調(diào)用。 * 參數(shù): * 實(shí)際參數(shù):就是實(shí)際參與運(yùn)算的。 * 形式參數(shù);就是方法定義上的,用于接收實(shí)際參數(shù)的。 * 參數(shù)類型:就是參數(shù)的數(shù)據(jù)類型 * 參數(shù)名:就是變量名 * 方法體語句:就是完成功能的代碼。 * return:結(jié)束方法的。 * 返回值:就是功能的結(jié)果,由return帶給調(diào)用者。03定義方法計(jì)算面積
* A: 定義方法計(jì)算面積 public class MethodDemo{ public static void main(String[] args){ //調(diào)用方法, 方法執(zhí)行起來 // 在方法main中,調(diào)用方法 getArea int area = getArea(5,6); System.out.println("面積是: "+area); } /* 要求: 計(jì)算一個(gè)長方形的面積 定義方法解決這個(gè)要求 分析方法定義過程: 1.明確方法計(jì)算后的結(jié)果的數(shù)據(jù)類型 int 定義格式對應(yīng)的就是返回值類型 2.方法計(jì)算過程中,有沒有未知的數(shù)據(jù), 寬和長, 未知數(shù)據(jù)的數(shù)據(jù)類型 int 未知數(shù)的變量,定義在方法的小括號內(nèi) */ public static int getArea(int w, int h){ //實(shí)現(xiàn)方法的功能主體 //int area = w * h; return w * h; } }04調(diào)用方法
* A: 調(diào)用方法 * a: 在main函數(shù)中調(diào)用方法,讓方法執(zhí)行起來 * b: 方法的形參 * 方法要什么參數(shù)我們就給什么類型的參數(shù)。 * c: 方法的返回值 * 方法返回什么類型的值我們就用對應(yīng)的數(shù)據(jù)類型的變量來接收05調(diào)用方法執(zhí)行流程
* A: 調(diào)用方法執(zhí)行流程 * a: 方法的定義是沒有順序的,寫在main函數(shù)的上邊或者下邊都可以。 * b: 方法的執(zhí)行,是把實(shí)參傳遞給形參,從而來執(zhí)行的。 * c: 方法只有被調(diào)用才會執(zhí)行。06方法調(diào)用的內(nèi)存圖
* A: 方法調(diào)用的內(nèi)存圖 * a: 參見day05day05(Java基礎(chǔ)語法)day05_source方法內(nèi)存圖.JPG07方法調(diào)用的練習(xí)
* A: 案例代碼 /* 方法的定義練習(xí) */ import java.util.Scanner; public class MethodDemo_1{ public static void main(String[] args){ //printRect(); //int number = getNumber(); //System.out.println(getNumber()); //printRect2(3,5); double avg = getAvg(2,2,3); System.out.println(avg); } /* 定義有返回值有參數(shù)方法,如求三個(gè)數(shù)的平均值 明確方法計(jì)算后的數(shù)據(jù)類型, 返回值類型 double 明確方法未知數(shù), 三個(gè)未知的整數(shù) */ public static double getAvg(double a, double b,double c){ return (a+b+c)/3; } /* 定義無返回值有參數(shù)方法,如打印指定M行,每行N個(gè)*號的矩形 明確方法計(jì)算后結(jié)果,控制臺輸出圖形,沒有返回值的 方法中有沒有未知數(shù),圖形行數(shù),和列數(shù),是未知的, 數(shù)據(jù)類型整數(shù)int */ public static void printRect2(int m,int n){ for(int i = 0 ; i < m ; i++){ for(int j = 0 ; j < n ; j++){ System.out.print("*"); } System.out.println(); } } /* 定義有返回值無參數(shù)方法,如鍵盤錄入得到一個(gè)整數(shù) 明確方法計(jì)算后結(jié)果的數(shù)據(jù)類型 int 明確有沒有未知數(shù),沒 */ public static int getNumber(){ Scanner sc = new Scanner(System.in); //int number = sc.nextInt(); return sc.nextInt(); } /* 定義無返回值無參數(shù)方法,如打印3行,每行3個(gè)*號的矩形 為什么沒有返回值: 打印矩形 ,輸出效果,不需要將結(jié)果返回 明確未知數(shù): 不需要未知數(shù) */ public static void printRect(){ for(int i = 0 ; i < 3 ; i++){ for(int j = 0 ; j < 3 ;j++){ System.out.print("*"); } System.out.println(); } } }08方法的定義和使用的注意事項(xiàng)
* A: 方法的定義和使用的注意事項(xiàng) * a: 方法不能定義在另一個(gè)方法的里面 * b: 寫錯(cuò)方法名字 * c: 寫錯(cuò)了參數(shù)列表 * d: 方法返回值是void,方法中可以省略return 不寫 return 下面不能有代碼 * e 方法返回值類型,和return 后面數(shù)據(jù)類型必須匹配 * f: 方法重復(fù)定義問題 * g: 調(diào)用方法的時(shí)候,返回值是void, 不能寫在輸出語句中09方法的重載
* A: 方法的重載 * 在同一個(gè)類中,方法名相同,參數(shù)列表不同。與返回值類型無關(guān)。 * 參數(shù)列表不同: * A:參數(shù)個(gè)數(shù)不同 * B:參數(shù)類型不同 * C:參數(shù)的順序不同(算重載,但是在開發(fā)中不用) * B: 案例代碼 public static int getSum(int a,int b){ System.out.println("兩個(gè)int參數(shù)"); return a+b; } public static int getSum(int a,int b,int c){ System.out.println("三個(gè)int參數(shù)"); return a+b+c; } public static double getSum(double a,double b){ System.out.println("兩個(gè)double參數(shù)"); return a+b; }10方法重載注意事項(xiàng)
* A: 方法重載注意事項(xiàng) * a: 參數(shù)列表必須不同 * b: 重載和參數(shù)變量名無關(guān) * c: 重載和返回值類型無關(guān) * d: 重載和修飾符無關(guān) * e: 技巧: 重載看方法名和參數(shù)列表11方法參數(shù)是基本數(shù)據(jù)類型
* A: 方法參數(shù)是基本數(shù)據(jù)類型 * a: 方法參數(shù)是基本類型時(shí),傳遞的是值。12方法參數(shù)是引用數(shù)據(jù)類型
* A: 方法參數(shù)是引用數(shù)據(jù)類型 * a: 方法參數(shù)是引用類型時(shí),傳遞的是內(nèi)存地址值。13隨機(jī)點(diǎn)名器
* A: 案例代碼 /* 實(shí)現(xiàn)隨機(jī)點(diǎn)名器 1.存儲所有學(xué)生姓名 2.預(yù)覽所有學(xué)生姓名,遍歷數(shù)組 3.隨機(jī)數(shù)作為索引,到數(shù)組中找元素 將功能獨(dú)立出來, 作成方法,調(diào)用方法即可 定義三個(gè)功能, 用到同一個(gè)姓名數(shù)據(jù) 姓名存儲到數(shù)組中,三個(gè)方法,使用一個(gè)數(shù)組中的數(shù)據(jù), 方法傳遞參數(shù) */ import java.util.Random; public class CallName{ public static void main(String[] args){ //定義數(shù)組,存儲學(xué)生姓名 String[] names = new String[8]; //調(diào)用添加姓名方法 addStudent(names); //調(diào)用遍歷數(shù)組方法 printStudentName(names); //調(diào)用隨機(jī)姓名的方法 String name = randomStudentName(names); System.out.println(name); } /* 定義方法,隨機(jī)數(shù),做索引,數(shù)組中找到學(xué)生姓名 返回值? 學(xué)生姓名 參數(shù)? 數(shù)組 */ public static String randomStudentName(String[] names){ Random ran = new Random(); int index = ran.nextInt(names.length); return names[index]; } /* 定義方法,遍歷數(shù)組 返回值? 沒有 參數(shù)? 數(shù)組 */ public static void printStudentName(String[] names){ for(int i = 0 ; i < names.length ;i++){ System.out.println(names[i]); } } /* 定義方法,實(shí)現(xiàn)向數(shù)組中添加學(xué)生姓名 返回值? 沒有, 參數(shù)? 參數(shù)就是數(shù)組 */ public static void addStudent(String[] names){ names[0] = "張三"; names[1] = "李四"; names[2] = "王五"; names[3] = "李蕾"; names[4] = "韓梅梅"; names[5] = "小名"; names[6] = "老王"; names[7] = "小華"; } }14庫存案例代碼實(shí)現(xiàn)_1
* A: 案例代碼 /* 實(shí)現(xiàn)商品的庫存管理 功能: 1.展示用戶選擇功能清單 2.根據(jù)選擇的功能編號,進(jìn)行不同的操作 A. 展示所有庫存 B. 修改庫存數(shù)量 分析: 1.展示用戶清單: 輸出語句, 用戶輸入, 選擇功能序號 2.根據(jù)選擇,調(diào)用不同的方法 switch語句 case 1 2 3 A 展示庫存 將存儲商品的數(shù)組,遍歷 B 修改庫存 修改所有的庫存數(shù)量 */ import java.util.Scanner; public class Shopp{ public static void main(String[] args){ } /* 定義方法,展示所有的庫存清單,遍歷 返回值,沒有 參數(shù), 數(shù)組 */ public static void printStore(String[] brand,double[] size,double[] price,int[] count){ System.out.println("----------商場庫存清單----------"); System.out.println("品牌型號 尺寸 價(jià)格 庫存數(shù)"); //定義變量,計(jì)算總庫存數(shù),和總價(jià)格 int totalCount = 0; int totalMoney = 0; //遍歷數(shù)組,將數(shù)組中所有的商品信息打印出來 for(int i = 0 ; i < brand.length ; i++){ System.out.println(brand[i]+" "+size[i]+" "+price[i]+" "+count[i]); totalCount += count[i]; totalMoney += count[i]*price[i]; } System.out.println("總庫存數(shù): "+totalCount); System.out.println("商品庫存總金額: "+totalMoney); } /* 定義方法,實(shí)現(xiàn)用戶的選擇功能,功能的需要返回來 返回值, int 參數(shù), 沒有 */ public static int chooseFunction(){ System.out.println("-------------庫存管理------------"); System.out.println("1.查看庫存清單"); System.out.println("2.修改商品庫存數(shù)量"); System.out.println("3.退出"); System.out.println("請輸入要執(zhí)行的操作序號:"); //接受鍵盤輸入 Scanner sc = new Scanner(System.in); int chooseNumber = sc.nextInt(); return chooseNumber; } }15庫存案例代碼實(shí)現(xiàn)_2
* A: 案例代碼 /* 定義方法,修改所有商品的庫存 用戶輸入1個(gè),修改1個(gè) 返回值,沒有 參數(shù), 庫存數(shù)的數(shù)組, 品名數(shù)組 */ public static void update(String[] brand, int[] count){ //遍歷數(shù)組,遍歷到一個(gè),修改一個(gè) //接受鍵盤輸入 Scanner sc = new Scanner(System.in); //遍歷數(shù)組 for(int i = 0; i < brand.length ; i++){ System.out.println("請輸入"+brand[i]+"的庫存數(shù)"); //鍵盤輸入,錄入庫存, 存儲到庫存的數(shù)組中 int newCount = sc.nextInt(); count[i] = newCount; } //int chooseNumber = sc.nextInt(); }16庫存案例代碼測試
* A: 案例 /* 實(shí)現(xiàn)商品的庫存管理 功能: 1.展示用戶選擇功能清單 2.根據(jù)選擇的功能編號,進(jìn)行不同的操作 A. 展示所有庫存 B. 修改庫存數(shù)量 分析: 1.展示用戶清單: 輸出語句, 用戶輸入, 選擇功能序號 2.根據(jù)選擇,調(diào)用不同的方法 switch語句 case 1 2 3 A 展示庫存 將存儲商品的數(shù)組,遍歷 B 修改庫存 修改所有的庫存數(shù)量 */ import java.util.Scanner; public class Shopp{ public static void main(String[] args){ //使用數(shù)組,保存商品的信息 //品名,尺寸,價(jià)格,庫存數(shù), 定義5個(gè)數(shù)組 String[] brand = {"MacBookAir","ThinkpadT450"}; double[] size = {13.3,15.6}; double[] price = {9998.97,6789.56}; int[] count = {0,0}; while(true){ int choose = chooseFunction(); switch(choose){ case 1: //調(diào)用查看庫存清單方法 printStore(brand,size,price,count); break; case 2: //調(diào)用修改庫存的方法 update(brand,count); break; case 3: return ; default: System.out.println("沒有這個(gè)功能"); break; } } } /* 定義方法,修改所有商品的庫存 用戶輸入1個(gè),修改1個(gè) 返回值,沒有 參數(shù), 庫存數(shù)的數(shù)組, 品名數(shù)組 */ public static void update(String[] brand, int[] count){ //遍歷數(shù)組,遍歷到一個(gè),修改一個(gè) //接受鍵盤輸入 Scanner sc = new Scanner(System.in); //遍歷數(shù)組 for(int i = 0; i < brand.length ; i++){ System.out.println("請輸入"+brand[i]+"的庫存數(shù)"); //鍵盤輸入,錄入庫存, 存儲到庫存的數(shù)組中 int newCount = sc.nextInt(); count[i] = newCount; } //int chooseNumber = sc.nextInt(); } /* 定義方法,展示所有的庫存清單,遍歷 返回值,沒有 參數(shù), 數(shù)組 */ public static void printStore(String[] brand,double[] size,double[] price,int[] count){ System.out.println("----------商場庫存清單----------"); System.out.println("品牌型號 尺寸 價(jià)格 庫存數(shù)"); //定義變量,計(jì)算總庫存數(shù),和總價(jià)格 int totalCount = 0; int totalMoney = 0; //遍歷數(shù)組,將數(shù)組中所有的商品信息打印出來 for(int i = 0 ; i < brand.length ; i++){ System.out.println(brand[i]+" "+size[i]+" "+price[i]+" "+count[i]); totalCount += count[i]; totalMoney += count[i]*price[i]; } System.out.println("總庫存數(shù): "+totalCount); System.out.println("商品庫存總金額: "+totalMoney); } /* 定義方法,實(shí)現(xiàn)用戶的選擇功能,功能的需要返回來 返回值, int 參數(shù), 沒有 */ public static int chooseFunction(){ System.out.println("-------------庫存管理------------"); System.out.println("1.查看庫存清單"); System.out.println("2.修改商品庫存數(shù)量"); System.out.println("3.退出"); System.out.println("請輸入要執(zhí)行的操作序號:"); //接受鍵盤輸入 Scanner sc = new Scanner(System.in); int chooseNumber = sc.nextInt(); return chooseNumber; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67155.html
摘要:個(gè)人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開始萌生寫文章的想法,到著手...
摘要:二高級賦值語句何為高級賦值語句就是常規(guī)的賦值方法進(jìn)行操作是會報(bào)錯(cuò)的,得進(jìn)行一些更高級一點(diǎn)的操作。小技巧三舉例用賦值語句把列表進(jìn)行每次減少個(gè)元素并輸出列表。 從Pyt...
摘要:接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。隨著案例和執(zhí)行結(jié)果的不斷積累,接口測試覆蓋會更加充分,統(tǒng)計(jì)結(jié)果會更加精確。 原文出自【聽云技術(shù)博客】:http://blog.tingyun.com/web/a... 今年遇到了幾個(gè)問題,與接口的功能和性能相關(guān),恰巧最近公司也在組織以冒煙測試為主題的活動(dòng),于是乎突發(fā)奇想,尋思著能否將接口測試與冒煙測試結(jié)合起來,發(fā)掘一...
摘要:百度網(wǎng)盤提取碼最近一直關(guān)注貪心學(xué)院的機(jī)器學(xué)習(xí)訓(xùn)練營,發(fā)現(xiàn)這門課講的很有深度,不僅適合職場也適合科研人員,加入行業(yè)拿到高薪僅僅是職業(yè)生涯的開始。 ??百度網(wǎng)盤??提取碼:u6C4最近一直關(guān)注貪心學(xué)院的機(jī)器學(xué)習(xí)訓(xùn)練營,發(fā)現(xiàn)這門課講的很有深度,不僅適合職場也適合科研人員,加入AI行業(yè)拿到高薪僅僅是職業(yè)生涯的開始?,F(xiàn)階段AI人才結(jié)...
閱讀 1342·2023-04-26 00:10
閱讀 2437·2021-09-22 15:38
閱讀 3802·2021-09-22 15:13
閱讀 3518·2019-08-30 13:11
閱讀 655·2019-08-30 11:01
閱讀 3040·2019-08-29 14:20
閱讀 3220·2019-08-29 13:27
閱讀 1734·2019-08-29 11:33