方法
方法:
定義行為骗污;為了減少代碼的重復性,可以被多次調(diào)用
聲明方法:
- 方法是否有結果:有返回值
- 調(diào)用方法時坪稽,是否需要不確定數(shù): 需要,則聲明參數(shù)
- 方法如果有返回結果,此結果返回給調(diào)用者
格式:
返回數(shù)據(jù)類型: 方法名(參數(shù)列表){ }
返回數(shù)據(jù)類型: 無返回類型 void ;有返回類型,是結果的數(shù)據(jù)類型
方法案例一
public class Demo {
public static void main(String[] args) {
//輸入兩個數(shù)徐勃,求和
sum();
}
//自定義方法,實現(xiàn)輸入兩個數(shù)并求和
static void sum() {
//輸入兩個數(shù)早像,求和
Scanner sc = new Scanner(System.in);
int sum = 0, num = 0;
System.out.println("請輸入第一個數(shù):");
num = sc.nextInt();
sum += num;
System.out.println("請輸入第二個數(shù):");
num = sc.nextInt();
sum += num;
System.out.println("兩個數(shù)的和:" + sum);
sc.close();//關閉與I/O的連接僻肖,釋放資源
}
}
運行結果

方法詳解
在一個類中,可以出現(xiàn)多個重命的方法卢鹦,但要求方法的參數(shù)不同:個數(shù)臀脏、類型、同個數(shù)但類型不同,從而構成了方法的重載
方法案例二
public class Demo{
public static void main(String[] args) {
int sum = sum(10, 9); //返回結果為19
sop("sum->" + sum);//sum->19
sop("10+19+8=" + sum(10, 19, 8));//10+19+8=37
sop("10.5+19.25=" + sum(10.5, 19.25));//10.5+19.25=29.75
}
//有返回結果冀自,有不確定的數(shù)
static int sum(int a, int b) { //方法的重載
if (a != 0 || b != 0)
return a + b; //結果返回之后揉稚,后面的語句就不會執(zhí)行
//如果有返回結果,必須存在一個return語句
return 0;
}
//功能:三個數(shù)相加熬粗,返回和
static int sum(int a, int b, int c) { //方法的重載
return sum(sum(a, b), c);
}
//功能:實現(xiàn)2個小數(shù)相加的和
static double sum(double a, double b) { //方法的重載
return a + b;
}
//功能:打印指定的消息搀玖,無返回結果,但有不確定的數(shù)據(jù)(有參)
static void sop(String msg) {
System.out.println(msg);
//如果方法無返回數(shù)據(jù)荐糜,也可以使用return結束方法
return;
//return 之后的語句不能被執(zhí)行--編譯就不通過
//System.out.print("<------->");
}
}
局部變量巷怜,及方法調(diào)用的背后
局部變量的作用域,只限于方法內(nèi)部暴氏。
方法的調(diào)用:入棧延塑,分配內(nèi)存空間,初始化局部變量答渔;
方法的返回: 出棧关带,釋放內(nèi)存空間,在方法中定義的局部變量也就消失;
方法案例
public class Demo {
public static void main(String[] args) {
int a = 100;
int b = 300;
int sum = add(a, b); //調(diào)用方法宋雏,并獲取其計算的結果
sop("" + sum);
}
static int add(int a, int b) {
//默認對每一個數(shù)增加相應的值
a += 10;
b += 20;
int sum = a + b;
return sum;
}
static void sop(String msg) {
System.out.println(msg);
}
}
圖解
