本文将详细介绍 方法优点、定义方法、调用方法、有返回值类型、无返回值类型、return 语句、顺序 的案例等
若有细瑕,感谢指正!
**关于java中的 ——方法 **
一、为什么会用到方法?
举个例子 比如我们在进行不同数字的求和时,需求相同,只是每一次参与计算的具体数据不同,都需要单独写出来。
应该在java语言中有这样的机制
1.1、某个功能代码只需要写一遍
1.2、使用这个功能只需要给这个功能传递具体数据
1.3、这个功能完成之后返回一个最终结果,这样代码就可以重复使用了,这就是“方法”
1.4、使用这种方法我们称为“调用” invoke
1.5、方法的本质是一段代码片段,并且这段代码可以完成某个特定的功能,并且可以被重复使用。
二、方法的定义:
2.1、方法的定义有 方法名称、参数、返回值类型、方法体组成
语法如下:
修饰符 返回值类型 方法名 (参数列表){
方法体;
}
2.2、修饰符: 目前先统一携程public static 可选项非必须
2.3、返回值类型: 一个方法是可以完成某个特定功能的,这个功能结束之后,大多数都是需要返回最终执行结果的;
执行结果可能是一个具体的数据,而这个具体存在的数据就是返回值
2.4、返回值类型的指定:java中任意一种类型都可以,包括基本数据类型和所有引用数据类型、
一般来说分为 有返回值类型和无返回值类型
2.5、无返回值类型一般用 void 来表示 在方法执行结束之后不会返回数据**
注意无返回值类型void 在方法体中不能 编写 return 值; 这样的语句,可以编写 return 这样的语句
2.6、若返回值类型不是 void 表示这个方法执行结束之后 必须 返回一个具体的数值,这种就属于有返回数据而类型,(若方法执行结束没有返回任何数据则报错)对有返回值类型的方法,return 语句是必需的,
表达方法是 return 值; 这样的语句,并且要求值的数据类型必须和“方法的返回值类型一致”
只要有return关键字的语句执行,return语句所在的方法运行结束。
三、方法名:
3.1、只要是合法的标识符即可
3.2、最好见名知意
3.3.、首字母小写,后面单词首字母大写
3.4、最好是动词
3.5、驼峰命名的方式
四、参数列表:
4.1、形参是局部变量
4.2、形参的个可以是 0-N个
4.3、多个形参之间用“逗号”隔开
4.4、形参决定性的作用的是形参的数据类型,形参的名字就是局部变量的名字
4.4、有形参也就有实参,实参一般在被调用的方法体里
五、注意事项:
5.1、方法体在类体当中,在一个类里可以定义多个方法,方法编写的位置没有先后顺序可以随意,
但是 方法体中不能再定义方法
5.2、方法体由java语句构成,执行顺序自上而下
5. 3、有返回值类型 必须使用 return语句返回值 写法为 return 值;
5. 4、一般使用 变量来接收的情况,数据类型要和返回值数据类型相同,或者自动类型转换
5.5、方法只定义不去调用是不会执行的,只有再调用的时候才会执行
public(公开的) static(静态的) void(表示无返回值类型) main(方法)(String [] args)(形式参数列表其中 String
是一种引用数据类型 args是一个局部变量){
}**
六、常见的几种方法调用形式:
6.1、有参数有返回类型方法:
public class youyou { //一个类
public static void main(String[] args) { //man方法
int a = divide(40, 5);/表示两个数据的数据类型
System.out.println(a); //输出最后结果
}
public static int divide(int a, int b) { //这里是有返回值类型 int 定义一个方法由标识符组成 定义数据的类型
return a / b;//通过return将结果返回到 调用方法处
}
}
6.2、无参数有返回类型方法
public class wuyu { //一个类
public static void main(String[] args) { //入口
boolean woman = daxiao(); //表示其数据类型
System.out.println(woman); //输出结果
}
public static boolean daxiao() { //数据类型 方法 无参
return false; //将结果返回到调用处
}
}
6.3、有参数无返回值类型
public class fangfa1 {
public static void main(String[] args) {
fangfa1.chengji(30, 60);// 不加类名也可以 带实际参数
}
public static void chengji(int a, int b) { //有形参 要求和实参的 数量相同,类型对应相同
// 空的无返回值
System.out.println(a * b);//输出计算结果
}
}
6.4无参无返回类型
public class wuwu2 {
// 无参无返回类型方法 求1-100之间的数
public static void main(String[] args) {
fangfa3.print();// 调用方法
}
}
class fangfa3 {
public static void print() { // 无参无返回
for (int a = 1; a <= 100; a++) {
System.out.println(a);
}
}
}
8、判断执行顺序
public class shunxu {
public static void sum(int a, int b) {
System.out.println(a + "+" + b + "=" + (a + b)); //第一次执行 这里的算式 输出结果
shunxu.dosome(); //第二次执行 dosome 方法下的 java语句 输出语句
}
public static void main(String[] args) {
shunxu.sum(1, 2);
System.out.println("jajaja"); //第三次执行 main方法 中的java语句
}
public static void dosome() {
System.out.println("do some");
}
}
遵循自上而下的执行方式 输出结果为:
1+2=3
do some
jajaja