日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java基础 五 方法

發(fā)布時(shí)間:2023/12/9 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础 五 方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

方法

1.1????? 方法概述

? ? ?在我們的日常生活中,方法可以理解為要做某件事情,而采取的解決辦法。

如:小明同學(xué)在路邊準(zhǔn)備坐車(chē)來(lái)學(xué)校學(xué)習(xí)。這就面臨著一件事情(坐車(chē)到學(xué)校這件事情)需要解決,解決辦法呢?可采用坐公交車(chē)或坐出租車(chē)的方式來(lái)學(xué)校,那么,這種解決某件事情的辦法,我們就稱(chēng)為方法。

在java中,方法就是用來(lái)完成解決某件事情或?qū)崿F(xiàn)某個(gè)功能的辦法。

方法實(shí)現(xiàn)的過(guò)程中,會(huì)包含很多條語(yǔ)句用于完成某些有意義的功能——通常是處理文本,控制輸入或計(jì)算數(shù)值。

我們可以通過(guò)在程序代碼中引用方法名稱(chēng)和所需的參數(shù),實(shí)現(xiàn)在該程序中執(zhí)行(或稱(chēng)調(diào)用)該方法。方法,一般都有一個(gè)返回值,用來(lái)作為事情的處理結(jié)果。

1.2? ? ?方法的語(yǔ)法格式

在Java中,聲明一個(gè)方法的具體語(yǔ)法格式如下:

修飾符 返回值類(lèi)型 方法名(參數(shù)類(lèi)型 參數(shù)名1,參數(shù)類(lèi)型 參數(shù)名2,......){

??? 執(zhí)行語(yǔ)句

??? ………

??? return 返回值;

}

對(duì)于上面的語(yǔ)法格式中具體說(shuō)明如下:

?修飾符:方法的修飾符比較多,有對(duì)訪問(wèn)權(quán)限進(jìn)行限定的,有靜態(tài)修飾符static,還有最終修飾符final等,這些修飾符在后面的學(xué)習(xí)過(guò)程中會(huì)逐步介紹

? 返回值類(lèi)型:用于限定方法返回值的數(shù)據(jù)類(lèi)型

? 參數(shù)類(lèi)型:用于限定調(diào)用方法時(shí)傳入?yún)?shù)的數(shù)據(jù)類(lèi)型

? 參數(shù)名:是一個(gè)變量,用于接收調(diào)用方法時(shí)傳入的數(shù)據(jù)

? return關(guān)鍵字:用于結(jié)束方法以及返回方法指定類(lèi)型的值

? 返回值:被return語(yǔ)句返回的值,該值會(huì)返回給調(diào)用者

需要特別注意的是,方法中的“參數(shù)類(lèi)型 參數(shù)名1,參數(shù)類(lèi)型 參數(shù)名2”被稱(chēng)作參數(shù)列表,它用于描述方法在被調(diào)用時(shí)需要接收的參數(shù),如果方法不需要接收任何參數(shù),則參數(shù)列表為空,即()內(nèi)不寫(xiě)任何內(nèi)容。方法的返回值必須為方法聲明的返回值類(lèi)型,如果方法中沒(méi)有返回值,返回值類(lèi)型要聲明為void,此時(shí),方法中return語(yǔ)句可以省略。

?????? 接下來(lái)通過(guò)一個(gè)案例來(lái)演示方法的定義與使用,如下圖所示。MethodDemo01.java

