Java-方法
1-方法(method):
1-什么是方法
就是完成特定功能的代码块
2-格式
3-注意事项
-
方法定义完毕后,需要调用才能执行
-
方法必须先定义后调用,否则程序将报错
4-带参方法的使用
-
带参方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
-
带参方法定义时,多个参数之间使用逗号(,)分隔
举例-判断奇偶数
public class MethodDemo {public static void main(String[] args) {//字面量值调用isEvenNumber(10);isEvenNumber(9);//变量的调用int number = 11;isEvenNumber(number);number = 12;isEvenNumber(number);}//需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数public static void isEvenNumber(int number) {if (number % 2 == 0) {System.out.println(true);} else {System.out.println(false);}}
}
5-形参和实参
形参:方法定义中的参数
等同于变量定义格式,例如:int number
实参:方法调用中的参数
等同于使用变量或字面量,例如: 10 number
6-注意事项
方法不能嵌套定义,就是一个方法当中不能再去定义另一个方法,但是在使用的时候可以
2-练习题
1-输出较大值
需求:设计一个方法用于打印两个数中的较大数
首先,我们来简单的分析一下:
分析:
① 定义一个方法,用于打印两个数字中的较大数,例如:getMax()
② 方法中定义两个变量,用于保存两个数字
③ 使用if语句对两个数字的大小关系进行处理
④ 在main()方法中调用定义好的方法
public class MethodTest {public static void main(String[] args) {//在main()方法中调用定义好的方法getMax();}//定义一个方法,用于打印两个数字中的较大数,例如:getMax()public static void getMax() {//方法中定义两个变量,用于保存两个数字int a = 10;int b = 20;//使用if语句对两个数字的大小关系进行处理if(a >= b) {System.out.println("较大的数是:" + a);} else {System.out.println("较大的数是:" + b);}}
}
2-水仙花数
水仙花数(Narcissistic number)是一个三位数,其各位数字立方和等于该数本身。
如果一个三位数为 abc
,则它满足以下条件:
[ abc = a^3 + b^3 + c^3 ]
public class MethodTest04 {public static void main(String[] args) {
// boolean flag = isFlower(111);
// System.out.println(flag);
//
// flag = isFlower(153);
// System.out.println(flag);for (int i=100; i<1000; i++) {//i
// boolean flag = isFlower(i);
// if(flag) {
// System.out.println(i);
// }if(isFlower(i)) {System.out.println(i);}}}/*使用两个明确分析该方法的参数和返回值参数:int number返回值类型:boolean*/public static boolean isFlower(int number) {//判断一个整数是否是水仙花数int ge = number % 10;int shi = number / 10 % 10;int bai = number / 100 % 10;if ((ge * ge * ge + shi * shi * shi + bai * bai * bai) == number) {return true;} else {return false;}}
}
3-方法重载
方法重载:指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
-
多个方法在同一个类中
-
多个方法具有相同的方法名
-
多个方法的参数不相同,类型不同或者数量不同
示例
public class Calculator {// 重载方法 add,参数个数不同public int add(int a, int b) {return a + b;}// 重载方法 add,参数类型不同public double add(double a, double b) {return a + b;}// 重载方法 add,参数顺序不同public int add(int a, int b, int c) {return a + b + c;}// 重载方法 add,参数类型不同public int add(int a, double b) {return (int) (a + b);}
}