昨天结束了控制语句的学习,从今天开始的以后几天学习的都是方法
1、什么是方法
以下程序不使用“方法”,分析程序存在哪些缺点
- 以下的代码都是完成两个int类型数据的和,相同的代码写了三遍(只不过每一次参与求和的数据不同)。代码没有得到重复使用
- 应该在java语言中有这样一种机制:
- 某个功能代码只需要写一遍。
- 要使用这个功能,只需要给这个功能传递具体的数据
- 这个功能完成之后返回一个最终的结果
这样代码就可以重复利用了,提高代码复用性。【这就是“方法”】
使用这个方法我们称为调用/invoke。
public class MethodTest01
{
public static void main(String[] args){
//需求1:请编写程序计算10和20的和,并将结果输出【功能:计算两个int类型数据的和】
int a = 10;
int b = 20;
int c = a + b;
System.out.println(a + "+" + b + "=" + c);
//需求2:请编写程序计算666和888的和,并将结果输出【功能:计算两个int类型数据的和】
int x = 666;
int y = 888;
int z = a + b;
System.out.println(x + "+" + y + "=" + z);
//需求3:请编写程序计算111和222的和,并将结果输出【功能:计算两个int类型数据的和】
int x = 111;
int y = 222;
int p = m + n;
System.out.println(m + "+" + m + "=" + p);
//以上的三个需求其实就是一个需求,计算两个int类型数据的和。
//只不过每一次参与计算的具体数据不同
}
}
2、方法的使用
注意:下面这个例子不讲解方法的语法,直接使用
分析使用了方法的优点
- 代码得到了重复使用
方法的本质是什么
- 方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以被重复的使用
方法在C语言中叫做函数
方法定义在类体当中,在一个类体当中可以定义多个方法,方法的编写位置没有先后顺序,可以随意
方法体当中不能再定义方法!!!
public class MethodTest02
{
//类体
public static void main(String[] args){
//计算两个int类型数据的和
MethodTest02.sumInt(10,20);
MethodTest02.sumInt(666,888);
MethodTest02.sumInt(111,222);
}
//单独定义一个方法,该方法完成计算两个int类型数据的和,并将结果打印输出
public static void sumInt(int a,int b){
int c = a + b;
System.out.println(a + "+" + b + "=" + c);
}
}
3、方法怎么定义,语法结构
【修饰符列表】 返回值类型 方法名(形式参数列表){
方法体;
}
语法结构的解释说明
①修饰符列表
- 可选项,不是必须的
- 目前统一写成:public static【以后讲】
- 方法的修饰符列表当中有static关键字的话怎么调用这个方法?
- 类名.方法名(实际参数列表);
②返回值类型
- 什么是返回值?
- 一个方法是可以完成某个特定功能的,这个功能大多数都是需要返回最终执行结果的,执行结果可能是一个具体存在的数据。而这个具体存在的数据就是返回值。
- 返回值类型?
- 返回值是一个具体存在的数据,数据都是有类型的,此处需要指定的是返回值的具体类型。
- 返回值类型都可以指定哪些类型呢?
- java任意一种数据类型都可以,包括所有基本数据类型和所有引用数据类型
- 也可能这个方法执行结束之后不返回任何数据,java中规定,当一个方法执行结束之后不返回任何数据的话,返回值类型位置必须编写void关键字
- 返回值类型若不是void,表示这个方法执行结束之后必须返回一个具体的数据。当方法执行结束的时候没有返回任何数据的话编译器报错
- 怎么返回值呢
-
return 数值;
并且要求值的数据类型必须和方法的返回值类型一致。不然编译器报错
- 返回值类型是void的时候,在方法体当中不能编写
return 数值;
这样的语句。但是要注意,可以编写return;
这样的语句 - 只要带有return关键字的语句执行,return语句所在的方法结束。【不是JVM结束,是return所在的方法结束】
③方法名
- 只要是合法的标识符就行
- 方法名最好见名知意
- 方法名最好是动词
- 方法名要求首字母小写,后面每个单词首字母大写
④形式参数列表:简称形参
- 形参是局部变量
- 形参的个数可以是:0 ~ N个
- 多个形参之间用逗号隔开
- 形参中其决定作用的是形参的数据类型,形参的名字就是局部变量的名字
- 方法在调用的时候,实际给这个方法传递的真是数据被称为:实际参数,简称实参
- 形参列表和实参列表必须满足
- 数量相同
- 类型对应相同
⑤方法体
- 方法体必须由大括号括起来,方法体当中的代码有顺序,遵循自上而下的顺序依次执行。并且方法体由java语句构成,每一个java语句以分号结尾。
4、方法怎么调用
方法只定义不去调用是不会执行的。只有在调用的时候才会执行
语法规则
【方法的修饰符列表当中有static】
类名.方法名(实参列表);
这是一条java语句,表示调用某个类的某个方法,传递这样的实参
小结
今天学习了方法初步:什么是方法,方法的语法结构,方法的调用。
明天继续努力!!!!