您的位置 首页 java

Java入门超经典内部教程-方法概念

叩丁狼教育Java基础教程

1. 方法

之前讲解的循环操作,可以解决的是代码重复的问题,但是此时的重复的代码必须是有规律的。那循环操作,能解决所有的代码重复吗?答案肯定是不行的,比如针对于某一种功能的重复操作,循环解决不了,终于方法就该登场了。举个例子。

编写一个飞机大战游戏,程序在运行过程中,需要不断地发射子弹。假设发射子弹功能需要编写200行代码,那么,每次发射子弹都需要重复地编写这200行代码,这样的程序太low了。在开发中我们要遵循DRY原则(Don’t Repeat Youself)——不要重复你自己的代码,因为重复意味着维护成本很大,如果要修改功能代码,则每一个重复的地方都要修改一次,你敢确保每个重复的地方都能改到吗?何况,你不感到厌烦吗?不无聊吗?

为了解决功能代码重复编写的问题,可以把发射子弹的代码提取出来专门放在一个代码块(一对{})中,并为这段代码起个唯一的名字,如此,每次发射子弹的时候直接通过这个名字就可以调用发射子弹的功能代码了。

上述过程中,被提取出来的代码可以就是类中定义的一个方法。

叩丁狼教育Java基础教程

1.1. 定义和调用(重点)

1.1.1. 方法的定义(重点)

什么是方法,完成特定功能的代码块,代码块会有一个名字。

定义方法,语法格式:

看看最熟悉的main方法的定义。

叩丁狼教育Java基础教程

格式分析:

  • 修饰符:public、 static 等,static修饰的方法直接使用类名调用即可,目前都使用static修饰
  • 返回类型:限定返回值的类型,方法在完成一个功能后,是否需要给调用者返回一个结果?
  • 如果需要给调用者返回结果,就写上返回数据的类型
  • 如果不需要给调用者返回结果,此时使用关键字 void ,表示无返回
  • 方法名称:用于调用方法,遵循标识符规范,使用动词表示,首字母小写,采用用驼峰表示法
  • 形式参数 :方法圆括号中的变量,可以有多个,参数名好比变量名,并不是很重要,但尽量直观
  • 方法体:方法的{}中的代码,编写如何完成该功能的代码
  • return关键字:在方法体中使用return关键字

功能1:把值返回给该方法调用者,此时该方法不能使用void修饰

功能2:结束当前方法

注意:方法体没有return时,方法的返回类型声明为void,表示无返回。

  • 实际参数:在调用某一个具体方法时,实际传递的参数值

注意事项:

  • 方法必须定义在类中,在 Java 中最小的程序单元是类,必须先有类
  • 一个类中可以定义多个方法,方法和方法是平行的,不能在方法中定义另一个方法
  • 一个类中多个方法定义的先后顺序不影响(只要存在就行,不在乎顺序)

1.1.2. 方法调用(重点)

需求:在MethodDemo类中,定义一个求两个整数之和的方法

方法定义分析:

  • 求两个数之和,到底是哪两个整数数?说明有两个未知的因素,使用两个int类型变量表示。
  • 该方法要求求两个数之和,必定需要给调用者返回一个结果,否则,毫无意义。

叩丁狼教育Java基础教程

注意:

  • 方法中的int a和int b就是形式参数,即使参数名不叫a和b,也不影响,仅仅是变量名唯一。
  • 方法定义出来,必须要调用才能生效。

方法调用:

  • 方法调用格式:因为方法是static修饰的,可以直接用方法所在类的名称调用。
  • 如果方法有返回类型,此时需要返回类型定义变量,接受方法返回的结果,并打印,这才有意义。
  • 调用方法的地方,可以称之为调用者

语法格式:返回值类型 变量 = 方法所在类名.方法名(实际参数);

int result = MethodDemo.getSum(2 , 3);

System.out.println(result);//输出5

  • 调用方法时,传递的参数2和3就是实际参数,简称参数,和顺序,类型有关。

完整代码如下:

叩丁狼教育Java基础教程

画图分析:

叩丁狼教育Java基础教程

加上现在两个加数变成3和4,上述图该怎么分析?

1.2. 设计练习(掌握)

如何定义一个方法,主要是确定有没有参数,是什么参数,有没有返回,返回什么,这得结合具体需求来确定。

  • 形式参数:完成一个功能,存在哪些未知的因素,把它们作为参数
  • 返回类型:完成一个功能,要不要给调用者返回一个结果?
  • 如果需要给调用者返回结果,就写上返回数据的类型
  • 如果不需要给调用者返回结果,此时使用关键字void,表示无返回

static ? 方法名( ? ) {

//TODO

}

1.2.1. 方法设计练习(掌握)

需求1:定义一个方法,打印指定行数的指定字符串

叩丁狼教育Java基础教程

调用方法:

叩丁狼教育Java基础教程

需求2:定义一个方法,传入一个int数组,按照格式打印int类型数组

叩丁狼教育Java基础教程

调用方法:

叩丁狼教育Java基础教程

需求3:定义一个方法,传入一个int数组,返回指定元素在数组中第一次出现的索引

叩丁狼教育Java基础教程

调用方法:

叩丁狼教育Java基础教程

需求4:定义一个方法,传入一个int数组,返回该数组所有元素的平均数

叩丁狼教育Java基础教程

调用方法:

叩丁狼教育Java基础教程

需求5:定义一个方法,传入两个参数,一个double数组表示多个货品的价格,一个double类型的折扣,返回货品总价格

叩丁狼教育Java基础教程

调用方法:

叩丁狼教育Java基础教程

本系列教程为叩丁狼Java基础班内部教材,若要获得最好的学习效果,需要配合对应教学视频一起学习。需要教学视频,请私信作者即可。

文章来源:智云一二三科技

文章标题:Java入门超经典内部教程-方法概念

文章地址:https://www.zhihuclub.com/174411.shtml

关于作者: 智云科技

热门文章

网站地图