美文网首页
方法的定义和作用

方法的定义和作用

作者: 张轻舟 | 来源:发表于2018-10-15 20:54 被阅读19次

方法有什么作用?

先来看一个需求
计算10+15的值
计算20+30的值
以前的也许会这样写代码

int a = 10;
int b = 15;
int sum1 = a + b;
System.out.println(sum1);

int d = 20;
int e = 30;
int sum2 = d + e; 
System.out.println(sum2);

比如你们公司需要招聘会计,会计A只会计算10+15的和,会计B只会计算20+30的和,如果有其他数据需要计算的话还得再招聘会计,显然这是不行的。
上面两部分代码的内容都是计算两组数字的和,功能是相同的,只不过数据不同。倘若再计算其他两组数据的和,则需要再重复编写一下上面的代码,这样会导致代码的冗余,如果相同的功能,最好是能够通过直接传递不同的数值来完成运算,在实际应用当中,应该减少冗余,提高代码的复用性。

main方法

在之前的学习当中,已经接触过一个方法了,那就是main方法,main方法是所有程序的入口,这是sun公司规定的,程序都是从main方法开始执行的,如果将一个程序比喻成一座大楼,那么main方法就相当于是这个楼最外面的大门。

用方法来写这段代码
/*
    方法初体验
    方法实际上就是一段代码片段

*/
public class Test{

    public static void main(String[] args){

        //计算10加15的和
        //调用sumInt方法
        sumInt(10,15);//(10 , 15)叫做实际参数列表,简称:实参

        //计算20加30的和
        //调用sumInt方法
        sumInt(20,30);
    }


    //定义方法,完成两个整数的求和。
    //注意:目前所有的方法请定义成public static
    //该方法的作用就是计算两个int类型求和
    //以后如果需要计算两个int类型的求和,直接调用该方法就可以了
    public static void sumInt(int a,int b){//(int a , int b) 是形式参数列表,简称:形参
        int c = a + b;
        System.out.println(a + "+" + b +"=" +c);
    }
}

方法的优点就是可以提高代码的复用性。以后要有编写方法的意识,不要把所有代码都堆积在main方法中。什么时候需要定义方法?当希望提高某段代码复用性的时候可以去定义一个方法。

注意:

1.方法体中不能定义方法,只能在类体中定义方法。
2.上面代码中的(int a , int b)叫做形式参数列表,简称形参,调用sumInt方法时传入的(10 , 15)叫做实际参数列表,简称:实参。java语言中有规定,实参和形参在数据类型上要对应相同,并且在数量上要相同。
3.形参就是局部变量,变量名的命名可以随意命名,最好是见名知意

局部变量和成员变量

变量根据声明的位置分为:

局部变量:在方法体当中声明的变量
成员变量:在方法体之外声明的变量

如何定义方法

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
        方法体语句;
        //如果方法没有返回值的话就不需要return了。
        return 返回值; 
    } 

修饰符:暂时先写 public static。
返回值类型:可以是java语言中的任何一种数据类型(基本数据类型和引用数据类型)。如果方法执行结束后,没有任何返回值,返回值类型填写void,即表示没有返回值。
方法名:自己定义,只要符合命名规则即可,使用驼峰方式命名,即第一个单词首字母小写,后面单词的首字母大写,例如sumInt。(驼峰命名法)
参数:
没有参数:如果没有参数,参数类型和参数名可以不写,()里面空着就行
有参数:可以有一个,或多个参数,多个参数用”,”隔开
参数类型:就是参数的数据类型,基本数据类型和引用数据类型都可以
参数名:就是变量名,符合命名规则即可
方法体语句:就是完成功能的代码。
return:如果方法的返回值类型不是void,那么在方法体中必须使用return 语句来返回数据。return语句一旦执行,则方法结束,因此在方法中return后面的代码是不会执行的。
返回值:方法执行的结果,将结果返回给调用者。

main方法解读

public static void main(String[] args)

public static是修饰符
void表示main方法结束之后不返回任何值
main是方法的名字,是sun公司规定好的
(String[] args)是形式参数列表,该参数表示是一个String类型的数组,形参的名字是随意的,下面这种写法也是可以的,只不过通常都会将参数名字写成args。

public static void main(String[] zcccccc)
例1:如下代码是没有返回值的方式
public class MethodTest{

    //程序的入口
    public static void main(String[] args){

        sumInt(10,15);
        sumInt(20,30); 
    }


    //定义方法,完成两个整数的求和。
    //注意:目前所有的方法请定义成public static
    public static void sumInt(int a,int b){
        int c = a + b;
        System.out.println(a + "+" + b +"=" +c);
    }
}

例2:有返回值的方式

public class MethodTest{

    public static void main(String[] args){

        //因为方法的返回值是int类型,所以定义int类型的变量来接收返回值
        int result1 = sumInt(10,15);
        int result2 = sumInt(20,30); 
        System.out.println(result1);
        System.out.println(result2);

        //下面这样写也可以
        //因为sumInt方法的返回值是int类型,所以其计算的结果其实就是一个int类型的数据
        System.out.println(sumInt(10,15));
        System.out.println(sumInt(20,30));
    }


    //返回值类型为int
    public static int sumInt(int a,int b){
        int c = a + b;
        return c;

    }

}

定义方法时只有两种情况,一种是有返回值的,一种是没有返回值的,这个可以根据具体的需求去定义使用哪种方式,如果需要方法计算出的结果再进行下一步运算的话,那就定义有返回值的。Java语言是人类编写出来的,所以很多概念也是来源于生活。

case 1.你的老婆给你一张银行卡,让你取10元钱,随便花,当做你的零用钱。这种情况就不需要返回值,你取了钱之后怎么花随便,老婆也不会管。
case 2.你的老婆给你一张银行卡,让你取1000元钱,然后再把这些钱给她,她要去买衣服。这种情况需要返回值,你取了钱之后,一分也不能动,需要全部上缴老婆。
上面的情况里面,如果你不知道银行卡密码的话,还需要老婆告诉你,这就相当于老婆把密码当做一个参数传给你,你得到这个密码后才能去取钱。

相关文章

  • 方法的定义和作用

    方法有什么作用? 先来看一个需求计算10+15的值计算20+30的值以前的也许会这样写代码 比如你们公司需要招聘会...

  • JavaScript之函数

    三、函数 目录:函数的定义和参数获取、变量的作用域 let const详解、方法的定义和参数的获取 1.函数的定义...

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Javascript-BOM

    一、window对象 1、全局作用域 在全局作用域中定义的变量和函数都会变成window对象的属性和方法 区别: ...

  • this

    问答 apply、call有什么作用,什么区别。 作用:在函数原型中定义了两个方法apply和call。它们的作用...

  • 方法内部类

    定义在外部类方法中的内部类,也称局部内部类方法内部类1.定义在方法内部,作用范围也在方法内2.和方法内部成成员使用...

  • 修饰器

    内置修饰器: staticmethod、classmethod和property 作用:把类中定义的实例方法变成静...

  • java基础之方法(五)

    一、方法的定义与作用 1、定义 ​ 方法就是给能够解决问题的多行代码取了一个名字的功能块。 2、作用 ​ ...

  • js之call、apply方法详解

    定义 apply()方法: call()方法: 相同点 作用是一样的,call 和 apply 都是为了改变函数体...

  • 抽象类、匿名类、接口

    抽象类: 作用:起到定义模板的作用 抽象类的定义和普通类的唯一区别是: 抽象类中有抽象方法注:1.一个类被定义为抽...

网友评论

      本文标题:方法的定义和作用

      本文链接:https://www.haomeiwen.com/subject/rneqzftx.html