方法的概述:
- 方法就是一段具有独立功能的代码块,调用执行。
方法的使用前提:
- 方法必须先创建才可以使用,这个过程是方法的定义。
- 方法创建后不是直接运行的,需要手动调用执行,该过程为方法的调用。
方法的定义:
public static void 方法名(){
//方法体
}
方法的调用:方法名();
方法必须先定义才能调用
带参数的方法和定义调用:
方法调用时,参数的数量必须与方法定义中设置相匹配
格式:
public class demo2 {
public static void main(String[] args) {
method1(12);
//调用方法的时候,可以传常量也可以传变量
int a = 11;
method1(a);
}
public static void method1(int num){
if (num % 2 == 0){
System.out.println("偶数");
}else {
System.out.println("奇数");
}
}
}
有多个参数时,参数与参数之间用逗号隔开,
形参和实参:
形参:形式参数,是指方法定义中的参数
实参:实际参数,方法中调用的参数
带返回值的方法定义和调用:
没有数据返回就写void,有返回数据,就写返回数据类型
格式:
public static boolean 方法名(){
方法体
return 数据;
}
调用方法时:
void类型的方法,直接调用
非void类型方法,最好用一个变量接收
方法的注意事项:
- 方法不能嵌套定义
- 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写,如果要编写return,后面不能跟数据。
- return语句下面不能写代码,因为永远不会执行到,属于无效代码
方法的重载:
概述:
- 在同一个类中,定义多个同名的方法,但每个方法具有不同的参数类型或参数个数,这些2同名的方法,构成了重载关系。
简记:同一个类中,方法名相同,方法参数不同。
方法参数:参数类型,参数个数,参数的顺序(不建议顺序不同)不一样。
方法的参数传递:
- 基本类型:
public class demo4 {
public static void main(String[] args) {
boolean sxh = isSXH(153);
System.out.println("sxh = " + sxh);
int count = 0;
for (int i = 100; i < 1000; i++) {
if (isSXH(i)){
//是水仙花数
System.out.println("i = " + i);
count++;
}
}
System.out.println("count = " + count);
}
public static boolean isSXH(int num){
int ge = num%10;
int shi = num/10%10;
int bai = num/10/10%10;
if (ge*ge*ge+shi*shi*shi+bai*bai*bai==num){
return true;
}else {
return false;
}
}
}
- 引用类型:
public class demo6 {
public static void main(String[] args) {
int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
Random random = new Random();
int i1 = random.nextInt(10)+1;
}
double avg = getAvg(array);
for (int i = 0; i < array.length; i++) {
if (array[i]>avg){
System.out.println(array[i]);
}
}
}
public static double getAvg(int[] arr){
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum+=arr[i];
}
return sum*1.0/arr.length;
}
}