public class MethodDemo01 {public static void main(String[] args) {int area = getArea(3, 5); // 調(diào)用 getArea方法System.out.println(" The area is " + area);}// 下面定義了一個(gè)求矩形面積的方法,接收兩個(gè)參數(shù),其中x為高,y為寬public static int getArea(int x, int y) {int temp = x * y; // 使用變量temp記住運(yùn)算結(jié)果return temp; // 將變量temp的值返回 } }

運(yùn)行結(jié)果如下圖所示。

在上述代碼中,定義了一個(gè)getArea()方法用于求矩形的面積,參數(shù)x和y分別用于接收調(diào)用方法時(shí)傳入的高和寬,return語(yǔ)句用于返回計(jì)算所得的面積。在main()方法中通過(guò)調(diào)用getArea()方法,獲得矩形的面積,并將結(jié)果打印。

1.3? ? ? 方法調(diào)用圖解

接下來(lái)通過(guò)一個(gè)圖例演示getArea()方法的整個(gè)調(diào)用過(guò)程,如下圖所示。

從上圖中可以看出,在程序運(yùn)行期間,參數(shù)x和y相當(dāng)于在內(nèi)存中定義的兩個(gè)變量。當(dāng)調(diào)用getArea()方法時(shí),傳入的參數(shù)3和5分別賦值給變量x和y,并將x*y的結(jié)果通過(guò)return語(yǔ)句返回,整個(gè)方法的調(diào)用過(guò)程結(jié)束,變量x和y被釋放。

1.4? ? ? 方法定義練習(xí)

分別定義如下方法:

???????? 定義無(wú)返回值無(wú)參數(shù)方法,如打印3行,每行3個(gè)*號(hào)的矩形

???????? 定義有返回值無(wú)參數(shù)方法,如鍵盤(pán)錄入得到一個(gè)整數(shù)

???????? 定義無(wú)返回值有參數(shù)方法,如打印指定M行,每行N個(gè)*號(hào)的矩形

???????? 定義有返回值有參數(shù)方法,如求三個(gè)數(shù)的平均值

?

? 無(wú)返回值無(wú)參數(shù)方法,如打印3行,每行3個(gè)*號(hào)的矩形

?

public static void printRect(){//打印3行星for (int i=0; i<3; i++) {//System.out.println("***"); 相當(dāng)于是打印3顆星,換行//每行打印3顆星for (int j=0; j<3; j++) {System.out.print("*"); // *** }System.out.println();}}

? 有返回值無(wú)參數(shù)方法,如鍵盤(pán)錄入得到一個(gè)整數(shù)

public static int getNumber(){Scanner sc = new Scanner(System.in);int number = sc.nextInt();return number;}

? 無(wú)返回值有參數(shù)方法,如打印指定M行,每行N個(gè)*號(hào)的矩形

public static void printRect2(int m, int n){//打印M行星for (int i=0; i<m; i++) {//每行中打印N顆星for (int j=0; j<n; j++) {System.out.print("*"); }System.out.println();}}

?有返回值有參數(shù)方法,如求三個(gè)數(shù)的平均值

public static double getAvg(double a, double b, double c) {double result = (a+b+c)/3;return result;}

1.5? ? ? 方法的重載

我們假設(shè)要在程序中實(shí)現(xiàn)一個(gè)對(duì)數(shù)字求和的方法,由于參與求和數(shù)字的個(gè)數(shù)和類(lèi)型都不確定,因此要針對(duì)不同的情況去設(shè)計(jì)不同的方法。接下來(lái)通過(guò)一個(gè)案例來(lái)實(shí)現(xiàn)對(duì)兩個(gè)整數(shù)相加、對(duì)三個(gè)整數(shù)相加以及對(duì)兩個(gè)小數(shù)相加的功能,具體實(shí)現(xiàn)如下所示。MethodDemo02.java

public class MethodDemo02 {public static void main(String[] args) {// 下面是針對(duì)求和方法的調(diào)用int sum1 = add01(1, 2);int sum2 = add02(1, 2, 3);double sum3 = add03(1.2, 2.3);// 下面的代碼是打印求和的結(jié)果System.out.println("sum1=" + sum1);System.out.println("sum2=" + sum2);System.out.println("sum3=" + sum3);}// 下面的方法實(shí)現(xiàn)了兩個(gè)整數(shù)相加public static int add01(int x, int y) {return x + y;}// 下面的方法實(shí)現(xiàn)了三個(gè)整數(shù)相加public static int add02(int x, int y, int z) {return x + y + z;}// 下面的方法實(shí)現(xiàn)了兩個(gè)小數(shù)相加public static double add03(double x, double y) {return x + y;} }

運(yùn)行結(jié)果如下圖所示。

從上述代碼不難看出,程序需要針對(duì)每一種求和的情況都定義一個(gè)方法,如果每個(gè)方法的名稱(chēng)都不相同,在調(diào)用時(shí)就很難分清哪種情況該調(diào)用哪個(gè)方法。

為了解決這個(gè)問(wèn)題,Java允許在一個(gè)類(lèi)中定義多個(gè)名稱(chēng)相同的方法,但是參數(shù)的類(lèi)型或個(gè)數(shù)必須不同,這就是方法的重載。

下面的三個(gè)方法互為重載關(guān)系

public static int add(int x,int y) {邏輯} //兩個(gè)整數(shù)加法public static int add(int x,int y,int z) {邏輯} //三個(gè)整數(shù)加法public static int add(double x,double y) {邏輯} //兩個(gè)小數(shù)加法

接下來(lái)通過(guò)方法重載的方式進(jìn)行修改,如下所示。MethodDemo03.java

public class MethodDemo03 {public static void main(String[] args) {// 下面是針對(duì)求和方法的調(diào)用int sum1 = add(1, 2);int sum2 = add(1, 2, 3);double sum3 = add(1.2, 2.3);// 下面的代碼是打印求和的結(jié)果System.out.println("sum1=" + sum1);System.out.println("sum2=" + sum2);System.out.println("sum3=" + sum3);}// 下面的方法實(shí)現(xiàn)了兩個(gè)整數(shù)相加public static int add(int x, int y) {return x + y;}// 下面的方法實(shí)現(xiàn)了三個(gè)整數(shù)相加public static int add(int x, int y, int z) {return x + y + z;}// 下面的方法實(shí)現(xiàn)了兩個(gè)小數(shù)相加public static double add(double x, double y) {return x + y;} }

MethodDemo02.java的運(yùn)行結(jié)果和MethodDemo03.java一樣,如下圖所示。

上述代碼中定義了三個(gè)同名的add()方法,它們的參數(shù)個(gè)數(shù)或類(lèi)型不同,從而形成了方法的重載。

在main()方法中調(diào)用add()方法時(shí),通過(guò)傳入不同的參數(shù)便可以確定調(diào)用哪個(gè)重載的方法,如add(1,2)調(diào)用的是兩個(gè)整數(shù)求和的方法。值得注意的是,方法的重載與返回值類(lèi)型無(wú)關(guān),它只有兩個(gè)條件,一是方法名相同,二是參數(shù)個(gè)數(shù)或參數(shù)類(lèi)型不相同。

1.5.1? ? 重載的注意事項(xiàng)

重載方法參數(shù)必須不同: 參數(shù)個(gè)數(shù)不同,如method(int x)與method(int x,int y)不同 參數(shù)類(lèi)型不同,如method(int x)與method(double x)不同g 參數(shù)順序不同,如method(int x,double y)與method(double x,int y)不同重載只與方法名與參數(shù)類(lèi)型相關(guān)與返回值無(wú)關(guān) 如void method(int x)與int method(int y)不是方法重載,不能同時(shí)存在重載與具體的變量標(biāo)識(shí)符無(wú)關(guān) 如method(int x)與method(int y)不是方法重載,不能同時(shí)存在

1.5.2? ? 參數(shù)傳遞

?

參數(shù)傳遞,可以理解當(dāng)我們要調(diào)用一個(gè)方法時(shí),我們會(huì)把指定的數(shù)值,傳遞給方法中的參數(shù),這樣方法中的參數(shù)就擁有了這個(gè)指定的值,可以使用該值,在方法中運(yùn)算了。這種傳遞方式,我們稱(chēng)為參數(shù)傳遞。

?在這里,定義方法時(shí),參數(shù)列表中的變量,我們稱(chēng)為形式參數(shù)

? 調(diào)用方法時(shí),傳入給方法的數(shù)值,我們稱(chēng)為實(shí)際參數(shù)

我們看下面的兩段代碼,來(lái)明確下參數(shù)傳遞的過(guò)程:

?

public class ArgumentsDemo01 {public static void main(String[] args) {int a=5;int b=10;change(a, b);//調(diào)用方法時(shí),傳入的數(shù)值稱(chēng)為實(shí)際參數(shù)System.out.println("a=" + a);System.out.println("b=" + b);}public static void change(int a, int b){//方法中指定的多個(gè)參數(shù)稱(chēng)為形式參數(shù)a=200;b=500;} }

?

? ? ? ? ?程序的運(yùn)行結(jié)果如下:

再看另一段代碼

public class ArgumentsDemo02 {public static void main(String[] args) {int[] arr = { 1, 2, 3 };change(arr);// 調(diào)用方法時(shí),傳入的數(shù)值稱(chēng)為實(shí)際參數(shù)for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}public static void change(int[] arr) {// 方法中指定的多個(gè)參數(shù)稱(chēng)為形式參數(shù)for (int i = 0; i < arr.length; i++) {arr[i] *= 2;}} }

?

程序的運(yùn)行結(jié)果如下:

1.5.3? ?參數(shù)傳遞圖解與結(jié)論

通過(guò)上面的兩段程序可以得出如下結(jié)論:

? 當(dāng)調(diào)用方法時(shí),如果傳入的數(shù)值為基本數(shù)據(jù)類(lèi)型(包含String類(lèi)型),形式參數(shù)的改變對(duì)實(shí)際參數(shù)不影響

?當(dāng)調(diào)用方法時(shí),如果傳入的數(shù)值為引用數(shù)據(jù)類(lèi)型(String類(lèi)型除外),形式參數(shù)的改變對(duì)實(shí)際參數(shù)有影響

? ?隨機(jī)點(diǎn)名器案例

2.1????? 案例介紹

隨機(jī)點(diǎn)名器,即在全班同學(xué)中隨機(jī)的打印出一名同學(xué)名字。

要做的隨機(jī)點(diǎn)名器,它具備以下3個(gè)內(nèi)容:

? 存儲(chǔ)所有同學(xué)姓名

? 總覽全班同學(xué)姓名

? 隨機(jī)點(diǎn)名其中一人,打印到控制臺(tái)

2.2????? 案例需求分析

在全班同學(xué)中隨機(jī)的打印出一名同學(xué)名字。

我們對(duì)本案例進(jìn)行分析,得出如下分析結(jié)果:

1.存儲(chǔ)全班同學(xué)名字

2.打印全班同學(xué)每一個(gè)人的名字

3.在班級(jí)總?cè)藬?shù)范圍內(nèi),隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù),查找該隨機(jī)數(shù)所對(duì)應(yīng)的同學(xué)名字

該案例須有以下3個(gè)內(nèi)容:

? 存儲(chǔ)所有同學(xué)姓名

? 總覽全班同學(xué)姓名

隨機(jī)點(diǎn)名其中一人,打印到控`制臺(tái)

隨機(jī)點(diǎn)名器明確地分為了三個(gè)功能。如果將多個(gè)獨(dú)立功能的代碼寫(xiě)到一起,則代碼相對(duì)冗長(zhǎng),我們可以針對(duì)不同的功能可以將其封裝到一個(gè)方法中,將完整獨(dú)立的功能分離出來(lái)。

而在存儲(chǔ)同學(xué)姓名時(shí),如果對(duì)每一個(gè)同學(xué)都定義一個(gè)變量進(jìn)行姓名存儲(chǔ),則會(huì)出現(xiàn)過(guò)多孤立的變量,很難一次性將全部數(shù)據(jù)持有。此時(shí),我們可以使用數(shù)組解決多個(gè)數(shù)據(jù)的存儲(chǔ)問(wèn)題。

2.3????? 實(shí)現(xiàn)代碼步驟

編寫(xiě)CallName.java文件,完成程序的編寫(xiě)。

?main方法中調(diào)用三個(gè)獨(dú)立方法

public static void main(String[] args) {System.out.println("--------隨機(jī)點(diǎn)名器--------");// 創(chuàng)建一個(gè)存儲(chǔ)多個(gè)同學(xué)名字的容器(數(shù)組)String[] students = new String[3];/** 1.存儲(chǔ)全班同學(xué)名字*/addStudentName(students);/** 2.打印全班同學(xué)每一個(gè)人的名字*/printStudentName(students);/** 3.獲取隨機(jī)點(diǎn)名到的學(xué)生姓名,并打印*/String randomName = randomStudentName(students);System.out.println("被點(diǎn)到名的同學(xué)是 :" + randomName);}

?1.存儲(chǔ)所有同學(xué)姓名

/*** 1.存儲(chǔ)全班同學(xué)名字* 創(chuàng)建一個(gè)存儲(chǔ)多個(gè)同學(xué)名字的容器(數(shù)組) * 鍵盤(pán)輸入每個(gè)同學(xué)的名字,存儲(chǔ)到容器中(數(shù)組)*/public static void addStudentName(String[] students) {//鍵盤(pán)輸入多個(gè)同學(xué)名字存儲(chǔ)到容器中Scanner sc = new Scanner(System.in);for (int i = 0; i < students.length; i++) {System.out.println("存儲(chǔ)第"+i+"個(gè)名稱(chēng):");students[i] = sc.next();}}

上述方法中,通過(guò)鍵盤(pán)錄入,完成為指定數(shù)組元素賦值。方法定義時(shí),將參數(shù)定義為字符串?dāng)?shù)組,用于接收存放的同學(xué)姓名。

?打印全班同學(xué)每一個(gè)人的名字

/*** 2打印全班同學(xué)每一個(gè)人的名字*/public static void printStudentName(String[] students) {//遍歷數(shù)組,得到每個(gè)同學(xué)名字for (int i = 0; i < students.length; i++) {String name = students[i];//打印同學(xué)名字System.out.println("第"+i+"個(gè)學(xué)生名稱(chēng):" + name);}}

上述方法中,方法參數(shù)students數(shù)組中存儲(chǔ)了所有學(xué)生的姓名。

通過(guò)遍歷將數(shù)組中的每一個(gè)元素訪問(wèn)一遍,得到每一個(gè)同學(xué)名稱(chēng)。

? 3.獲取隨機(jī)點(diǎn)到的學(xué)生姓名

/*** 3.在班級(jí)總?cè)藬?shù)范圍內(nèi),隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù),返回隨機(jī)數(shù)位置上的學(xué)生姓名*/ public static String randomStudentName(String[] students) {//根據(jù)數(shù)組長(zhǎng)度,獲取隨機(jī)索引int index = new Random().nextInt(students.length);//通過(guò)隨機(jī)索引從數(shù)組中獲取名稱(chēng)String name = students[index];//返回隨機(jī)點(diǎn)到的名稱(chēng)return name;}

上述方法中,通過(guò)隨機(jī)數(shù)類(lèi)Random產(chǎn)生一個(gè)從0到數(shù)組長(zhǎng)度的隨機(jī)索引。使用該索引獲取students數(shù)組中對(duì)應(yīng)的值,便得到了全班同學(xué)的隨機(jī)姓名。

? 庫(kù)存管理案例

3.1? ? ?案例介紹

現(xiàn)在,我們將原有的庫(kù)存管理案例,進(jìn)行業(yè)務(wù)邏輯的封裝。

將對(duì)下列功能進(jìn)行方法封裝:

? 打印庫(kù)存清單功能

? 庫(kù)存商品數(shù)量修改功能

? 退出程序功能

3.2? ? ? 案例需求分析

管理員能夠進(jìn)行的操作有3項(xiàng)(查看、修改、退出),我們可以采用(switch)菜單的方式來(lái)完成。

-------------庫(kù)存管理------------

1.查看庫(kù)存清單

2.修改商品庫(kù)存數(shù)量

3.退出

請(qǐng)輸入要執(zhí)行的操作序號(hào):

??????? 每一項(xiàng)功能操作,我們采用方法進(jìn)行封裝,這樣,可使程序的可讀性增強(qiáng)。

選擇“1.查看庫(kù)存清單”功能,則控制臺(tái)打印庫(kù)存清單

選擇“2.修改商品庫(kù)存數(shù)量”功能,則對(duì)每種商品庫(kù)存數(shù)進(jìn)行更新

選擇“3.退出”功能,則退出庫(kù)存管理,程序結(jié)束

3.3? ? ? 實(shí)現(xiàn)代碼步驟

編寫(xiě)代碼Demo庫(kù)存管理.java,完成如下功能:

? 功能菜單

/*** 庫(kù)存管理功能菜單* @return 管理員鍵盤(pán)輸入的功能操作序號(hào) */public static int chooseFunction() {System.out.println("-------------庫(kù)存管理------------");System.out.println("1.查看庫(kù)存清單");System.out.println("2.修改商品庫(kù)存數(shù)量");System.out.println("3.退出");System.out.println("請(qǐng)輸入要執(zhí)行的操作序號(hào):");//接收鍵盤(pán)輸入的功能選項(xiàng)序號(hào)Scanner sc = new Scanner(System.in); int choose = sc.nextInt();return choose;}

上述方法用來(lái)完成庫(kù)存管理功能菜單的顯示、接收管理員選擇的功能操作序號(hào)。這是完成了案例的第一步。接下來(lái)完成“查看、修改、退出”這三項(xiàng)功能。

? 編寫(xiě)main主方法,調(diào)用庫(kù)存管理功能菜單方法,與“查看、修改、退出”這三個(gè)方法。

public static void main(String[] args) {//記錄庫(kù)存商品信息//品牌型號(hào)String[] brands = new String[]{"MacBookAir", "ThinkpadT450"};//尺寸大小double[] sizes = new double[]{13.3, 14.0};//價(jià)格double[] prices = new double[]{6988.88, 5999.99};//庫(kù)存?zhèn)€數(shù)int[] counts = new int[]{0, 0};//通過(guò)while循環(huán)模擬管理員進(jìn)行功能重復(fù)選擇操作while (true) {//打印功能菜單操作,接收鍵盤(pán)輸入的功能選項(xiàng)序號(hào)int choose = chooseFunction();//執(zhí)行序號(hào)對(duì)應(yīng)的功能switch (choose) {case 1://查看庫(kù)存清單 printStore(brands, sizes, prices, counts);break;case 2://修改商品庫(kù)存數(shù)量 update(brands, counts);break;case 3://退出 exit();return;default:System.out.println("----------------------------------");System.out.println("功能選擇有誤,請(qǐng)輸入正確的功能序號(hào)!");break;}}}

?

?

在主方法中,創(chuàng)建了5個(gè)數(shù)組,分別用來(lái)存儲(chǔ)商品的品牌型號(hào)、尺寸大小、價(jià)格、配置、庫(kù)存?zhèn)€數(shù),通過(guò)接收到的功能選項(xiàng)序號(hào),進(jìn)行switch語(yǔ)句判斷后,調(diào)用對(duì)應(yīng)的功能方法。

? 查看庫(kù)存清單功能

/*** 查看庫(kù)存清單* @param brands 商品品牌型號(hào)* @param sizes 商品尺寸大小 * @param prices 商品價(jià)格* @param counts 商品庫(kù)存?zhèn)€數(shù)*/public static void printStore(String[] brands, double[] sizes, double[] prices, int[] counts) {//統(tǒng)計(jì)總庫(kù)存?zhèn)€數(shù)、統(tǒng)計(jì)庫(kù)存總金額int totalCount = 0;double totalMoney = 0.0;for (int i = 0; i < brands.length; i++) {totalCount += counts[i];totalMoney += counts[i] * prices[i];}//列表頂部System.out.println("---------------------------查看庫(kù)存清單--------------------------");System.out.println("品牌型號(hào) 尺寸 價(jià)格 庫(kù)存數(shù)");//列表中部for (int i = 0; i < brands.length; i++) {System.out.println(brands[i]+" "+sizes[i]+" "+prices[i]+" "++counts[i]);}//列表底部System.out.println("-------------------------------------------------------------");System.out.println("總庫(kù)存數(shù):"+totalCount); System.out.println("庫(kù)存商品總金額:"+totalMoney);}

上述方法用來(lái)完成打印庫(kù)存清單功能,5個(gè)方法參數(shù)用來(lái)打印的庫(kù)存商品相關(guān)信息

? 修改商品庫(kù)存數(shù)量功能

/*** 修改商品庫(kù)存數(shù)量* @param brands 商品品牌型號(hào)* @param counts 商品庫(kù)存?zhèn)€數(shù)*/public static void update(String[] brands, int[] counts){System.out.println("------------修改商品庫(kù)存數(shù)量-----------");for (int i = 0; i < brands.length; i++) {System.out.println("請(qǐng)輸入"+ brands[i] +"商品庫(kù)存數(shù)");counts[i] = new Scanner(System.in).nextInt();}}

?

?

上述方法用來(lái)完成修改商品庫(kù)存數(shù)量功能,2個(gè)方法參數(shù)用來(lái)指定所要修改的商品與庫(kù)存數(shù)

退出功能

/*** 退出*/public static void exit(){System.out.println("----------------退出---------------");System.out.println("您已退出系統(tǒng)");}

?

? ? ? ? ?上述方法用來(lái)完成退出程序的功能

? ? ?總結(jié)

4.1? ? ? 知識(shí)點(diǎn)總結(jié)

?方法

? 格式:

??????????????????????????? 修飾符 返回值類(lèi)型 方法名(參數(shù)類(lèi)型 參數(shù)名1, 參數(shù)類(lèi)型 參數(shù)名2, ...) {

???????????????????????????????????? 方法體;

???????????????????????????????????? return 返回值;

???????? ???????? ???????? }

? 方法使用的注意事項(xiàng):

??????????????????????????? 1,方法不調(diào)用,自己不執(zhí)行

??????????????????????????? 2,方法中不能定義方法, 但是,方法中可以調(diào)用方法

??????????????????????????? 3, 方法定義的位置在類(lèi)中,其他方法的外面

??????????????????????????? 4, 如果方法沒(méi)有明確的返回值類(lèi)型,使用'空'類(lèi)型, void表示

??????????????????????????? 5,void只能在方法返回值類(lèi)型位置使用,不能作為 普通的數(shù)據(jù)類(lèi)型使用

??????????????????????????? 6, 如果方法返回值類(lèi)型為void類(lèi)型,可以省略 return ;

? 方法調(diào)用方式:

???????? 有明確返回值類(lèi)型的方法調(diào)用方式:

?????????????????? 1,單獨(dú)調(diào)用

?????????????????? 2,輸出調(diào)用

?????????????????? 3,賦值調(diào)用

???????? 沒(méi)有明確返回值類(lèi)型的方法調(diào)用方式:

1,? 單獨(dú)調(diào)用

? 方法重載:

方法重載,在同一個(gè)類(lèi)中,出現(xiàn)了多個(gè)同名的方法,他們的參數(shù)列表不同 (參數(shù)列表的個(gè)數(shù)不同,參數(shù)列表的數(shù)據(jù)類(lèi)型不同,參數(shù)列表的順序不同)。

方法重載特點(diǎn):

與方法的返回值類(lèi)型無(wú)關(guān),與方法的參數(shù)名無(wú)關(guān),只看方法名與參數(shù)列表;

???????? 方法重載,是通過(guò)JVM來(lái)完成同名方法的調(diào)用的,通過(guò)參數(shù)列表來(lái)決定調(diào)用的是哪一個(gè)方法。

?

轉(zhuǎn)載于:https://www.cnblogs.com/759hongcheng/p/8350070.html

總結(jié)

以上是生活随笔為你收集整理的Java基础 五 方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。