Tips:样式蚂蚁森林浇水get

java基础——day03-2 方法

方法

回顾--方法的定义和调用

package day03;

public class day03_21 {
    //利用方法,打印矩形
    public static void main(String[] args) {
        //方法的调用
        print();
    }
    //定义私有静态方法
    private static void print(){
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}
利用方法,打印矩形

  print 方法被 main 方法调用后直接输出结果,而 main 方法并不需要 print 方法的执行结果,所以被定义为void 。

定义方法的格式解析

  

 

  修饰符:public static固定写法

 

   返回类型:表示方法运行结果的数据类型,方法执行后将结果返回到调用者,如果无返回结果,返回类型写void。

  参数列表:方法在运算过程中的未知数据,调用者调用方法时传递

  return:将方法执行后的结果返还给调用者,方法执行到return,整体方法运行结束。

定义方法的两个明确:

  需求:定义方法实现两个整数的求和计算

  明确返回类型:方法计算的是整数的求和,所以返回结果必然是整数。

  明确参数列表:方法计算的是两个整数的和,所以我们需要定义两个形参来接收。

package day03;

public class day03_22 {
    //利用方法计算两个整数的和
    public static void main(String[] args) {
        //定义两个整数
        int a = 10;
        int b = 20;
        //调用方法Sum 并打印计算结果
        System.out.println(Sum(a,b));

    }

    //定义方法 其中num1 num2为形参 主要用于接受传递的数据
    public static int Sum(int num1,int num2){
        //定义result用于接收两个整数的和
        int result;
        result = num1 +num2;
        //返回计算结果
        return result;
    }
}
利用方法求和

  调用方法的大致过程:

  

 

定义方法的练习

  1、比较两整数是否相同

package day03;

public class day03_23 {
    //比较两整数是否相同
    public static void main(String[] args) {
        //定义两个整数
        int a = 10;
        int b = 10;
        int c= 20;
        //输出调用方法的结果
        System.out.println(compare(a,b));
        //对比
        System.out.println(compare(a,c));
    }

    //定义方法 因为是对比数据 所以返回布尔类型
    public static boolean compare(int num1 ,int num2){
        if(num1 == num2){
            return true;
        }else {
            return false;
        }
    }
}
对比两整数是否相等

  2、计算1-指定数的的累加和

package day03;

import java.util.Scanner;

public class day03_24 {
    //利用方法计算 1-指定数的 的累加和
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入需要从1累加的数:");
        int num = sc.nextInt();
        //判断用户输入
        if(num <=0){
            System.out.println("您的输入有误");
        }else {
            System.out.println(sum(num));
        }
    }

    //定义求累加的方法
    public static int sum(int num){
        //定义result用于接受计算结果
        int result = 0;
        //计算体
        for (int i = 1; i <= num; i++) {
            result += i;
        }
        return result;
    }
}
计算1-指定的累加

 

定义方法的注意事项

  1.定义位置,定义在类中main方法外

  2.返回值类型,必须要和return语句返回类型相同,否则编译失败

  

 

  3.不能在return 结果;后面写代码,return意味方法结束,后面的代码不会被执行。

  

 

调用方法的三种形式

  直接调用:直接写方法名调用

package day03;

public class day03_25 {
    //方法直接调用
    public static void main(String[] args) {
        print();
    }

    public static void print(){
        System.out.println("该方法被调用了");
    }
}
直接调用

  赋值调用:调用方法,在方法前面定义变量,接收方法返回值

package day03;

public class day03_25 {
    //方法赋值调用
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //定义result 用于接收计算结果
        int result = sum(a,b);
        System.out.println(result);
    }

    public static int sum(int a,int b){
        return a+b;
    }
}
赋值调用

  输出语句调用:在输出语句中调用方法

package day03;

public class day03_25 {
    //方法输出语句调用
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //直接输出计算结果
        System.out.println(sum(a,b));
    }

    public static int sum(int a,int b){
        return a+b;
    }
}
输出语句调用

  注意:不能在输出语句调用void类型的方法,因为方法执行后没有结果,也就不会打印任何内容。

方法重载

方法重载

  定义:指在同一个类中,允许存在一个以上的同名方法,只要参数列表不同即可,与修饰符和返回类型无关。

  参数列表:个数不同,数据类型不同,顺序不同

  重载方法调用:JVM通过方法参数,调用不同的方法

 方法重载练习

   1.比较两个数据是否相等,参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型,并在 main 方法中进行测试。   

package day03;

public class day03_26 {
    public static void main(String[] args) {
        //定义不同类型数据变量
        byte a = 10,b = 20;
        short c=10,d = 20;
        int e = 10,f = 10;
        long g = 10,h =20;

        //调用方法
        System.out.println(compare(a,b));
        System.out.println(compare(c,d));
        System.out.println(compare(e,f));
        System.out.println(compare(g,h));
    }

    //定义数据比较方法--对比byte型
    public static boolean compare(byte a,byte b){
        System.out.println("byte");
        return a == b;
    }

    //定义数据比较方法--对比short型
    public static boolean compare(short a ,short b){
        System.out.println("short");
        return a == b;
    }

    //定义数据比较方法--对比int型
    public static boolean compare(int a ,int b){
        System.out.println("int");
        return a == b;
    }

    //定义数据比较方法--对比long型
    public static boolean compare(long a ,long b){
        System.out.println("long");
        return a ==b;
    }
}
比较

  2.判断哪些方法是重载

 

  答案:1、2、4、5、8

  3、模拟输出语句中的 println 方法效果,传递什么类型的数据就输出什么类型的数据,只允许定义一个方法名print 

package day03;

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

    public static void print(byte a){
        System.out.println(a);
    }
    
    public static void print(short a){
        System.out.println(a);
    }
    
    public static void print(char a){
        System.out.println(a);
    }
    
    public static void print(int a){
        System.out.println(a);
    }
    
    public static void print(float a){
        System.out.println(a);
    }
    
    public static void print(double a){
        System.out.println(a);
    }
    
    public static void print(boolean a){
        System.out.println(a);
    }
    
    public static void print(String a){
        System.out.println(a);
    }
}
print

 


 

posted @ 2021-03-01 23:15  心岛未晴  阅读(96)  评论(0)    收藏  举报