Java学习第四天——方法数组
方法(函数)
方法其实就是若干语句的功能集合。
方法其实就是一个工厂
例如:蒙牛工厂 原料,奶牛,饲料,水
产出物 奶制品。
参数(原料),就是方法进去的数值
返回值(出产物),就是冲方法中出来的数据
定义方法的完整格式
修饰符 返回值类型 方法名称 (参数类型 参数名称,。。。){
方法体;
return 返回值;
}
函数设计三要素:
(1)函数名:见名思议,也就是根据功能定名字,按照驼峰写法xxxYyyZzz
(2)参数:调用者传递过来的数据的接收方式,参数可以有多个,也可以没有
(3)返回值类型[void]:返回值类型就是函数执行后要给调用者的数据类型,如果指定了数据类型就必须要有return,如果是void就可以不指定return。
return结果:就要看是否有返回值,如果有返回值的类型,就必须要有一个return被执行,return后面的代码不被执行
函数各个字段讲解
修饰符,现阶段的固定写法 :public static
返回值类型,也就是方法最终产生数据的结果是什么类型
方法名称,方法的名字,命名规则和变量一样,小驼峰
参数类型,进入方法的数据是什么类型
参数名称,进入方法的数据对应的变量名称
ps;参数如果有多个,使用逗号隔开
方法体,方法需要做的事情,若干代码
return,连个作用,第一停止当前方法,跌入将后面的值,返回给调用出
返回值,方法执行后最终产生的数据结构,
注意:return后面的返回值必须和方法前面的返回值类型保持一致
定义一个两个int数字相加,三要素
返回值类型,int
方法名称,sum
参数类别,int a, int b
方法调用的三种格式
1,单独调用 ,方法名(参数)
2,打印调用 ,System。out。print(方法名(参数));
3,赋值调研 ,数据类型 变量名称 = 方法名(参数)
注意事项
1.方法先后定义书顺序无所谓
2.方法必须挨个定义,不能在方法内部定义
3.方法不会自动执行,必须调用之后才会执行
示例代码
public class Demo02MethodDefine {
public static void main(String[] args) {
//单独调用
sum(10,20);
//打印调用
System.out.println(sum(1,2));
//赋值调用
int sum = sum(10,20);
}
public static int sum(int a, int b){
return a + b;
}
}
方法的参数
有参数:小括号的内容,当一个方法需要一些数据条件才能完成任务的时候就是有参数
例如两个数字相加必须知道两个数字各是多少,才能相加
无参数:小口号中为空,一个方法不需要任何条件,自己就能独立完成任务是,就是无参数
例如,打印固定的格式。10次Helloworld
示例代码
public class Demo03MethonParam {
public static void main(String[] args) {
}
//两个数字相乘,
public static void metod1(int a, int b){
int resuly = a * b;
System.out.println("result = "+ resuly);
}
//打印一句话
public static void mothod02(){
System.out.println("你好");
}
}
方法的返回值
一个方法可以有返回值,也可以没有,视情况而定
没有返回值的方法用void修饰,return语句可以省去,不省去一定要写成“return ;”的形式。而且return语句之后的语句不会执行
有返回值的方法,return后面返回的数据一定要与方法前面定义的参数类型一致。
package demo01方法;
/*
题目要求,定义一个方法,用来求出两个数字之和
注意事项:
对于有返回值的方法,
*/
public class Demo04MethodReturn {
public static void main(String[] args) {
//我是mian方法,我来调用你
//我调用你,你来帮我算,
int num = getSum(10,20);
System.out.println("返回值:"+num);
printSum(10,20);
}
//我是一个方法,负责两个数字相加
//我有返回值int,谁调用我,我就把计算结果告诉谁
public static int getSum(int a, int b){
int result = a + b;
return result;
}
public static void printSum(int a, int b){
int result = a + b;
System.out.println(result);
}
}
方法的重载
对于功能类似的方法来说,因为参数类表不一样,却需要记住多个调用方法
方法的重载(Overload) ,多个方法的名称一样,但是参数类表却不一下
好处,只要要一个方法名称,就可以实现多个不同的功能,提高代码的可读性和节省命名的词
方法重载与下列因素相关
1,参数个数不同
2.参数类型不同
3.参数的多类型顺序不同
方法重载与下列因素无关
1,参数名称无关
2,与方法的返回值类型无关
3,与参数返回值类型不同
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sun(1,2));
System.out.println(sun(1,2,3));
System.out.println(sun(1,2,3,4));
}
public static int sun(int a,int b){
return a + b;
}
public static int sun(double a,int b){
return (int)(a + b);
}
public static int sun(double a,double b){
return (int)(a + b);
}
public static int sun(int a,int b,int c){
return a + b + c;
}
public static int sun(int a,int b,int c ,int d){
return a + b + c + d;
}
}