2020-06-15

復(fù)習(xí)簡單方法度使用

方法調(diào)用? ? ? ? 代碼:/*

* 復(fù)習(xí)一下此前學(xué)習(xí)的方法基礎(chǔ)入門知識。*

* 定義格式:* public static void 方法名稱() {

? ? ? ? 方法體}

*調(diào)用格式:* 方法名稱();

*

* 注意事項:* 1、方法定義的先后順序無所謂。* 2、方法定義必須是挨著的,不能在一個方法的內(nèi)部定義另外一個方法。* 3、方法定義之后,自己不會執(zhí)行的;如果希望執(zhí)行,一定要進(jìn)行方法的調(diào)用* */

public class Demo01Method {

public static void main(String[] args) {

printMethod();

? ? }

public static void printMethod() {

for (int j =0;j <5; j++) {

for (int i =0; i <20; i++) {

System.out.println("*");

? ? ? ? ? ? }

System.out.println();

? ? ? ? }

}

}

方法的定義格式+方法的三種調(diào)用格式

代碼:/*

* 方法其實就是若干語句*

* 方法好是一個工廠* 蒙牛工廠? ? ? 原料:奶牛、飼料、水*? ? ? ? ? ? ? 產(chǎn)出物:奶制品* 鋼鐵工廠? ? ? 原料:鐵礦石、煤炭*? ? ? ? ? ? ? 產(chǎn)生物:鋼鐵建材*

* 參數(shù)(原料):就是進(jìn)入方法的數(shù)據(jù)。* 返回值(產(chǎn)生物):就是從方法種出來的數(shù)據(jù)。*

* 定義方法的完整格式:* 修飾符 返回值類型 方法名稱(參數(shù)類型 參數(shù)名稱,...){

*

*? ? ? 方法體*? ? ? return 返回值;* }

*

* 修飾符:現(xiàn)階段的固定寫法,public static

* 返回值類型:也就是方法最終產(chǎn)生的數(shù)據(jù)結(jié)果是什么類型* 方法名稱:方法的名字,規(guī)則和變量一樣,小駝峰* 參數(shù)類型:進(jìn)入方法的數(shù)據(jù)是什么類型* 參數(shù)名稱:進(jìn)入方法的數(shù)據(jù)對應(yīng)的變量名稱* ps:參數(shù)如果有多個,使用逗號進(jìn)行分隔* 方法體:方法需要做的事情,若干行代碼* return:兩個作用,第一停止當(dāng)前方法,第二將后面的返回值還給調(diào)用處* 返回值:也就是方法執(zhí)行后最終產(chǎn)生的數(shù)據(jù)結(jié)果*

* 注意:return后面的“返回值”,必須和方法名稱前面的“返回值類型”,保持對應(yīng)*

* 定義一個兩個int數(shù)字相加的方法,三要素:* 返回值類型:int

* 方法名稱:sum

* 參數(shù)列表:int a, int b

*

* 方法的三種調(diào)用格式。* 1、單獨調(diào)用:方法名稱(參數(shù));* 2、打印調(diào)用:System.out.println(方法名稱(參數(shù)))

* 3、賦值調(diào)用*

* 注意:此前學(xué)習(xí)的方法,返回值類型固定寫為viod,這種方法只能夠單獨調(diào)用,不能進(jìn)行打印調(diào)用或者賦值調(diào)用* */

public class Demo02MethodDefine {

public static void main(String[] args) {

// 單獨調(diào)用

? ? ? ? sum(10, 20);

? ? ? ? System.out.println("=======");

? ? ? ? // 打印調(diào)用

? ? ? ? System.out.println(sum(10, 20)); // 30

? ? ? ? System.out.println("=======");

? ? ? ? // 賦值調(diào)用

? ? ? ? int number =sum(15, 25);

? ? ? ? number +=100;

? ? ? ? System.out.println("變量的值:" + number); // 140

? ? }

public static int sum(int a, int b) {

System.out.println("方法執(zhí)行啦!");

? ? ? ? int result = a + b;

? ? ? ? return result;

? ? }

}

方法的調(diào)用流程圖解

方法的調(diào)用流程圖解

對比有參數(shù)和無參數(shù)? ? ? 代碼:/*

* 有參數(shù):小括號當(dāng)中有內(nèi)容,當(dāng)一個方法需要一些數(shù)據(jù)條件,才能完成任務(wù)的時候,就是有參數(shù)。* 例如兩個數(shù)字相加,必須知道兩個數(shù)字是各自多少,才能相加。*

* 無參數(shù):小括號當(dāng)中留空。一個方法不需要任何數(shù)據(jù)條件,自己就能獨立完成任務(wù),就是無參數(shù)。* 例如定義一個方法,打印固定10次HelloWorld。* */

public class Demo03MethodParam {

public static void main(String[] args) {

method1(10, 20);

? ? }

// 兩個數(shù)字相乘,做乘法,必須知道兩個數(shù)字各自是多少,否則無法進(jìn)行計算

? ? // 有參數(shù)

? ? public static void method1(int a, int b) {

int result = a * b;

? ? ? ? System.out.println("結(jié)果是:" + result);

? ? }

// 例如打印輸出固定10次文本字符串

? ? public static void method2() {

for (int i =0; i <10; i++) {

System.out.println("Hello,World!" + i);

? ? ? ? }

}

}

對比有返回值和無返回值? ? ? ? ? ? 代碼:/*

* 題目要求:定義一個方法,用來【求出】兩個數(shù)字之和。(你幫我算,算完之后把結(jié)果告訴我。)

* 題目變形:定義一個方法,用來【打印】兩個數(shù)字之和。(你來計算,算完之后你自己負(fù)責(zé)顯示結(jié)果,不用告訴我。)

*

* 注意事項:* 對于又返回值得方法,可以使用單獨調(diào)用、打印調(diào)用或者賦值調(diào)用。* 但是對于無返回值的方法,只能使用單獨調(diào)用,不能使用打印調(diào)用或者賦值調(diào)用* */

