目录
1.0 方法
1.1 方法引入【了解】
先来看看,我们之前写的代码:
public class _03Method {
public static void main(String[] args) {
// 需求1:求1-10的和
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
System.out.println("1~10的和:" + sum);
// 需求2:求1-100的和
int sum2 = 0;
for (int i = 1; i <= 100; i++) {
sum2 += i;
}
System.out.println("1~100的和:" + sum2);
// 需求3:求1-100010的和
int sum3 = 0;
for (int i = 1; i <= 100010; i++) {
sum3 += i;
}
System.out.println("1~100010的和:" + sum3);
}
}
大家可以看到,按照之前的做法,求1-n的和,n不同我们就需要重复写类似的代码,这会导致我们写代码重复,开发效率底下,代码可读性也很差,那么有没有什么方式可以解决这种问题? 用方法解决
先看效果:
public class _03Method {
public static void main(String[] args) {
// 需求1:求1-10的和
_03Method.getSum(10);// 在main方法中调用下面的getSum()方法
// 需求2:求1-100的和
_03Method.getSum(100);// 在main方法中调用下面的getSum()方法
// 需求3:求1-1000的和
_03Method.getSum(1000);// 在main方法中调用下面的getSum()方法
}
/**
* 求1~n的和
* 复制main方法到当前类中,跟main方法平级的地方
* @param
*/
public static void getSum(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
System.out.println("和:" + sum);
}
}
1.2 方法概念和作用【了解】
1.2.1 概念:
方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以重复使用,每次使用都是独立的!存在于类的结构体。
1.2.2 作用:
方法可以复用代码,提高效率和程序的可读性。
1.3 方法结构组成【理解】
方法相关术语:
1 修饰符:
作用,决定方法的调用方式。例如,是用类名调用,还是用对象名调用
2 返回值类型:就是返回值的数据类型 最近今天会直接告诉大家,需要不需要返回值
作用:决定在调用方法的时候,是否可以用一个变量接收方法的结果值。
如果返回值类型是void,表示没有任何返回值,不能用变量接收结果值。
返回值:就是处理完业务后的结果反馈。通过关键字 return 返回数据
返回值类型分类:
基本类型:byte/short/int/long/float/double/boolean/char
引用类型:类、抽象类、接口、枚举、数组
void : 表示没有任何返回值
3 方法名:
作用:决定调用哪一个方法(就是用来找到要使用的方法的)
命名原则:见名知意,小驼峰,不能以关键字命名。
4 形参列表:
作用,就是用了接收调用方法的时候,传入的实际参数(值/变量)的
5 方法体:
就是根据实际需求,处理数据的代码
6 方法签名: 同一个类中,只能有一个独一无二的方法签名
方法名+形参列表(参数的顺序、类型和个数),跟形参名字无关
7 形参列表3要素(方法小括号中的):参数的顺序、类型和个数
1.4 方法定义【重点】
需求:求2个int类型变量的和,并且返回和
1 方法的声明(定义)步骤:(最重要)
1. 复制main方法到当前类中,跟main方法平级的地方
2. 根据需求分析方法的四要素:
1. 返回值类型:
2. 方法名:
3. 形参列表:
4. 方法体:
3. 根据实际需求,修改方法的四要素
案例代码
public class _04Method {
/**
* 需求:求2个int类型变量的和,并且返回和
* 方法定义步骤:
* 1. 复制main方法到当前类中,跟main方法平级的地方
2. 根据需求分析方法的四要素:
1. 返回值类型:int
2. 方法名:getSum
3. 形参列表:int a, int b
4. 方法体:
将2个参数a和b相加,并且通过关键字return返回
3. 根据实际需求,修改方法的四要素
* @param a int参数
* @param b int参数
*/
public static int getSum(int a, int b) {
/* // 将2个参数a和b相加
int sum = a + b;
// 通过关键字return返回sum
return sum; // return是优先级最低的运算,会等所有return右边的计算结束后执行返回
将上面两步合二为一
*/
return a + b;// return是优先级最低的运算,会等所有return右边a + b计算结束后执行返回和
}
}
1.5 方法调用【重点】
方法的调用语法:【重点】
看调用方法是否有static修饰:
1 有static修饰,用:当前类名.方法名(实参(变量/值));
2 没有static修饰,用:当前类的对象名.方法名(实参(变量/值)); //这几天都不用
特殊情况:
如果调用方(目前就是指main方法)和被调用方都在同一个类中,且都有或者都没有static修饰,可以简写为:方法名(实参(变量/值));
注意:
1. 调用方法的时候,传入的参数数量、数据类型、顺序必须和 声明方法的一致
2. static方法中不能直接调用非static修饰的方法,但是非static方法中可以调用static修饰的方法
代码如下:【main方法代码跟上面定义的getSum(int a, int b)方法在同一个类中】
public static void main(String[] args) {
// 需求:求2个int类型变量的和,并且返回和
// 在main方法中调用下面定义好的方法:getSum(int a, int b)
// 求1和2的和
/*
* 2 方法的调用:&#x