一.关于方法的基础定义
1、方法定义的通用格式
通用格式:
无参:
调用:
有参:
调用:
2、形参和实参的区别
3、方法重载(重点)
一个类中的同名方法,只要参数不相同或数量不同,就构成方法的重载
特点:
*重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式;
*重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关;(不能通过返回值来判断两个方法是否构成重载)
使用方法重载完成比较两个整数是否相同,并调用方法
4、知道方法的参数是基本类型和引用类型的区别
*参数是基本类型的:形参的改变不影响实参(结论依据:每个方法在栈中都有独立的栈空间,方法运行结束后就会弹栈消失)
*参数是引用类型的:形参的改变会影响实参(引用类型传递的是地址值,会造成两个引用指向同一个内存的效果,及时方法弹栈,堆内存中的数据也已经改变)
二.使用范例与注意事项
使用代码片段说明吧
方法对于程序的优点
/**
* 1,为啥定义方法?
* 定义方法有啥好处?
* *提供了代码的复用性
* *提供了代码的安全性
* <p>
* 2,方法的重载
* *一张java代码中,同名方法,不同参数列表 -> 构成了方法的重载
* *看两个方法,有没有构成重载 -> (前提:方法名相同)直接看参数列表
*/
public class Demo02 {
public static void main(String[] args) {
/*
需求:
定义一个方法,键盘录入,定义一个方法,返回较大值
在定义一个方法,判断该较大值是不是偶数
*/
//1,调用方法getMax(),通过键盘,等到了较大值
int max = getMax();
//2,将较大值作为参数,传给了isOuShu(),获取结果
boolean result = isOuShu(max);
System.out.println("是否为偶数:" + result);
}
//定义一个方法,键盘录入,定义一个方法,返回较大值
//两个明确: 返回值类型:int 参数列表:不需要参数 -> 参数用户输入
public static int getMax() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个整数:");
int num2 = sc.nextInt();
return num1 > num2 ? num1 : num2;
}
//再定义一个方法,判断该较大值是不是偶数
//两个明确: 返回值类型:boolean 参数列表:int max
public static boolean isOuShu(int max) { //较大值
return (max % 2 == 0);
}
方法中的参数与main方法
/**
* main方法(主函数) -> 程序的入口
* 程序一运行,直接进入main方法
* 从上到下,从左到右,依次执行
* 中途,遇到了其他方法(方法的调用) -> 跳过去
*
*
*
* 参数:
* 1,形式参数: 方法定义时的参数,在方法身上的参数
* (用来接收实参的,名字无所谓)
* 2,实际参数: 方法调用时,传过去的参数
* (实际参与运算的变量)
*/
public class Demo03 {
//需求: 定义一个方法,求两个整数的和,返回结果
public static void main(String[] args) {
/*
2,调用方法 -> 三种调用方法
*直接调用 -> 一般调用void的方法
*赋值调用 -> 将方法返回的值,赋给相应类型的一个变量
*打印调用 -> 写在输出语句中
*/
//赋值调用 -> 接收
//int sum = getSum(10,10);
//System.out.println(sum);
//打印调用
System.out.println(getSum(10,10));
}
/*
1,定义方法,先思考两个明确
*/
//两个明确: 返回值类型:int 参数列表:int a,int b
public static int getSum(int a,int b){
//经过一系列的操作 -> 方法体
int sum = a + b;
//返回一个结果
return sum;
}
}