方法Function
一、方法的介绍:
1>方法不允许嵌套定义
2>具有特定功能的代码段称之为方法
3>极大程度的简化了我们的代码
二、方法的使用:
方法的定义:
1、语法格式
访问修饰符 返回值类型 方法名(参数列表) { 方法体(具体封装的功能) }
1>访问修饰符:方法允许被访问的权限范围,public protected private 甚至可以省略访问修饰符,
public 代表该方法可以被其他任何代码调用
2>返回值类型,如果没有返回值,则写void,如果有返回值,则需要制定具体的返回值类型,
并且有返回值,那么在方法体中需要使用return关键来返回
3>方法名:方法名要符合标识符的规范,通常情况下,见名知意、第一个单词首字母小写,
其余单词首字母大写
4>参数列表:传递给方法的参数,可以有多个,也可以有一个,也可以一个没有,多个参数之间以逗号隔开。
参数的语法格式:数据类型 参数名(与变量名命名一致)
2、方法的分类
1>定义角度分为:
1)系统库方法(函数):Math.random() max() min() ...
2)自定义方法;就是自己为了封装某个功能定义的方法
2>参数、返回值角度分为:
1)无参无返的方法 就是不包含参数也没有返回值
//打印Hello World public static void printHelloWorld() { System.out.println("Hello World"); }
2)无参有返的方法 就是不包含参数但是有返回值
//得到[10, 20]区间里的随机整数 public static int randomNumber() { int num = (int)(Math.random() * (20 - 10 + 1)) + 10; return num; }
注:1、如果返回值为void,方法体中不能出现使用return 返回值!
2、方法的返回值只能有一个,不能返回多个值
3、方法返回值类型必须兼容,例如:如果返回值类型为int,则不能返回float类型
3)有参有返 就是有参数有返回值
//求两个整数的和 public static int sum(int n1, int n2) { return n1 + n2; }
4)有参无返 就是有参数没有返回值
//打印数字 public static void printNum(int num) { System.out.println(num); }
3>方法的重载
1)如果同一个类中包含了两个或者两个以上方法名相同,方法的参数个数、顺序或类型不同的方法,
则称为方法的重载,或者此方法被重载了。
2)如何区分调用的是哪个重载方法?
当方法被调用时,Java会根据参数的个数、类型、顺序来自动判断,符合匹配的要求的方法就会被执行!!!
3)如何判断一个方法是否是重载方法呢???
①必须是在同一个类中
②方法名必须一致
③方法的参数个数、顺序或类型不同
④与方法的访问修饰符与返回值无关!!!
public static int randomNumber() { int num = (int)(Math.random() * (20 - 10 + 1)) + 10; return num; } public static int randomNumber(int min, int max) { int num = (int)(Math.random() * (max - min + 1)) + min; return num; }
4>方法定义的诀窍
如果需求中,有不明确的信息(多变信息),把此信息声明成参数,如果需求需要得到结果,则声明返回值。
5>方法的调用
方法调用时,如果有参数的传递,原理是:
形式参数(形参,方法定义时的参数)会拷贝实际参数(实参,方法调用时的参数),是拷贝关系,而不是替换关系。
练习:封装一个打印人名的方法
//1、无参无返 打印** public static void name() { System.out.println("**"); } //1、有参无返 public static void main(String[] args) { //1: name(); }