public class Demo04MethodReturn {

public static void main(String[] args) {

// 我是main方法,我來調(diào)用你。

? ? ? ? // 我調(diào)用你,你來幫我計算一下,算完了之后,把結(jié)果告訴我的num變量

? ? ? ? int num =getSum(10, 20);

? ? ? ? System.out.println("返回值是:" + num);

? ? ? ? System.out.println("======");

? ? ? // printSum();

? ? ? ? System.out.println("======");

? ? ? ? System.out.println(getSum(2, 3)); // 正確寫法

? ? ? ? getSum(3, 5); // 正確寫法,但是返回值沒有用到

? ? ? ? System.out.println("======");

? ? ? ? // 對于void沒有返回值的方法,只能單獨,不能打印或者賦值

? ? ? ? // System.out.println(prinSum(2,3)); // 錯誤寫法!

? ? ? ? //System.out.println(void);

? ? ? ? // int num2 = printSum(10,20); // 錯誤寫法!

? ? ? ? // int num3 = void;

// void num4 = void;

? ? }

// 我是一個方法,我負(fù)責(zé)兩個數(shù)字相加。

? ? // 我有返回值int,誰調(diào)用我,我就把計算結(jié)果告訴誰

? ? public static int getSum(int a, int b) {

int result = a + b;

? ? ? ? return result;

? ? }

// 我是一個方法

}

方法練習(xí)一_比較兩個數(shù)字? ? ? ? 代碼:/*

* 題目要求:* 定義一個方法,用來判斷兩個數(shù)字是否相同* */

public class Demo01MethodSame {

public static void main(String[] args) {

System.out.println(isSame(10, 20)); //? false

? ? ? ? System.out.println(isSame(20, 20)); // true

? ? }

/*

? ? *三要素:? ? * 返回值類型:boolean

? ? * 方法名稱:isSame

? ? * 參數(shù)類表:int a, int b

* */

? ? public static boolean isSame(int a, int b) {

/*? boolean same;

if (a == b) {

same = true;

} else {

same = false;

}*/

/* boolean same = a == b ? true : false;

boolean same = a == b;*/

? ? ? ? return a == b;

? ? }

}

方法練習(xí)2_求出1到100的和? ? ? ? 代碼:/*

* 題目要求:* 定義一個方法,用來求出1-100所有數(shù)字的和值。* */

public class Demo01MethodSum {

public static void main(String[] args) {

System.out.println("結(jié)果是:"+getSum());

? ? }

/*

? ? *三要素? ? * 返回值:有返回值,計算結(jié)果是一個int數(shù)字? ? * 方法名稱:getSum

? ? * 參數(shù)列表:數(shù)據(jù)范圍已經(jīng)確定,是固定的,所以不需要告訴我任何條件,不需要參數(shù)* */

? ? public static int getSum() {

int sum =0;

? ? ? ? for (int i =1; i <=100; i++) {

sum += i;

? ? ? ? }

return sum;

? ? }

}

方法練習(xí)3_打印指定次數(shù)? ? ? ? 代碼:/*

* 題目要求:

* 定義一個方法,用來打印指定次數(shù)的HelloWorld

* */

public class Demo01MethodPrint {

public static void main(String[] args) {

printCount(10);

? ? }

/*

? ? * 三要素? ? * 返回值類型:只是進(jìn)行一大堆打印操作而已,沒有計算,也沒有結(jié)果要告訴調(diào)用處? ? * 方法名稱:printCount

? ? * 參數(shù)列表:到底要打印多少次?必須告訴我,否則我不知道多少次,沒法打印。次數(shù):int

* */

? ? public static void printCount(int num) {

for (int i =0; i < num; i++) {

System.out.println("Hello,World" + (i +1));

? ? ? ? }

}

}

方法的注意事項:?????/*

* 使用方法的時候,注意事項:

*

* 1、方法英愛定義在類當(dāng)中,但是不能在方法當(dāng)中在定義方法。不能嵌套。* 2、方法定義的前后順序無所謂。* 3、方法定義之后不會執(zhí)行,如果希望執(zhí)行,一定要調(diào)用:單獨調(diào)用、打印調(diào)用、賦值調(diào)用。* 4、如果方法有返回值,那么必須寫上"return返回值;"不能沒有* 5、、return后面的返回值數(shù)據(jù),必須和方法的返回值類型,對應(yīng)起來。* 6、對于一個void沒有返回值的方法,不能寫return后面的返回值,只能寫return自己。* 7、對于void方法當(dāng)中最后一行的return可以省略不寫。* 8、一個方法當(dāng)中可以有多個return語句,但是必須保證同時只能有一個會被執(zhí)行到,兩個return不能連寫。* */

public class Demo01MethodNotice {

public static int method1() {

return 10;

? ? }

public static void method2() {

//? return 10; // 錯誤的寫法!方法沒有返回值,return后面不能寫返回值。

? ? ? ? return; // 沒有返回值,只是結(jié)束方法的執(zhí)行而已。

? ? }

public static void method3() {

System.out.println("AAA");

? ? ? ? System.out.println("BBB");

? ? ? ? //? return; // 最后一行的return可以省略不寫

? ? }

public static int getMax(int a, int b) {

/* int max;

if(a > b) {

max = a;

}else {

max = b;

}

return max;*/

? ? ? if (a > b) {

return a;

? ? ? }else {

return b;

? ? ? }

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容