什么是方法?
方法的作用?
方法的定义
方法的使用
一、什么是方法?
Java方法是语句的集合
二、方法的作用?
它们(语句)在一起执行一个功能。
三、方法的定义
格式:
修饰符 返回值类型 方法名(参数类型 参数名){ //这里的参数叫形参
…
方法体
…
return 返回值;
}
四、方法的调用(使用)
格式:方法名 (实参1, 实参2, …, 实参n)
4.1、有返回值的方法的调用
public class HelloWorld {
/** 主方法 */
public static void main(String[] args) {
int i = 5;
int j = 2;
//调用add()方法
int k = add(i, j);
System.out.println( i + " + " + j + " = " + k);
}
/** 定义一个两个数相加的方法 */
public static int add(int num1, int num2) {
int result = num1 + num2;
return result;
}
}
//输出
5 + 2 = 7
4.2、void 关键字
4.2.1、没有返回值的方法的定义和调用
没有返回值的方法的放回值类型必须为void
public class HelloWorld {
/** 主方法 */
public static void main(String[] args) {
printf("HelloWorld");
}
/** 定义一个输出HelloWorld的方法 */
public static void printf(String str) {
System.out.println(str);
}
}
4.3、方法的重载
4.3.1、什么是方法重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
//例如下面两个函数名称都是add,都是它们的形参不同(类型不同)
public static int add(int num1,int num2) {
return num1+num2;
}
public static double add(double num1,double num2) {
return num1+num2;
}
4.3.2、方法的重载的规则
参考文章
◆方法名称必须相同。
◆参数列表必须不同(个数不同、或类型不同、参数排列顺序不同)。
◆方法的返回类型可以相同也可以不相同。
◆仅仅返回类型不同下,不是方法的重载。
◆仅仅参数变量名称不同是不可以的
public static int add(int num1,int num2) {
return num1+num2;
}
//1、方法名称相同,参数类型不同
public static double add(double num1,double num2) {
return num1+num2;
}
//、2方法名称相同,参数个数不同
public static int add(int num1,int num2,int num3) {
return num1+num2+num3;
}
//3、方法名称相同,参数排列顺序不同
public static void add(int num1,int num2,double num3)
public static void add(int num1,double num3,int num2)
4.4、方法的可变参数
1、在方法声明中,在指定参数类型后加一个省略号(…) 。
2、一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public class VarargsDemo {
public static void main(String[] args) {
// 调用可变参数的方法
printMax(34, 3, 3, 2, 56.5);//调用方式1
printMax(new double[]{1, 2, 3});//调用方式2:使用数组
}
public static void printMax( double... numbers) {
if (numbers.length == 0) {
System.out.println("没有数据传递过来");
return;
}
double result = numbers[0];
for (int i = 1; i < numbers.length; i++){
if (numbers[i] > result) {
result = numbers[i];
}
}
System.out.println("最大值为:" + result);
}
}
//输出
最大值为:56.5
附:
Java的参数传递都是值传递