一文带你更了解Java中的方法
定义方法的格式
修饰符 返回值类型 方法名称(参数类型 参数名称, …){
方法体
return 返回值
}
修饰符: 现阶段固定写法,public static
返回值类型: 也就是方法最终产生的数据是什么类型
方法名称: 方法的名字,规则和变量一样,小驼峰
参数类型: 进入方法的数据是什么类型
参数名称: 进入方法的数据对应的变量名称
Ps: 参数如果有多个,使用逗号进行分隔
方法体: 方法需要做的事,若干行代码
return: 两个作用,第一停止当前方法,第二将后面的返回值还给调用处(带着返回值回到方法的调用出;谁在调用我,我就把结果还给谁;像下面例子种的赋值调用,sum在调用它,就把结果还给sum,所以sum就是7,然后继续下面的+=,就是107)
注意: return后面的“返回值”必须和方法名称前面的“返回值类型”保持对应
注意事项:
- 方法定义的先后顺序无所谓。
- 方法定义不能产生嵌套包含关系。
方法定义好了之后,不会执行的。如果要想执行,一定要进行方法的调用。
方法的三种调用格式
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
- 点赞
- 收藏
- 关注作者
评论(0)