第五章·方法

方法

  • 也称函数,过程,是语句的集合,他们在一起执行一个功能。

  • 方法包含于类或对象中

  • 方法在程序中被创建,在其他地方被引用


作用

  • 用于封装一段特定独立的业务逻辑功能
  • 可以反复多次调用
  • 减少代码重复,有利于代码维护

方法的设计原则

一个方法只能完成一个功能(原子性)


例子:
现在需要写一个关于计算两数和的方法,那在该方法中只能有a+b之类的东西出现,不可能出现a*b或者a/b之类的东西


方法的命名规则

  • 一定要满足标识符的定义(由数字,字母,下划线,$(美元符),不能以数字开头,不能是关键字,区分大小写)

  • 首字母小写,驼峰命名(如果一个方法由多个单词组成,则第一个单词为小写,后面每个单词的首字母都大写) 如:addDemo


方法的定义

方法头{
    方法体;
}
//即
修饰符  返回类型(当没有返回值类型时,就是void)  方法名   (参数类型){
          语句块;
}
//即
public int addNumbers(int num1, int num2) {
    int sum = num1 + num2;
    return sum;/*当有返回值类型时,则需要在语句块尾中使用return语句返回结果*/
}
/*形式参数(形参):用于接收外界输入的数据(没有实际意义)
            实参:调用方法是传递给方法的数*/

方法的调用

自己定义的方法是没有办法直接运行的,需要添加main(程序入口方法中才可以运行),直接在main方法写对象名.方法名(实参列表)


调用方式

  • 无返回值(void):方法名(有参传参)

如果方法返回值时void,方法调用一定是一条语句

public class 调用方法 {
     public static void main(String[] args) {
        y();//调用方法,结果输出:方法01

        y1(8,"三国演义");//调用方法,输出结果:这是第12部电影电影名是:三国演义
    }

    //自定义一个无参无返回值方法
    public static void y() {
        System.out.println("方法01");
    }

    //自定义一个有参无返回值方法
    public static void y1(int i,String i1){
        int b;
        b=i+4;
        System.out.println("这是第"+b+"部电影"+"电影名是:"+i1);
    }
}

  • 有返回值:数据类型 变量 = 方法名(有参传参)

当有返回值时,方法调用通常被当作一个值

import java.util.Arrays;
import java.util.Random;

public class 调用方法 {
	/*注意:计算机只认识main方法里面的代码,
因此需要让计算机识别自定义的方法则需要进行调用*/
    public static void main(String[] args) {
        int b=num(3,7);
        System.out.println(b);

        int []ss=s();
        System.out.println(Arrays.toString(ss));//将数组转换为字符串,可以快速的输出数组的内容
    }
    //自定义一个有参有返回值的方法
    public static int num(int d, int d1){
        int num1=d+d1;
        System.out.println(num1);
        return num1;
        //当自定义的方法为有返回值时,必须用return返回一个值,且返回值类型必须一致
    }
    //自定义一个无参有返回值的方法
    public static int[] s(){
        Random s1=new Random();
        int s2[]=new int[5];
        for (int i=0;i<s2.length;i++){
            s2[i]=s1.nextInt(100);
        }
        return s2;
    }
}

形参和实参

是函数调用时涉及的两个概念,主要用于传递参数值


**形参:**形式参数,定义方法时的参数为形参

**实参:**实际参数,调用方法时的参数为实参


方法的重载(overloading)

规则

  • 发生在同一个类中,方法名相同,参数列表不同(个数不同、类型不同、参数列表顺序不同等只需要满足至少一个条件即可构成方法的重载)
  • 编译器在编译时会根据方法的签名自动绑定方法
  • 注意:返回值并不影响方法的重载
  • 重载也是同一个类中多态的体现

好处

让代码根据灵活性,某些时候我们的形式参数无法满足当前运行条件

package day06;

import java.util.Arrays;
import java.util.Random;
//发生在同一个类中,方法名相同,参数列表不同
public class 方法的重载 {
    public static void y1(int i,String i1){
        int b;
        b=i+4;
        System.out.println("这是第"+b+"部电影"+"电影名是:"+i1);
    }
    public static int y1(int d, int d1){
        int num1=d+d1;
        System.out.println(num1);
        return num1;
    }
    public static int[] y1(){
        Random s1=new Random();
        int s2[]=new int[5];
        for (int i=0;i<s2.length;i++){
            s2[i]=s1.nextInt(100);
        }
        return s2;
    }
//以上方法名都是y1,参数列表不同
    //注意:重载与返回值的类型无关
    public static void main(String[] args) {

        y1(8,"三国演义");

        int b=y1(3,7);
        System.out.println(b);

        int []ss=y1();
        System.out.println(Arrays.toString(ss));
    }
}
public static void main(String[] args) {
     acc(27.532,33);//调用自定义方法重载
acc(261,165.267,27726);//调用方法重载1
acc(43.23,324.23);//调用方法重载2
acc(36,374.32);//调用方法重载3
  }
   public static double acc (double a,double b){
     double c=a+b;
     System.out\.println(c);
     return c;
   }
   //方法重载1:方法名相同,参数个数不同
public static double acc (double a,double b,double d){
     double c=a+b;
     System.out.println(c);
     return c;
   }
   //方法重载2:方法名相同,数据类型不同
public static double acc (double a,int b){
     double c=a+b;
     System.out.println(c);
     return c;//返回类型和自定义方法不同,但是也不影响重载
 }
   //方法重载3:方法名相同,参数顺序不同,相对于方法2来看,唯一不同就在于double a变成了int a,int b变成了double b
public static double acc (int a,double b) {
     double c = a + b;
     System.out.println(c);
     return c;
   }
 }

Debug调试工具

  • 添加断点:点击你想添加断点那行的前面

  • Debug运行程序,程序会自动进入第1个断点处,暂停

  • F7:逐步调试(会进入到方法中)

    F8:逐过程调试(不会进入到方法中)

    F9:直接跳到下一个断点处,若后面没有断点了,则调试结束


单词

1)Student:学生
2)className:班级名称
3)stuId:学号
4)study:学习
5)play:6)another:另一个
7)Car:小汽车
8)brand:品牌
9)color:颜色
10)price:价格
11)start:开始、启动
12)run:13)stop:停止
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值