一、 何为方法
1.方法的定义
java都是值传递(拷贝)
方法:包含于类和对象中,被引用和调用
- 实例1:
package com.fj.method;
//
public class Demo01 {
//main 方法
public static void main(String[] args) {
// 调用add方法,传入两个参数,用sum int类型接收返回值
//1,2 实参,实际的参数
// int sum = add(1, 2);
// System.out.println(sum);
//调用test方法,无需参数,没有返回值
test();
}
//加法 public 修饰符 ,static 类变量修饰符, int 返回值, add 方法名 , int a, int b参数名
//int a, int b 形参,用来定义的参数叫形参
public static int add(int a, int b) {
return a + b;
}
// void 代表返回值为空
public static void test() {
for (int i = 0; i <= 1000; i++) {
if (i % 5 == 0) {
System.out.print(i + "\t");
}
if (i % (5 * 3) == 0) {
System.out.println();
}
}
}
}
二、 方法的定义及调用
- 实例1:
package com.fj.method;
//比大小的方法
public class Demo02 {
public static void main(String[] args) {
int max = max(10,10);
System.out.println(max);
}
//比大小 static 类修饰符,表示类可以直接调用
public static int max(int num1,int num2){
int result = 0;
if (num1==num2){
System.out.println("num1 == num2");
return 0;//return 终止方法
}
if(num1>num2){
result = num1;
}else{
result = num2;
}
return result;
}
}
三、 方法重载
重载:同一个类中,有相同的方法名,但是参数不同
- 实例1:
package com.fj.method;
//比大小的方法
public class Demo02 {
public static void main(String[] args) {
//调用返回int类型的max方法
int max = max(10,30);
System.out.println(max);
//调用返回double类型的max方法
double max2 = max(10.0,20.0);
System.out.println(max2);
}
//比大小 static 类修饰符,表示类可以直接调用
public static int max(int num1,int num2){
int result = 0;
if (num1==num2){
System.out.println("num1 == num2");
return 0;//return 终止方法
}
if(num1>num2){
result = num1;
}else{
result = num2;
}
return result;
}
//比大小,返回参数类型位double
public static double max(double num1,double num2){
double result = 0;
if (num1==num2){
System.out.println("num1 == num2");
return 0;//return 终止方法
}
if(num1>num2){
result = num1;
}else{
result = num2;
}
return result;
}
}
结果:
30
20.0
Process finished with exit code 0
四、 命令行传参
了解
五、 可变参数
- 定义:
- 实例
package com.fj.method;
//可变参数
public class Demo04 {
public static void main(String[] args) {
//调用方法
Demo04 demo04 = new Demo04();
demo04.test(1,2,3,4,5);
//调用类方法
test1(3.0);
}
//可变参数
public void test(int... i){
System.out.println(i[0]);
}
public static void test1(double... d){
System.out.println(d[0]);
}
}
结果:
1
3.0
Process finished with exit code 0
六、 递归
- 自己调用自己,耗费资源,小计算可以使用
package com.fj.method;
//递归,自己调用自己
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(4));
}
public static int f(int n) {
if (n == 1) {
return n;
} else {
return n * f(n - 1);
}
}
}