Java編程在方法中哪些時(shí)候需要參數(shù)
Java在方法中什么時(shí)候需要參數(shù)
可能有很多人在學(xué)習(xí)Java的過(guò)程中,在構(gòu)建方法時(shí)總是不知道何時(shí)該寫(xiě)參數(shù),何時(shí)不寫(xiě),那么接下來(lái)我們寫(xiě)一個(gè)最簡(jiǎn)單的例子來(lái)說(shuō)明有參數(shù)的重要性。

如圖中的例子,如果我們要計(jì)算b和c的值,只需要在調(diào)用add()方法的時(shí)候把b和c替換成你想計(jì)算的數(shù)就行了。其它的方法可以以此類(lèi)推。
Java中類(lèi)的無(wú)參,帶參方法重點(diǎn)總結(jié)
類(lèi)的方法定義類(lèi)的某種行為(或功能)
步驟一:定義方法名以及返回值類(lèi)型
步驟二:編寫(xiě)方法體
定義類(lèi)的方法:
public ? 返回值類(lèi)型 ?方法名() ?{
? ? ? ? ? ?//方法的主體
}方法的返回值(兩種情況)
1. 如果方法具有返回值,方法中必須使用關(guān)鍵字return返回該值,返回值類(lèi)型為該返回值的類(lèi)型
public class Student{
? ? String name = "張三";
? ? public String ?getName(){
? ? ? ? ? ? return name;
??}
? ?//……
}語(yǔ)法:return 表達(dá)式;
作用: 跳出方法、返回結(jié)果;
2. 如果方法沒(méi)有返回值,返回值類(lèi)型為void
public class Student{
? ? String name = "張三";
? ? public void getName(){
? ? }
? ?//……
}方法調(diào)用:執(zhí)行方法中包含的語(yǔ)句
對(duì)象名.方法名();
方法之間允許相互調(diào)用,不需要知道方法的具體實(shí)現(xiàn),實(shí)現(xiàn)重用,提高效率
| 情況 | 舉例 |
| Student類(lèi)的方法a( ) 調(diào)用Student類(lèi)的方法b( ), 直接調(diào)用 | public void a( ) { b( ); //調(diào)用b( ) } |
| Student類(lèi)的方法a( ) 調(diào)用Teacher類(lèi)的方法b( ), 先創(chuàng)建類(lèi)對(duì)象,然后使用“.”調(diào)用 | public void a( ) { Teacher t = new Teacher( ); t.b( ); //調(diào)用Teacher類(lèi)的b() } |
成員變量和局部變量
變量聲明的位置決定變量作用域
變量作用域確定可在程序中按變量名訪(fǎng)問(wèn)該變量的區(qū)域
成員變量和局部變量的區(qū)別
1. 作用域不同
局部變量的作用域僅限于定義它的方法
成員變量的作用域在整個(gè)類(lèi)內(nèi)部都是可見(jiàn)的
2. 初始值不同
Java會(huì)給成員變量一個(gè)初始值
Java不會(huì)給局部變量賦予初始值
注意:
1. 在同一個(gè)方法中,不允許有同名局部變量;在不同的方法中,可以有同名局部變量
2. 在同一個(gè)類(lèi)中,成員變量和局部變量同名時(shí),局部變量具有更高的優(yōu)先級(jí)
定義帶參數(shù)的方法
<訪(fǎng)問(wèn)修飾符> ?返回類(lèi)型 ?<方法名>(<形式參數(shù)列表>) {
? ? ?//方法的主體
}訪(fǎng)問(wèn)修飾符:該方法允許被訪(fǎng)問(wèn)調(diào)用的權(quán)限范圍;返回類(lèi)型:方法返回值的類(lèi)型;形式參數(shù)列表:傳送給方法的形參列表
public class StudentsBiz {
String[ ] names = new String[30]; ??
public void addName(String name) { ? (沒(méi)有返回值)
//增加學(xué)生姓名 ? ? ? ? ? ? ? ? ? (一個(gè)形式參數(shù))
}
public void showNames() { //顯示全部學(xué)生姓名
? ? ? ? ? ? ? ? }
}調(diào)用帶參數(shù)的方法
對(duì)象名.方法名(參數(shù)1, 參數(shù)2,……,參數(shù)n) (實(shí)參列表)
public static void main(String[] args) {
? ? ? ? StudentsBiz st = new StudentsBiz(); ? ? ?(先實(shí)例化對(duì)象,再使用方法)
? ? ? ? Scanner input = new Scanner(System.in);
? ? ? ? for(int i=0;i<5;i++){
? ? ? ? ? ? System.out.print("請(qǐng)輸入學(xué)生姓名:");
? ? ? ? ? ? String newName = input.next();
? ? ? ? ? ? st.addName(newName); ? ? ?(實(shí)參的類(lèi)型、數(shù)量、順序都要與形參一一對(duì)應(yīng))
? ? ? ? }
? ? ? ? st.showNames();
? ? }小結(jié)
形參和實(shí)參
- 方法定義處,參數(shù)叫做形式參數(shù),也叫形參(主要約束參數(shù)的類(lèi)型的)
- 形參名字可以隨便取,但是要符合駝峰命名規(guī)則,同時(shí)要有意義
- 方法調(diào)用處,參數(shù)叫做實(shí)際參數(shù),也叫實(shí)參
- 實(shí)參名字也可以隨便取,但是遵循駝峰命名規(guī)則,同時(shí)也要有意義
- 實(shí)參和形參的類(lèi)型必須一致,名字可以一致,也可以不一致
- 方法有沒(méi)有返回值,和方法有沒(méi)有參數(shù),沒(méi)有任何關(guān)系
- 方法參數(shù)可以有一個(gè),也可以有多個(gè),多個(gè)參數(shù)之間用逗號(hào)隔開(kāi)(形參和實(shí)參都是這樣)
- 形整和實(shí)參數(shù)量一定要一致,數(shù)據(jù)類(lèi)型一定要一致

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java設(shè)計(jì)模式之單例模式Singleton Pattern詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之單例模式Singleton Pattern詳解,一些常用的工具類(lèi)、線(xiàn)程池、緩存,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)連接池、賬戶(hù)登錄系統(tǒng)、配置文件等程序中可能只允許我們創(chuàng)建一個(gè)對(duì)象,這就需要單例模式,需要的朋友可以參考下2023-12-12
maven多個(gè)倉(cāng)庫(kù)查詢(xún)的優(yōu)先級(jí)順序案例講解
這篇文章主要介紹了maven多個(gè)倉(cāng)庫(kù)查詢(xún)的優(yōu)先級(jí)順序,考慮到我們常用的配置文件是conf/settings.xml和工程里面的pom.xml文件,我們針對(duì)這兩個(gè)文件的結(jié)合來(lái)分析倉(cāng)庫(kù)的使用順序,需要的朋友可以參考下2023-04-04
解決IDEA右鍵沒(méi)有創(chuàng)建新的package選項(xiàng)的情況
這篇文章主要介紹了解決IDEA右鍵沒(méi)有創(chuàng)建新的package選項(xiàng)的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
分布式開(kāi)發(fā)醫(yī)療掛號(hào)系統(tǒng)數(shù)據(jù)字典模塊前后端實(shí)現(xiàn)
這篇文章主要為大家介紹了分布式開(kāi)發(fā)醫(yī)療掛號(hào)系統(tǒng)數(shù)據(jù)字典模塊前后端實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
Java并發(fā)(Runnable+Thread)實(shí)現(xiàn)硬盤(pán)文件搜索功能
這篇文章主要介紹了Java并發(fā)(Runnable+Thread)實(shí)現(xiàn)硬盤(pán)文件搜索,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
ArrayList和HashMap如何自己實(shí)現(xiàn)實(shí)例詳解
這篇文章主要介紹了 ArrayList和HashMap如何自己實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-12-12
java去除空格、標(biāo)點(diǎn)符號(hào)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于java去除空格、標(biāo)點(diǎn)符號(hào)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
關(guān)于json序列化(javaBean轉(zhuǎn)Json的細(xì)節(jié)處理)
這篇文章主要介紹了關(guān)于json序列化(javaBean轉(zhuǎn)Json的細(xì)節(jié)處理),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-03-03
利用Java實(shí)現(xiàn)簡(jiǎn)單的詞法分析器實(shí)例代碼
眾所周知編譯原理中的詞法分析算是很重要的一個(gè)部分,原理比較簡(jiǎn)單,不過(guò)網(wǎng)上大部分都是用C語(yǔ)言或者C++來(lái)編寫(xiě),因?yàn)樽罱趯W(xué)習(xí)Java,故用Java語(yǔ)言實(shí)現(xiàn)了簡(jiǎn)單的詞法分析器。感興趣的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-12-12

