第七章 方法

第七章 方法

一、学习目标

①掌握Java类库中提供的常用方法

②了解自定义方法的基本概念和用法

③理解形式参数和实际参数

④理解参数的值传递和引用传递

⑤掌握自定义方法的定义和调用

⑥理解变量的作用域范围

⑦掌握方法的重载

二、何为方法

**方法:**是为了完成一个操作而组合在一起的语句组

使用方法的好处:

 1.可以省去编写重复代码的苦闷

 2.可以组织和简化编码

 3.提高代码可读性

方法实例:

/**
 * 打印规定次数的台词
 * @param times 打印的次数
 * @param words 打印的台词
 */
public static void pirntWords(int times, String words){
    for(int i = 0; i < times; i++){
        System.out.println(words);
    }
}

/*注意:
 *1、static 修饰的方法一般称作静态方法
 *2、方便在没有创建对象的时候调用方法
 */

三、方法的种类

①内置方法

 由JDK类库提供

 需要导入相应的包

②自定义方法

 带参数

 不带参数

四、自定义方法

**定义方法(Method):**由方法名称、参数、返回值类型及方法体组成

修饰符 返回值类型 方法名([参数列表]){
    //方法体
}

//例
public static int getSum(int num1, int num2){
    int result = num1 + num2;
    return result;
}

//调用方法
int num1 = 80;
int num2 = 90;
int sum = getSum(num1, num2);
System.out.println("和为" + sum);

五、参数传递机制

**按值传递(pass-by-value):**为方法传递参数时,参数值不会直接传递给方法,而是先制作参数值的副本,存储在栈上,再使这个副本可用于方法,而不是使用初始值。

六、不定长度的参数

**使用场景:**调用方法时,方法的参数个数无法确定。

public static void printAvg(double ...score){
    double sum = 0;
    for(double num : score){
        sum += num;
    }
    System.out.println("平均值为:" + sum / score.length);
}

注意:

①不定长参数必须是参数列表的最后一个

②一个方法只准有一个不定长参数

七、方法重载

**重载(overloading)😗*方法名称相同,参数列表不同。编译器根据方法签名决定调用哪个方法。

参数列表不同的概念:

 1、参数个数不同

 2、参数类型不同

 3、参数顺序不同

例:

int max(int num1, int num2){
    return num1 > num2 ? num1 : num2;
}

double max(double num1, double num2){
    return num1 > num2 ? num1 : num2;
}

String max(String str1, String str2){
    if(str1.compareTo(str2) > 0){
        return str1;
    }else{
        return str2;
    }
}

//当虚拟机能匹配多个方法时,会报错
int max(int num1, double num2){
    return num1 > num2 ? num1 : num2;
}
double max(double num1, int num2){
    return num1 > num2 ? num1 : num2;
}
//调用上面的方法
public static void main(String[] args){
    System.out.println(max(5, 10));
}

注意:

①有时调用方法会有两个或更多可能的匹配,称为歧义调用。

八、变量的作用域

**①作用域:**指变量可以在程序中引用的范围。

②注意:

1.参数实际上就是一个局部变量

2.参数的作用域范围涵盖整个方法

3.局部变量必须在使用前声明和赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值