方法

◇◆丶佛笑我妖孽 提交于 2020-01-26 17:21:53

方法

方法的定义格式

  • 方法其实就是若干语句的功能集合
  • 参数(原料):就是进入方法的数据
  • 返回值(产出物):就是从方法中出来的数据

定义方法的完整格式:

修饰符 返回值类型 方法名称(参数类型 参数名称,...{

​	方法体

​	return 返回值;

}

修饰符:现阶段的固定写法,public stastic

返回值类型:也就是方法最终产生的数据结果是什么类型

参数类型:进入方法的数据是什么类型

参数名称:进入方法的数据对应的变量名称

PS:参数如果有多个,使用逗号进行分隔

方法体:方法需要做的事情。若干行代码

return:两个作用1.停止当前方法。2.把后面的返回值还给调用处

返回值:方法执行后最终产生的结果

注意事项:return后面的返回值必须和方法名称前面的返回值类型保持对应

方法的三种调格式

  1. 单独调用:方法名称(参数);
  2. 打印调用:System.out.println(方法名称(参数));
  3. 赋值调用:数据类型 变量名称 = 方法名称(参数);

注意:此前学习的方法,返回值类型固定写为viod,这种方法只能够单独调用,不能进行打印调用或者赋值调用

package cn.itcast.day04.damo02;
/*
定义一个两个Int数字相加的方法,三要素
返回值类型:int
方法名称:sum
参数列表:int a,int b
 */
public class Demo01Method {
    public static void main(String[] args) {
        //单独调用
        sum(10,20);

        //打印调用
        System.out.println(sum(10,20)); //30

        //赋值调用
        int number = sum(15,25);
        
    }
    public static int sum(int a,int b){
        System.out.println("方法执行啦");
        int result = a + b;
        return result;
    }

}

方法的调用流程图解

在这里插入图片描述

对比有参数和无参数

  1. 有参数:小括号中有内容。当一个方法需要一些数据条件才能完成任务的时候,就是有参数

    ​ 例如两个数字相加,必须知道两个数字各自是多少,才能相加

  2. 无参数:小括号留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数

    ​ 例如定义一个方法,打印十次固定的HelloWorld

package cn.itcast.day04.damo02;

public class Demo02MethodParam {
    public static void main(String[] args) {
        method(10,20);
        method2();
    }
    //两个数字相乘,做乘法,必须世道两个数字各自是多少,否则无法进行计算
    //有参数
    public static void method(int a ,int b){
        int result = a * b;
        System.out.println("结果是:" + result);
    }

    //打印输出固定十次文本字符串
    public static void method2(){
        for (int i = 0;i < 10;i++){
            System.out.println("HelloWorld" + i);
        }
    }
}

方法有返回值和没有返回值

  • 图解
    在这里插入图片描述
package cn.itcast.day04.damo02;
/*
题目要求:定义一个方法,用来【求出】两个数字之和。(你帮我算,算完之后把结果告诉我)有 
题目变形:定义一个方法,用来【打印】两个数字之和。(你来计算,算完之后你自己负责结果显示,不用告诉我)无
 */
public class DemoMethou03return {
    public static void main(String[] args) {
        //我是main方法,我来调用你
        //我调用你,你帮我计算一下,算完了之后,把结果告诉我的num变量
        int num = getSum(10,20);
        System.out.println("返回值是:" + num);

        printSum(100,200);

    }
    //我是一个方法,我负责两个数字相加
    //我有返回值int,谁调用我,我就把计算结果告诉谁
    public static int getSum(int a, int b){
        int result = a + b;
        return result;
    }

    //我是一个方法,我负责两个数字相加
    //我没有返回值,不会把结果告诉任何人,而是我自己打印输出
    public static void printSum(int a,int b) {
        int result = a + b;
        System.out.println("结果是:" + result);

    }
}

注意事项:对于有返回值的方法,可以使用单独调用,打印调用或者赋值调用

​ 但是对于无返回值的方法,只能使用单独调用

方法练习1 比较两个数字

package Demo03;
/*
题目要求:定义一个方法,用来判断两个数字是否相同
 */
public class Demo01Methodsame {
    public static void main(String[] args) {
        System.out.println(isSame(10,20));
        System.out.println(isSame(20,20));

    }
    /*
    三要素:
    返回值类型:布尔
    方法名称:isSame
    参数列表:int a .int b
     */
    public static boolean isSame(int a,int b){
        boolean same;
        if (a == b){
            same = true;
        }else{
            same = false;
        }
        return same;
    }
}

方法练习2求出1-100的所有的和

package Demo03;
/*
题目要求:
定义一个方法,求1-100间所有数字之和
 */
public class Method02 {
    public static void main(String[] args) {
        System.out.println("结果是:"+ getSum());

    }
    /*
    三要素:
    返回值:有返回值,计算结果是一个int数字
    方法名称:getSum
    参数列表:数据范围已经确定,是固定的,所以不需要告诉我任何条件,不需要参数
     */
    public static int getSum(){
        int sum = 0;
        for (int i = 1 ;i <= 100;i++){
            sum += i;
        }
        return sum;
    }

}

方法练习3 打印指定次数

package Demo03;
/*
题目要求:
打印指定次数的HelloWorld
 */
public class Method03 {
    
    public static void main(String[] args) {
        printCount(5);

    }
    /*
    三要素
    返回值类型:只是进行一大堆打印操作,没有计算,也没有结果要告诉调用处
    方法名称:printCount
    参数列表:到底要打印多少次?必须告诉我,否则我不知道打印多少次,没法打印,次数int
     */
    public static void printCount(int num){
        for (int i = 0; i < 10; i++) {
            System.out.println("HelloWorld" + (i + 1));

        }
    }

}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!