復(fù)習(xí)簡單方法的使用
定義格式:
????public static void 方法名稱(){
? ????? 方法體;
????}
? ? 調(diào)用格式:
? ? 方法名稱()旗唁;
注意事項(xiàng):
? ? 1畦浓、方法定義的先后順序無所謂;
? ? 2检疫、方法定義必須是唉著的
? ? 3讶请、方法定義之后,自己不會執(zhí)行电谣;如果希望執(zhí)行秽梅,一定要進(jìn)行方法的調(diào)用。
例:
????public static void box(){
????????for (int i=1;i<=5;i++){//一共5行
????????????for (int o=1;o<=20;o++){//一行20個(gè)
??????????????? System.out.print("*");
??????????? }
System.out.println();//20十個(gè)換次行
方法的定義格式
方法其實(shí)就是若干語句的功能集合剿牺。
方好比是個(gè)工廠
? ? 蒙牛工廠 ?? 原料:奶牛企垦、飼料、水
? ? ? ? ? ? ? ? ? ? ? 產(chǎn)出值:奶制品
? ? 鋼鐵工廠 ?? 原料:鐵礦石晒来、煤炭
? ? ? ? ? ? ? ? ? ? ? 產(chǎn)出值:鋼鐵
參數(shù)(原料):就是進(jìn)入方法的數(shù)據(jù)钞诡。
返回值(產(chǎn)出物):就是從方法之中產(chǎn)出的數(shù)據(jù)。
定義方法的完整格式:
? ? 修飾符 放回值類型 方法名稱(參數(shù)類型 參數(shù)名稱,......){
????? ? 方法體荧降;
? ????? return 返回值變量接箫;
????}
修飾符:現(xiàn)階段的固定寫法:public static。
返回值類型:也就是方法最終產(chǎn)生的結(jié)果是什么類型朵诫。
方法名稱:方法的名字辛友,格則和變量一樣,小駝峰剪返。
參數(shù)類型:進(jìn)入方法的數(shù)據(jù)是什么類型废累。
參數(shù)名稱:進(jìn)入方法的數(shù)據(jù)對應(yīng)的變量名稱。
PS:參數(shù)如果有多個(gè)脱盲,使用逗號進(jìn)行分隔邑滨。
方法體:方法需要做的事情,若干行代碼钱反。
return:兩個(gè)作用掖看,第一:停止當(dāng)前方法;第二:將后面的返回值調(diào)給調(diào)用處面哥。
返回值:也就是方法執(zhí)行后最終產(chǎn)生的數(shù)據(jù)結(jié)果哎壳。
注意事項(xiàng):return后面的【返回值】,必須和方法名稱前面的【返回值類型】保持對應(yīng)尚卫。
定義兩個(gè)int類型的數(shù)字相加耳峦,三要素:
? ? 返回值類型:int
? ? 方法名稱:sum
? ? 參數(shù)列表:int a,int b
????/*
? ? 修飾符 返回值類型 方法名稱(參數(shù)類型 參數(shù)名稱焕毫,......){
??????? 方法體蹲坷; ? ? ? ?
????????return 返回值變量;
????}?
????*/
public static int sum (int a,int b){
????int result = a + b;
? ? return result;
}
方法的三種調(diào)用格式
單獨(dú)調(diào)用:方法名稱(參數(shù))邑飒;
打印調(diào)用:System.out.println(方法名稱(參數(shù)))循签;
賦值調(diào)用:數(shù)據(jù)類型 變量名稱 = 方法名稱(參數(shù));
//單獨(dú)調(diào)用
sum(10,10);
//打印調(diào)用
System.out.println(sum(10,20));
//賦值調(diào)用
int sum =sum(10,30);
System.out.println(number);
注意事項(xiàng):此前學(xué)習(xí)的方法疙咸,返回值類型固定寫法為void县匠,這種寫法只能夠單獨(dú)調(diào)用,不能進(jìn)行打印調(diào)用或者是賦值調(diào)用撒轮。
方法的調(diào)用流程圖解
賦值調(diào)用第四步驟:
????1乞旦、找到方法名稱;
? ? 2题山、參數(shù)傳遞兰粉;
? ? 3、執(zhí)行方法體顶瞳;
? ? 4玖姑、帶著返回值回到方法的調(diào)用處愕秫。
對比有參數(shù)和無參數(shù)
有參數(shù):小括號當(dāng)中有內(nèi)容。當(dāng)一個(gè)方法需要一些數(shù)據(jù)條件焰络,才能完成任務(wù)的時(shí)候戴甩,就是有參數(shù)
例如:兩個(gè)數(shù)字相加,必須知道兩個(gè)數(shù)字是多少闪彼,才能相加
無參數(shù):小括號當(dāng)中留空甜孤。當(dāng)一個(gè)方法不需要任何條件,自己就能獨(dú)立完成任務(wù)畏腕,就是無參數(shù)
例如:定義一個(gè)方法课蔬,打印固定10次HelloWord。
public static void main(String[] args) {
????method1(10,10);
? ? System.out.println("==========");
? ? method2();//括號里不需要任何條件? 自己獨(dú)立就能執(zhí)行
}
//讓兩個(gè)數(shù)字相乘? 必須知道兩個(gè)數(shù)字是多少? 才能相乘
public static void method1(int a,int b){
????int result = a * b;
? ? System.out.println("結(jié)果是"+result);
}
public static void method2(){
????for (int i =0;i <10;i++){
????????System.out.println("HelloWord"+i);
? ? }
}
對比有返回值和無返回值
注意事項(xiàng):
????對于有返回值的方法郊尝,可以單獨(dú)調(diào)用、打印調(diào)用和賦值調(diào)用
? ? 但是對于無返回值的方法战惊,只能使用單獨(dú)調(diào)用流昏,不能使用打印調(diào)用和賦值調(diào)用
public static void main(String[] args) {
????getSum(10,10);
? ? System.out.println("=========");
? ? getSum2(100,100);
/*
打印調(diào)用
System.out.println(getSum2(100,100));//錯(cuò)誤!M袒瘛况凉!
System.out.println("=========");
*/
/*
//賦值調(diào)用
int result = getSum2(100,100);//錯(cuò)誤!8骺健刁绒!?
*/
}
//我是一個(gè)方法,我負(fù)責(zé)兩個(gè)數(shù)字相加
//我有返回值int烤黍,誰調(diào)用我知市,我就把計(jì)算結(jié)果給誰
public static int getSum(int a,int b){
????int result = a + b;
? ? System.out.println(result);
? ? return result;
}
//我是一個(gè)方法,我負(fù)責(zé)兩個(gè)數(shù)字相加
//我沒有返回值速蕊,不會把結(jié)果告訴任何人嫂丙,而是我自己進(jìn)行打印輸出
public static void getSum2(int a,int b){
????int result = a+b;
? ? System.out.println(result);
}
方法練習(xí)1——讓兩個(gè)數(shù)字相加
public static void main(String[] args) {
????System.out.println(isSame1(10,10));//true
????System.out.println(isSame1(10,20));//false
? ? System.out.println("==========");
????System.out.println(inSame2(10,10));//true
????System.out.println(inSame2(10,20));//false
? ? System.out.println("==========");
????System.out.println(inSame3(10,10));//true
????System.out.println(inSame3(10,20));//false
? ? System.out.println("==========");
????System.out.println(insSame4(10,10));//true
????System.out.println(insSame4(10,20));//false
}
public static boolean isSame1(int a,int b){
/*
? ? 三要素:
? ? 返回值類型:foolean
? ? 方法名稱:inSame
? ? 參數(shù)列表:int a,int b
*/
? ? boolean same;
? ? if (a == b){
????????same = true;
? ? }else{
????????same = false;
? ? }
????return same;
}
public static boolean inSame2(int q,int w){
????boolean same2 = q == w ? true : false;
? ? return same2;
}
public static boolean inSame3(int e,int r){
????boolean same3;
? ? same3 = e == r;
? ? return same3;
}
public static boolean insSame4(int s,int d){
????return s ==d;
}
方法練習(xí)2——求出1-100的和
public static void main(String[] args) {
System.out.println("結(jié)果是"+getSum());//結(jié)果是:5050
}
public static int getSum(){
????int sum =0;
? ? for (int i=1;i<=100;i++){
????????sum += i;
? ? }
? ? return sum;
}
方法練習(xí)3——打印指定次數(shù)
public static void main(String[] args) {
????/*
? ? 三要素:
????返回值類型:只是進(jìn)行一大堆打印輸出,并沒有進(jìn)行計(jì)算规哲,也沒有結(jié)果要告訴調(diào)用處
? ? 方法名稱:printCount
? ? 參數(shù)列表:次數(shù):int
????*/
? ? printCount(100);//void類型只能進(jìn)行單獨(dú)調(diào)用
}
public static void printCount(int num){
????for (int i=1;i<=num;i++){
????????System.out.println("HelloWord"+i);
? ? }
}
方法的注意事項(xiàng)
1跟啤、方法應(yīng)該定義在類當(dāng)中,但是不能再方法中定義唉锌。不能嵌套隅肥。
2、方法定義前后的順序無所謂袄简。
3腥放、方法定義之后不會執(zhí)行,如果希望執(zhí)行绿语,一定要調(diào)用:單獨(dú)調(diào)用捉片、打印調(diào)用和賦值調(diào)用平痰。
4、如果方法有返回值伍纫,那么必須寫上“return 返回值宗雇;”,不能沒有莹规。
5赔蒲、return后面的返回值數(shù)據(jù),必須和方法的返回值類型對應(yīng)起來良漱。
6舞虱、對于一個(gè)void沒有返回值的方法,不能寫return后面的返回值母市,只能寫return自己矾兜。
7、對于void方法當(dāng)中最后一行的return可以省略不寫患久。
8椅寺、一個(gè)方法當(dāng)中可以有多個(gè)return語句,但必須保證同時(shí)只有一個(gè)return被執(zhí)行蒋失,兩個(gè)return不能連寫返帕。