一、方法
- 方法的定义格式
- 修饰符:
- 返回值类型:表示方法运行结果的数据类型,方法执行后将结果返回到调用者
- 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
- return:将方法执行后的结果带给调用者,方法执行到return,整个方法运行结束
修饰符 返回值类型 方法名(参数列表) {方法体;return 结果;
}
package cn.itcast.day04.demo02;/*
* 方法其实就是若干语句的功能集合
*
* 参数:进入方法的数据
* 返回值:从方法中出来的数据
*
* 定义方法的完整格式:
* 修饰符 放回值类型 方法名称(参数类型 参数名称, ...) {
* 方法体
* return 返回值;
* }
* 修饰符:现阶段的固定写法:public static
* 返回值类型,也就是方法最终产生的数据结果是什么类型,小驼峰
* 参数类型:进入方法的数据的类型
* 参数名称:进入方法的数据对应的变量名称
* ps:参数如果有多个,使用逗号进行分割
* 方法体:方法需要做的事情,若干行代码
* return:两个作用,第一停止当前方法,第二将后面的结果返回给调用处
* 注意:return后面的返回值必须和方法名称前面的返回值类型,保持对应
*
* 定义一个两个int数字想加的方法。三要素。
* 返回值类型:int
* 方法名称:sum
* 参数列表:int a,int b
*
* 方法的三种调用格式:
* 1、单独调用:方法名称(参数);
* 2、打印调用:System.out.println(方法名称(参数));
* 3、赋值调用:数据类型 变量名称 = 方法名称(参数);
*
* 注意:此前学习的方法,返回值类型固定写为void,这种方法只能够单独调用,不能够打印调用或者赋值调用
* */public class Demo02MethodDefine {public static void main(String[] args) {System.out.println(sum(1, 2));System.out.println("==============");int result = sum(1,2);System.out.println(result);}public static int sum(int x, int y) {int s;s = x + y;return s;}
}
- 定义方法的两个明确
- 明确返回值类型
- 明确参数列表
package cn.itcast.day04.demo02;/*
* 有参数:小括号中有内容,当一个方法需要一些数据条件才能完成任务的时候,就是有参数。
* 如两个数字想家,必须知道两个数字各自多少 ,才能想加
* 无参数:小括号中留空,一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数
* */public class Demo03MethodParam {public static void main(String[] args) {method1(2, 4);method2();}// 两个数字相乘,做乘法// 有参数public static void method1(int a, int b) {int result = a * b;System.out.println("结果是:" + result);}// 例如打印输出10次public static void method2() {for (int i = 1; i <= 10; i++){System.out.println("hello" + i);}}}
package cn.itcast.day04.demo02;/*
* 题目要求:定义一个方法,用来求出两个数字之和。
*
*
* 注意事项:对于有返回值的方法,可以使用单独调用,打印调用或者赋值调用。但对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用
* */
public class Demo04MethodReturn {public static void main(String[] args) {int result = sum(1, 2);System.out.println("结果是:" + result);}public static int sum(int x, int y) {int result = x + y;return result;}
}
- 调用方法的三种格式
- 直接调用:直接写方法名调用
- 赋值调用:调用方法,在方法面前定义变量,接受方法的返回值
- 输出语句调用
- 在输出语句中调用方法,System.out.println()
- 不能用输出语句调用void类型的方法,因为方法执行后没有结果也就打印不出任何内容
- 方法的重载
- 是指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
- 参数列表:个数不同,顺序不同。
- 重载方法的调用:JVM通过方法的参数列表,调用不同的方法。
package cn.itcast.day04.demo04;/*
* 对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。
* 方法的重载(Overload),多个方法的名称一样,但是参数列表不一样。
* 好处,只需要记住唯一一个方法名称,就可以实现类似的多个功能
*
* 方法重载与下列参数相关:
* 1、参数类型不同
* 2、参数个数不同
* 3、参数的多类型顺序不同
*
* 方法重载与下列因素无关:
* 1、与参数的名称无关
* 2、与方法的返回值类型无关
* */public class Demo01MethodOverload {public static void main(String[] args) {System.out.println(sum(1, 2));System.out.println(sum(1, 2, 3));System.out.println(sum(1.2, 2.3));}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(double a, double b){return (int)(a + b);}public static int sum(double a, int b) {return (int)(a + b);}public static int sum(int a, double b) {return (int)(a + b);}}