模块话编程及把算法独立写成方法,提高了代码的重复使用率
方法定义的参数
无参函数:调用方法是,主掉方法不将数据传递给被调方法,无参函数可以带或者不带返回值
有参函数:在调用方法时,主调方法和被掉方法有数据传输,主调方法的数据可以给被掉方法使用,被调方法的参数可以给主调方法使用
定义方法时,参数成为形式参数,简称形参,形参子啊方法为被使用时没有确定值,知识形式上的参数,调用方法时的参数称为实参,实参可以是变量,常量,或表达式,有确定的值,是是在的参数,方法定义时,的形参不占内存,只有发生调用时间,参数才被分配内存,接受实参传来的值
方法是形参和时参个数必须相等,对应类型一致,且顺序相同。参数名字可以相同,也可以不同,即使形参和实参名字相同,也是 两个不同是参数,占用不同的内存
方法修饰符 方法类型 方法名称(形参){
方法体
}
/*第三个单词表示有无返回值,void无返回值,其余需要例如 int String 需要return
第四个为方法名 括号(参数列表,多个参数,用逗号隔开)
例:public static void fucName(){
//书写代码
}
方法的返回值
无返回值:void,无返回值的方法,一般用来执行指定的一组
有返回值:调用方法后,可以通过方法名待会方法值供主调方使用
return 表达式;
参数传递
基本数据类型/String类型作为参数传统,传递的是值,方法里对应的类型接受这个值
数组引用数据类型作为参数传递,传递的是地址,方法里对象的类型接受这个地址,指向原有地址,新变量的值保留在原有地址
方法的调用
1.方法的一般调用:方法可以调用使用
2 方法的嵌套调用:ava中所有方法都是并列独立的,一个方法不丛属于任何其他方法,及不能嵌套定义
3.方法的调用,形参和实参名字可以相同,占用完全不同的内存空间,调用传递过程中,顺序,个数,类型必须相同
import java.util.Scanner;
//在main写一个输入年龄,然后将年龄判断独立为一个方法,根据方法返回值,在main方法里打印
public class ClassWork_4 {
/**
* 检测是否成年
* @return true/成年 false/未成年
*/
public static boolean CheckAge(int age) {
boolean b;
if (age < 18) {
b = false;
} else {
b = true;
}
return b;
}
public static void main(String[] args) {
System.out.println("请输入年龄");
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
boolean c = CheckAge(age);
if (c) {
System.out.println("成年,可以进入");
} else {
System.out.println("未成年,不能进入");
}
}
}
此段代码演示了方法的创建和调用,在创建方法后,形参是虚拟存在的,所以形参和 实参的名字可以相同,也可以不同,只有当调用方法时,实参把参数传递给形参,形参才会真实存在,占用系统内存空间