目录
1.方法的概述
方法是一段具有独立功能的代码块,不调用就不执行。
方法必须要先创建才可以使用,创建方法的这个过程叫方法的定义
方法创建后不会直接运行,需要调用才会执行,这个过程称为方法的调用
2.方法的定义和调用
2.1 方法的语法格式
作用于修饰符 关键字 方法的返回类型 方法名(参数类型 参数名...){
方法体
}
2.2 方法的调用
方法调用(在同一个类中)的格式:
方法名();
不同类之间调用方法的格式:
对象名.方法名();
练习:奇偶数判断
需求:设计一个方法method,方法中定义一个变量,判断这个变量是奇数还是偶数,并在main方法中调用method方法;
第一步:定义方法,名称为method,并使用if语句判断奇偶数
public static void method(){
int num =10;
if(num % 2 == 0){
System.out.println("偶数");
}
else{
System.out.println("奇数");
}
}
第二步:main方法中调用method方法
public static void main(String [] args){
method();
}
3.带参方法
3.1带参数的方法定义
格式:public static void 方法名 (参数) {方法体}
注意:方法定义时,参数中的数据类型和变量名都不能缺少,缺少任意一个都会报错
方法定义时,多个参数之间使用“ , ”分割
3.2带参数的方法的调用
格式:方法名(参数);
注意:方法调用时,参数的数量与类型必须和方法定义中的设置相匹配
3.3带参数方法练习
需求:设计一个方法(print)用于打印n到m之间所有的奇数
/*
*定义方法,名称为print
*为方法添加两个int类型的形参,准备接收调用者传递过来的实参
*方法中设计for循环,循环从n开始,从m结束
*循环中加入if判断,是奇数则打印
*main方法中调用print方法,传入两个参数
*/
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
print(n,m);
}
private static void print(int n, int m) {
for (int i = n; i <= m; i++) {
if(i%2!=0)
{
System.out.println(i);
}
}
}
}
3.4带返回值方法的定义
格式:public static 数据类型 方法名(参数){
return 数据;
}
注意:方法定义时,return后面的返回值要和方法定义上的数据类型药匹配
3.5带返回值方法的调用
格式:方法名(参数);
注意:方法的返回值通常使用变量接受,否则该返回值没有意义
3.6带返回值方法的练习
需求:定义一个方法可以获取两个数的较大值
/**
* 定义一个方法,声明两个形参接受计算的数值,求出结果并返回
* 在main方法中调用定义好的方法并使用变量保存
*/
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
getMaxNumber(a,b);
}
public static int getMaxNumber(int a , int b){
return a>b?a:b;
}
}
4.方法重载
4.1方法重载概述
①在同一个类中,定义了多个同名的方法,但是每个方法具有不同的参数类型和参数个数,这些同名的方法就构成了重载关系
②同一个类中方法名相同,参数不同的方法,
参数不同:个数不同,类型不同,顺序不同
4.2案例
需求:设计一个方法用于获取数组中的元素的最大值
/**
* 定义一个数组,用静态初始化完成数组元素初始化
* 定义一个方法,用来获取数组中的最大值
* 调用获取最大值方法,用变量接收返回结果
* 把结果输出在控制台
*/
public class Test01 {
public static void main(String[] args) {
int arr[] = new int[]{1000,2,3,4,5};
int result =getMax(arr);
System.out.println(result);
}
private static int getMax(int[] arr) {
int max=arr[0];
for (int i = 0; i < arr.length; i++) {
if(max>arr[i]){
}else{
max=arr[i];
}
}
return max;
}
}