什么是方法
方法其实就是若干语句的功能集合.
方法好比是一个工厂.
蒙牛工厂 原料:牛奶,饲料,水
产出物:奶制品
钢铁工厂 原料:铁矿石,煤炭
产出物:钢铁建材
参数(原料):就是进入方法的数据.
返回值(产出物):就是从方法中出来的数据
定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,…){
方法体
return 返回值;
}
修饰符:现阶段的固定写法,public static
返回值类型:也就是方法最终产生的数据结果是什么类型
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
注意:参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
返回值:也就是方法执行最终产生的数据结果
注意:return后面的返回值,必须和方法名称前面的返回值类型,保存对应
敲一个小demo给大家演示一下方法的创建
package cn.itcast.day04.demo01;
/*
定义一个两个int数字相加的方法.三要素:
返回值类型:int
方法名称:sum
参数列表:int x,int y
*/
public class t2 {
public static void main(String[] args) {
sum(4,5);
}
public static int sum(int x,int y){
return x+y;
}
}
方法的重载
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦
方法的重载(Overload):多个方法名称一样,但是参数列表不一样
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能
方法重载与下列因素相关:
1.参数个数不同
2.参数类型不同
3.参数多类型顺序不同
方法的重载与什么无关:
1.与参数名称无关
2.与方法的返回值类型无关
/*
定义一个两个int数字相加的方法.三要素:
返回值类型:int
方法名称:sum
参数列表:int x,int y
*/
public class t1 {
public static void main(String[] args) {
System.out.println(sum(5,6));
System.out.println(sum(5,6,7));
}
public static int sum(int a, int b){
return a+b;
}
public static int sum(int a, int b,int c){
return a+b+c;
}
public static int sum(int a, int b,int c,int d){
return a+b+c+d;
}
//参数类型不同
public static int sum(double a, double b){
return (int)(a+b);
}
//参数多类型顺序不同
public static int sum(int a, double b){
return (int)(a+b);
}
}
习题1:比较两个数据是否相等
public class t1 {
public static void main(String[] args) {
byte a =10;
byte b =20;
System.out.println(isSame(a,b));
System.out.println(isSame(10L,10L));
System.out.println(isSame((short)20,(short)10));
}
public static boolean isSame(byte a,byte b){
return a == b;
}
public static boolean isSame(short a,short b){
return a == b;
}
public static boolean isSame(long a,long b){
return a == b;
}
public static boolean isSame(int a,int b){
return a == b;
}
}