目录
一、方法的定义
概念:
实现特定功能的一段代码,可反复使用
定义语法:
public static void 方法名称(){
//主体方法
}
//方法名:遵循标识符命名规范(驼峰命名法)
//方法主体:功能代码
定义的位置:
方法定义在类的内部,与main方法并列
二、方法的使用以及调用
public class Demo{
//第一个方法:
public static void sumA() {
System.out.println("这是被调用的第一个方法sumA");
}
//主函数:
public static void main(String args[]){
System.out.println("这是主函数main");
sumA();
sumB();
}
//第二个方法:
public static void sumB() {
System.out.println("这是被调用的第二个方法sumB");
}
}
三、方法的形参&实参
定义语法:
public static void 方法名称(形式参数){ //这里形参相当于局部变量的声明
//主体方法
}
调用语法:
方法名称(实际参数); //这里实参相当于局部变量的赋值
public class Demo{
//第一个方法:
public static void sumA(int a) {
System.out.println(a);
}
//主函数:
public static void main(String args[]){
System.out.println("这是主函数main");
sumA(3); //调用sumA方法,将3传入sumA,3是实参
sumB(5,7); //调用sumB方法,将5和7传入sumB,5和7是实参
int d=4;
sumD(d);
System.out.println(d);
}
//第二个方法:
public static void sumB(int b,int c) { //这里int b,和int c是形参
System.out.println(b+c);
}
//第三个方法
public static void sumD(int d) {
d=d+1;
System.out.println(d);
}
}
在上述代码中,调用sumA时传入了一个实参,调用sumB时传入了两个实参
在方法内部的所有基本类型变量,只能在方法内部起作用
也不会因为参数被调用后从而影响到主函数参数的值,
看上面的sumD()方法
定义了d=4
在方法sumD()中d=d+1;所以输出了5
但并没有影响到主函数中的d的值
四、返回值与返回值类型
概念:
方法执行后的返回结果
方法执行之后,一些情况下无需返回结果,另一些情况下则必须返回结果
定义语法:
public static 返回值类型 方法名称(形似参数列表){
//主体方法
return value; //返回值
}
//返回值的具体类型(基本、引用、void)
return value; → 根据需求返回一个结果(值)
语法调用:
变量 = 方法名称();
//变量类型与返回值类型一致
public class Demo{
//定义一个方法,计算两个整数的和
public static void main(String args[]){
int result=add(3,4);
System.out.println("result的值为:"+result);
int c=5;
int d=4;
System.out.println(c+"和"+d+"的和为"+add(c,d));
}
public static int add(int a,int b) {
return a+b;
}
}
在上述代码块中,
主函数可以定义一个变量result来接收add(a,b);的返回值,
也可以直接在主函数中输出add(a,b)的返回值
五、return关键字
return的两种用法:
1、应用在具有返回值类型的方法中
return value; //表示结束当前方法,并伴有返回值,返回到方法调用处
2、应用在没有返回值类型(void)的方法中:
return; //表示结束当前方法,直接返回到方法调用处(代码如下)
public static void show(){
for(int i=1;i<=100;i++){
if(i==50){
return; //这里运行到return时直接结束循环和当前方法
}
}
}
六、定义方法的好处
注意:
一个类中可以定义多个方法,方法之间属于并列关系,不可嵌套
经验:
一个方法只做一件事
好处:
减少代码冗余
提高复用性
提高可读性
提高可维护性
方便分工合作
七、多级调用
public class Demo{
public static void main(String args[]){
sumA();
}
public static void sumA() {
System.out.println("这是sumA");
sumB();
}
public static void sumB() {
System.out.println("这是sumB");
}
}
上述代码中,
主函数main()调用了sumA()
sumA()继而又调用了sumB()