第五章 方法
1.定义
方法:完成特定功能的代码块
注意:方法与方法是平级关系,不能嵌套定义。
2.方法的调用
有明确返回值的调用:单独调用,没有意义;
赋值调用(推荐)
输出调用,有意义,但是不方便后续操作。
无明确返回值调用:不能空,写void表示无返回值类型;只能单独调用。
public class keyword {
//水仙花数
public static void main(String[] args){
printNums();//单独调用
}
public static void printNums(){
for(int x=100;x<1000;x++){
int a= x/100;
int b=(x-a*100)/10;
int c=x%10;
if(a*a*a+b*b*b+c*c*c==x){
System.out.print(x+" ");
}
}
}
}
3.方法的重载
定义:在同一个类中,出现了方法名相同的情况。
public class keyword {
public static void main(String[] args){
int a=10;
int b=20;
int c=30;
float x=10;
float y=20;
float z=30;
System.out.println(sum(a,b));
System.out.println(sum(a,b,c));//参数个数不同
System.out.println(sum(x,y,z));//参数个数和返回值类型都不同
}
public static int sum(int a,int b) {
int c = a + b;
return c;
}
public static int sum(int a,int b,int c) {
int d = a + b+c;
return d;
}
public static float sum(float a,float b,float c) {
float d = a + b+c;
return d;
}
}
输出:
30
60
60.0
Process finished with exit code 0
4.方法的参数
下图main方法里的int a=10是实参,public static void change(int a,int b)里的a是形参。
5.遍历数组
例1:
public class keyword {
public static void main(String[] args){
int[] arr={11,22,33,44,55};
printArr(arr);
}
public static void printArr(int[] arr) {
System.out.print("[");
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
//判断是不是最后一个数
System.out.print(arr[i]);
}else{
System.out.print(arr[i]+",");
}
}
System.out.print("]");
}
}
输出:
[11,22,33,44,55]
Process finished with exit code 0
例2:
public class keyword {
public static void main(String[] args){
int[] arr={11,22,33,44,55};
System.out.println(getMax(arr));
}
public static int getMax(int[] arr) {
int max=arr[0];
for(int i=1;i<arr.length;i++){
if(max<arr[i]) {
max = arr[i];
}
}
return max;
}
}