方法的定义
完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称){
方法体;
return 返回值;
}
修饰符:现阶段固定写法 public static
返回值类型:也就是方法最终产生的数据是什么类型
方法名称:方法的名字,命名规则和变量一样——小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
方法体:方法需要做的事情,若干行代码
return: 1.停止当前方法 2.将后面的返回值还给调用处
返回值:方法执行后最终产生的数据结果
定义方法的三要素
1、返回值类型
2、方法名称
3、参数列表
方法的三种调用格式
1、单独调用:
方法名称(参数);
2、打印调用:
System.out.println(方法名称(参数));
3、赋值调用:
数据类型 变量名称 = 方法名称(参数);
对比有参数无参数:
有参数:小括号内有内容,当一个方法需要一些数据条件才能完成任务的时候,就是有参数
无参数:小括号中留空。一个方法不需要任何数据,自己就能独立完成任务,就是无参数。
注意事项:
1、方法定义的先后顺序无所谓
2、方法定义的不能产生嵌套包含关系
3、方法定义好了不会执行,如果想执行,一定要进行方法的调用
4、return 后面的“返回值”,必须要和方法名称前面的返回值类型保持对应
5、如果方法有返回值,那么必须 ”return 返回值“ ,不能没有
6、void 方法只能单独调用
7、对于 void 方法没有返回值的方法,不能写 return 后面的返回值,只能 return自己,最后一行的 return 可以省略不写
8、一个方法中可以有多个 return 语句,但是必须保证同时只有一个会被执行到,两个 return 不能连写
练习
1、定义一个方法,判断两个数是否相等
public class method {
public static void main(String[] args) {
System.out.println(issame(25,50));
System.out.println("----------------");
System.out.println(issame(25,25));
}
public static boolean issame(int a,int b){
// return(a == b); //方法一
/* boolean result; //方法二
if(a == b){
result = true;
}else {
result = false;
}
return result;*/
boolean result; //方法三
result = a == b;
return result;
}
}
2、定义一个方法,求1~100所有整数的和
public static void main(String[] args) {
System.out.println(sum());
}
public static int sum(){
int sum = 0;
for(int i =1;i <= 100;i++){
sum += i;
}
return sum;
}
3、定义一个方法,打印指定次数的"Hello World"
public class method {
public static void main(String[] args) {
print(10);
}
public static void print(int a){
for(int i =1;i <= a;i++){
System.out.println("Hello World!"+ i);
}
return;
}
}
方法重载
对于功能类似的方法,因为参数不一样,却需要记住许多不同的方法名称,太麻烦,所以引入了,方法重载(OverLoad)。
多个方法的名称一样,但是参数列表不一样。
下列情况可以采用法法重载
1、参数个数不同
2、参数类型不同
3、参数的类型顺序不同
下列情况不可以采用方法重载
1、参数的名称不同
2、方法的返回值不同
示例
public class overload {
public static void main(String[] args) {
System.out.println(sum(2,5));
System.out.println(sum(2,5,7));
short a = 1;
short b = 2;
System.out.println(sum(a,b));
}
public static int sum(int a,int b){
System.out.println("打印两个数的和");
return a+b;
}
public static int sum(int a, int b,int c){
System.out.println("打印三个数的和");
return a+b+c;
}
public static short sum(short a,short b){
System.out.println("打印两个short类型的和");
return (short)(a+b);
}
}