10.java方法

一、什么是方法

方法(method)是程序中最小的执行单元。

在这里插入图片描述

二、方法有什么用

需求:用输出语句描述,如何打一局游戏?

我有一个朋友

        System.out.println("选人物");
        System.out.println("准备开局");
        System.out.println("对线");
        System.out.println("崩盘");
        System.out.println("骂队友");
        System.out.println("送人头");
        System.out.println("GG");

方法使用示范:

public class fangfa {
    public static void main(String[] args) {
        play();
    }
    public static void play(){
        System.out.println("选人物");
        System.out.println("准备开局");
        System.out.println("对线");
        System.out.println("崩盘");
        System.out.println("骂队友");
        System.out.println("送人头");
        System.out.println("GG");
    }
}

1.什么是方法
方法是程序中最小的执行单元。
2.实际开发中,什么时候用到方法?
重复的代码、具体独立功能的代码可以抽取到方法中。
3.实际开发中,方法有什么好处?
可以提高代码的复用性
可以提高代码的可维护性

三、方法的格式

把一些代码打包在一起,用到的时候就调用

在这里插入图片描述
格式:

public static 返回值类型 方法名(参数){
     方法体;
     return 返回值;
}

1.最简单的方法定义和调用

定义

格式:

public static void 方法名(){
    方法体(就是打包起来的代码);
}

范例:

public static void play(){
    System.out.println("选人物");
        System.out.println("准备开局");
        System.out.println("对线");
        System.out.println("崩盘");
        System.out.println("骂队友");
        System.out.println("送人头");
        System.out.println("GG");
}

调用

格式:

方法名();

示范

play();

注意:方法需要先定义后调用,否则程序将报错

public class fangfa {
    public static void main(String[] args) {
        play();
    }
    //定义一个方法
    public static void play(){
        System.out.println("选人物");
        System.out.println("准备开局");
        System.out.println("对线");
        System.out.println("崩盘");
        System.out.println("骂队友");
        System.out.println("送人头");
        System.out.println("GG");
    }
}

2.带参数的方法定义和调用

定义

格式:

public static void 方法名(参数){... ...}

调用

单个参数:

方法名(参数);

范例一:

met(10);

范例二:

met(变量);

多个参数:

方法名(参数1,参数2,... ...);

范例一:

get(10,20);

范例二:

get(变量1,变量2);

注意:方法调用时,参数的数量与类型必须与方法定义中小括号里面的变量一一对应,否则程序将报错。

示范

public class daican {
    public static void main(String[] args) {
        
        getSun(10,20);
    }

    public static void getSun(int num1,int num2) {
    
        int result = num1 + num2;
        System.out.println(result);
    }
    
}

形参和实参

形参:全称形式参数,是指方法定义中的参数
实参:全称实际参数,方法调用中的参数

在这里插入图片描述

练习

1.人肉计算机

需求:定义一个方法,求长方形的周长,将结果在方法中进行打印。

示范:

public class changfangxing {
    public static void main(String[] args) {
        zhouchang(10,20);
    }
    public static void zhouchang(int chang,int kuan){
        int zhou;
        zhou = (chang + kuan) * 2;
        System.out.println(zhou);
    }
}

在这里插入图片描述

2.人肉计算机2

需求:定义一个方法,求圆的面积,将结果在方法中进行打印。

示范:

public class yuan {
    public static void main(String[] args) {

        yuan(1.5);
    }
    public static void yuan(double banjing) {
    //半径的平方 * π
        double mian = (banjing *banjing) * 3.14;
        System.out.println(mian);
    }
}

在这里插入图片描述

3.带返回值方法的定义和调用

案例:

计算营业额

示范:

public class yingyee {
    public static void main(String[] args) {
        int sun1 = getSun(10,20,30);
        int sun2 = getSun(20,30,40);
        int sun3 = getSun(30,40,50);
        System.out.println(sun1);
        System.out.println(sun2);
        System.out.println(sun3);
    }
    public static int getSun(int num1,int num2,int num3){
        int result  = num1 + num2 + num3;
        return result ;//返回给方法的调用处
    }
}

在这里插入图片描述

四、方法重载

需求:使用方法重载的思想,设计比较两个整数是否相同的方法。

要求:兼容全整数类型(byte , short , int , long)

示范:

public class chongzai {
    public static void main(String[] args) {
        /*
        需求:使用方法重载的思想,设计比较两个整数是否相同的方法。
        要求:兼容全整数类型(byte , short , int , long)
         */

        //调用
        bijiao(1,2);

    }
    public static void bijiao(byte b1,byte b2){
        System.out.println("byte");
        System.out.println(b1==b2);
    }
    public static void bijiao(short b1,short b2){
        System.out.println("short");
        System.out.println(b1==b2);
    }
    public static void bijiao(int b1,int b2){
        System.out.println("int");
        System.out.println(b1==b2);
    }
    public static void bijiao(long b1,long b2){
        System.out.println("long");
        System.out.println(b1==b2);
    }
}

在这里插入图片描述

五、值传递

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值。

在这里插入图片描述

结论

基本数据类型

int a = 10;
int b = a;

传递的值是真实的数据

引用数据类型

int[] arr1 = {1,2,3,4,5};
int[] arr2 = arr1; 

传递的是地址值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值