一文带你更了解Java中的方法

举报
几分醉意. 发表于 2022/10/21 22:37:34 2022/10/21
【摘要】 本文比较偏向基础,适合小白观看。本文主要详细的介绍了定义方法的格式、方法的三种调用格式、方法注意事项、重载方法。并且通过方法练习代码实战,让你对方法的印象更深刻。

定义方法的格式


修饰符 返回值类型 方法名称(参数类型 参数名称,){
	方法体
	return 返回值
}

修饰符: 现阶段固定写法,public static
返回值类型: 也就是方法最终产生的数据是什么类型
方法名称: 方法的名字,规则和变量一样,小驼峰
参数类型: 进入方法的数据是什么类型
参数名称: 进入方法的数据对应的变量名称
Ps: 参数如果有多个,使用逗号进行分隔
方法体: 方法需要做的事,若干行代码
return: 两个作用,第一停止当前方法,第二将后面的返回值还给调用处(带着返回值回到方法的调用出;谁在调用我,我就把结果还给谁;像下面例子种的赋值调用,sum在调用它,就把结果还给sum,所以sum就是7,然后继续下面的+=,就是107)

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

注意事项:

  1. 方法定义的先后顺序无所谓。
  2. 方法定义不能产生嵌套包含关系。
    方法定义好了之后,不会执行的。如果要想执行,一定要进行方法的调用。

方法的三种调用格式

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

单独调用:只能让方法执行,方法产生的结果,都无法进行使用。
打印调用:就是把方法调用写到一个打印输出语句当中,这样方法先执行,执行完后,return后面的结果将会进行打印显示。
赋值调用:不打印,而是把它的结果向左赋值给变量,然后变量在想怎么玩,就怎么玩。

注意:当返回值类型写为void,这种方法只能够单独使用,不能进行打印调用或者赋值调用。但是可以在方法里面完成打印等操作。
void不需要返回值。只要不是void,剩下的都有返回值;
无返回值的用void,有返回值的用定义方法的完整格式

完整格式和三种调用方式例子:

/*
定义两个int数字相加的方法。三要素:
返回值类型: int
方法名称:   sum
参数列表:   int a,int b
 */
public class abcd {
    public static void main(String[] args) {
        sum(1,2); //单独调用

        System.out.println(sum(1,4)); //打印调用

        int number = sum(3,4); //赋值调用
        number+=100;
        System.out.println(number);
    }

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

对比有无返回值的区别:

在这里插入图片描述

方法练习

/*
题目要求:
定义一个方法,用来求出1-100之间所有数字的和值。*/
public class Demo02MethodSum{
	public static void main(String[]args){
		System.outprintln("结果是:"+getSum());
/* I 
三要素
返回值:有返回值,计算结果是一个int数字方法名称:getSum
参数列表:数据范围已经确定,是固定的,所以不需要告诉我任何条件,不需要参数
*/
	public static int getSum(){
		int sum = 0;
		for (int i = 1; i <= 100; i++) {
			sum += i;
		}
		return sum;
	}
}

方法注意事项

public class 方法注意事项 {
    /*使用方法的时候,注意事项:
            1.方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
            2.方法定义的前后顺序无所谓。
            3.方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
            4.如果方法有返回值,那么必须写上“return 返回值:",不能没有。
            5.return后面的返回值数据,必须和方法的返回值类型,对应起来。
            6.对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
            7.对于void方法当中最后一行的return可以省略不写。
            8、一个方法当中可以有多个return语句,但是必须在不同的逻辑条件下。*/
    public static int method1() {
        return 10;
    }

    public static void method2() {
        //return 10; 错误的写法!方法没有返回值,return后面就不能写返回值。
        return; //没有返回值,只是结束方法的执行而已。
    }

    public static void method3() {
        System.out.println("AAA");
        System.out.println("BBB");
        return;//最后一行的return可以省略不写。
    }
    
    public static int getMax(int x , int y){
        if(x > y){
            return x;
        }else {
            return y;
        }
    }
}

重载方法

public class 重载方法 {
    /**
     *
     * 对于功能类似的方法来说,因为参数列表不一样,
     * 却需要记住那么多不同的方法名称,太麻烦。
     * 方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
     * 好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。
     * 
     */
    public static void main(String[] args) {
        System.out.println(sum(10, 20));//两个参数的方法
        System.out.println(sum(10, 20, 30));//三个参数的方法
        System.out.println(sum(10, 20, 30, 4));//四个参数的方法
        //System.out.println(sum(10,20,30,40,50))://找不到任何方法来儿配,所以错误
    }

    public static int sum(int a, int b) {
        System.out.println("有2个参数的方法执行!");
        return a + b;
    }

    public static int sum(int a, int b, int c) {
        System.out.println("有3个参数的方法执行!");
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d) {
        System.out.println("有4个参数的方法执行!");
        return a + b + c + d;
    }
}



执行结果: 有2个参数的方法执行!
30
有3个参数的方法执行!
60
有4个参数的方法执行!
64

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。