16 方法練習3 列印指定次數的HelloWorld
package cn.sjxy.day04.demo03;
/*
題目要求:定義一個方法,列印指定次數的HelloWorld
*/
public class Demo03MethodPrint {
public static void main(String[] args) {
printCount(5);
}
/*
方法名稱:printCount
引數串列:到底要列印多少次?必須告訴我,否則我不知道多少次,沒法列印,
次數:int
回傳值型別:只是進行一大堆操作而已,沒有計算,也沒有結果要告訴呼叫處
*/
public static void printCount(int number) {
// 法一:
// for (int i = 1; i <= number; i++) {
// System.out.println("HelloWorld" + i);
// }
// 法二:
for (int i = 0; i < number; i++) {
System.out.println("HelloWorld" + (i + 1));
}
}
}
17 方法的注意事項
package cn.sjxy.day04.demo03;
/*
使用方法的時候,注意事項:
1.方法應該定義在類當中,但是不能在方法當中再定義方法,不能嵌套,
2.方法定義的前后順序無所謂,
3.方法定義之后不會執行,如果希望執行,一定要呼叫: 單獨呼叫、列印呼叫、賦值呼叫,
4.如果方法有回傳值,那么必須寫上 “return回傳值;” ,不能沒有,
5.return后面的回傳值資料,必須和方法的回傳值型別,對應起來,
6.對于一個void沒有回傳值的方法,不能寫return后面的回傳值,只能寫return自己,
7.對于void方法當中最后一行的return可以省略不寫,
8.一個方法當中可以有多個return陳述句,但是必須保證同時只有一個會被執行到,兩個return不能連寫,
*/
public class Demo04MethodNotice {
public static int method1() {
return 10;
}
public static void method2() {
// return 10; //錯誤的寫法!方法沒有回傳值,return后面就不能寫回傳值,
return; //沒有回傳值,只是結束方法的執行而已,
}
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;
}
}
}
18 方法多載的基本使用
package cn.sjxy.day04.demo03.demo04;
/*
對于功能類似的方法來說,因為引數串列不一樣,卻需要記住那么多不同的方法名稱,太麻煩
方法的多載(Overload):多個方法的名稱一樣,但是引數串列不一樣
好處:只要記住唯一一個方法名稱,就可以實作類的多個功能
*/
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10,20));//兩個引數的方法 30
System.out.println(sum(10,20,30));//三個引數的方法 60
System.out.println(sum(10,20,30,40));//四個引數的方法 100
// System.out.println(sum(10,20,30,40,50));/找不到任何方法來匹配,所以錯誤!
}
public static int sum(int a, int b){
System.out.println("有兩個引數的方法的執行");
return a+b;
}
public static int sum(int a, int b,int c){
System.out.println("有三個引數的方法的執行");
return a+b+c;
}
public static int sum(int a, int b, int c, int d){
System.out.println("有四個引數的方法的執行");
return a+b+c+d;
}
}
19 方法多載的注意事項
package cn.sjxy.day04.demo03.demo04;
/*
方法多載跟下列因素相關:
1.引數的個數不同
2.引數的型別不同
3.引數的多型別順序不同
方法多載與下列因素無關:
1.與引數的名稱無關
2.與方法的回傳值型別無關
*/
public class Demo01MethodOverload {
public static void main(String[] args) {
}
//引數的型別不同
public static int sum(double a, double b) {
return (int) (a + b);
}
//引數的多型別順序不同
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}
//引數的個數不同
public static int sum(int a, int b) {
System.out.println("有兩個引數的方法的執行");
return a + b;
}
public static int sum(int a, int b, int c) {
System.out.println("有三個引數的方法的執行");
return a + b + c;
}
public static int sum(int a, int b, int c, int d) {
System.out.println("有四個引數的方法的執行");
return a + b + c + d;
}
//錯誤寫法:與引數的名稱無關
// public static int sum(int x, int y) {
// return x + y;
// }
//錯誤寫法:與方法的回傳值型別無關
// public static double sum(int a, int b) {
// return a + b + 0.0;
// }
}
20 多載練習1 四種不同引數型別的方法
package cn.sjxy.day04.demo04;
/*
題目要求:
比較兩個資料是否相等,
引數型別分別為兩個byte型別,兩個short型別,兩個int型別,兩個long型別,
并在main方法中進行測驗,*/
public class Demo02MethodOverloadSame {
public static void main(String[] args) {
byte a = 10;
byte b = 20;
System.out.println(isSame(a, b));//兩個byte引數的方法執行:false
System.out.println(isSame((short) 20, (short) 20));//兩個short引數的方法執行:true
System.out.println(isSame(11, 12));//兩個int引數的方法執行:false
System.out.println(isSame(20L, 20L));//兩個long引數的方法執行:true
}
public static boolean isSame(byte a, byte b) {
System.out.println("兩個byte引數的方法執行");
boolean same;
if (a == b) {
same = true;
} else {
same = false;
}
return same;
}
public static boolean isSame(short a, short b) {
System.out.println("兩個short引數的方法執行");
boolean same = a == b ? true : false;
return same;
}
public static boolean isSame(int a, int b) {
System.out.println("兩個int引數的方法執行");
return a == b;
}
public static boolean isSame(long a, long b) {
System.out.println("兩個long引數的方法執行");
if (a == b) {
return true;
} else {
return false;
}
}
}
21 多載練習2 判斷方法的正確多載

22 多載練習3 實作多載的println方法
package cn.sjxy.day04.demo04;
public class Demo04OverloadPrint {
//byte short int long float double boolean char
//String
//在調出陳述句的時候,println方法其實就是進行了多種資料型別的多載形式
public static void main(String[] args) {
myPrint(100);//int
myPrint("Hello");//String
}
public static void myPrint(byte num) {
System.out.println(num);
}
public static void myPrint(short num) {
System.out.println(num);
}
public static void myPrint(int num) {
System.out.println(num);
}
public static void myPrint(long num) {
System.out.println(num);
}
public static void myPrint(float num) {
System.out.println(num);
}
public static void myPrint(double num) {
System.out.println(num);
}
public static void myPrint(boolean is) {
System.out.println(is);
}
public static void myPrint(char zifu) {
System.out.println(zifu);
}
public static void myPrint(String str) {
System.out.println(str);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/264469.html
標籤:java
上一篇:攔截器
