JAVAEE细细看 初级 05 - 方法

方法

方法:是将具有独立功能的代码组织成为一个整体,使其具有特殊功能的代码块

1. 定义:
public static void 方法名() {
}
2. 调用
方法的调用格式
1.单独调用         method();
2.打印调用	      System.out.println( method() );
3.赋值调用         int kk = method();

练习
需求:设计一个方法用于计算控制台输出的两个数的和

public static void main(String[] args) {

    // 获取总和
    getMax();
}

public static void getMax(){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入第一个数字:");
    int a = sc.nextInt();
    System.out.println("请输入第二个数字:");
    int b = sc.nextInt();
    int sum = a + b;
    System.out.println("两个数字的和是:"+ sum);
}

a. 方法的定义和调用图

b. 带参数的方法定义图

c. 带参数的方法调用图

d. 形参和实参图

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

3. 方法的重载

目的:
方便方法的调用者
例子:System.out.println()
在这里插入图片描述

4. 方法的参数传递

a. 基本数据作为参数传递,传递的是数据值,不是地址值,所以不影响实际参数的值

b. 引用数据传递的是地址,形参的改变,影响实际参数的值

c. String 属于引用数据类型,但是参数传递的时候,按基本数据类型传递

5. 练习

1). 分析以下需求,并用代码实现(每个小需求都需要封装成方法)
1.求两个整数之和
2.求两个小数之和
3.判断两个整数是否相等
4.判断两个小数是否相等
5.获取两个整数中较大的值
6.获取两个小数中较大的值
7.获取两个整数中较小的值
8.获取两个小数中较小的值
9.用一个方法获取两个整数中较大的值或较小的值*/

public class Test1 {
public static void main(String[] args) {
    int a = 10;
    int b = 15;
    //求两个整数之和
    int sum_int = sum(a, b);
    System.out.println(sum_int);
    //求两个小数之和
    double c = 11.11;
    double d = 12.12;
    double sum_double = sum(c, d);
    System.out.println(sum_double);
    //判断两个整数是否相等
    int e = 12;
    int f = 13;
    boolean equals_int = equals(e, f);
    System.out.println(equals_int);

    //判断两个小数是否相等
    double g = 12.23;
    double h = 12.23;

    boolean equals_double = equals(g, h);
    System.out.println(equals_double);

    //获取两个整数中较大的值
    int i = 23;
    int j = 24;
    int max_int = max(i, j);
    System.out.println(max_int);

    //获取两个小数中较大的值
    double k = 45.4;
    double l = 55.55;
    double max_double = max(k, l);
    System.out.println(max_double);

    //获取两个整数中较小的值
    int m = 36;
    int n = 24;
    int min_int = min(m, n);
    System.out.println(min_int);

    //获取两个小数中较大小的值
    double o = 45.4;
    double p = 55.55;
    double min_double = min(o, p);
    System.out.println(min_double);

    //用一个方法获取两个整数中较大的值或较小的值
    int w = 34;
    int x = 25;
    //传入flag变量,来确认是返回最大值还是最小值
    int max_num = max_min(w, x, 1);
    System.out.println(max_num);
    int min_num = max_min(w, x, 0);
    System.out.println(min_num);
}

public static int sum(int a, int b) {
    return a + b;
}

public static double sum(double c, double d) {
    return c + d;
}

public static boolean equals(int e, int f) {
    return e == f;
}

public static boolean equals(double g, double h) {
    return g == h;
}

public static int max(int i, int j) {
    if (i > j) {
        return i;
    } else {
        return j;
    }
}

public static double max(double k, double l) {
    if (k > l) {
        return k;
    } else {
        return l;
    }
}

public static int min(int m, int n) {
    if (m > n) {
        return n;
    } else {
        return m;
    }
}

public static double min(double o, double p) {
    if (o > p) {
        return p;
    } else {
        return o;
    }
}

public static int max_min(int w, int x, int flag) {
    if (flag == 1) {
        //求最大值
        if (w > x) {
            return w;
        } else {
            return x;
        }
    } else {
        //求最小值
        if (w > x) {
            return x;
        } else {
            return w;
        }
    }
}

2 ).
a. 定义方法public static boolean isSXH(int num),
功能:判断数字num是否是水仙花数,如果是返回true,如果不是返回false。
b. 在main方法中调用该方法,传入数字,打印结果。(所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。)
打印:传入数字153,结果为true,该数字是水仙花数。*/

public class Test2 {
    public static void main(String[] args) {
        int num = 153;
        //定义一个boolean类型的变量接收返回值
        boolean flag = isSXH(num);
        System.out.println(flag);
    }
    public static boolean isSXH(int num) {
        //取出各位 十位 百位的数字
        int ge = num % 10;
        int shi = num / 10 % 10;
        int bai = num / 100;
        if (ge * ge * ge + shi * shi * shi + bai * bai * bai == num) {
            return true;
        } else {
            return false;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值