java基础(四):方法
方法
-
方法是解决一类问题的步骤的有序组合
-
包含于类/对象中
设计原则
方法的原子性:一个方法只实现一个功能
定义与调用
方法的组成:
方法的调用
-
若方法返回值为空
System.out.println("Hello!");
-
若方法返回值不为空
int a = sum(b,c);
方法重载
在同一个类中,有相同名称,因参数不同,而有不同的实现,称为重载。
如:
package com.muling1m;
public class Demo {
public static void main(String[] args){
int m = max(10,20,30);//全为int
System.out.println("重载调用1:"+m);
double n = max(10.0,20,30);//有double
System.out.println("重载调用2:"+n);
}
public static double max(double n1,double n2,double n3){
if(n1 > n2 && n1 > n3){
return n1;
}
else if(n2 > n1 && n2 > n3){
return n2;
}
else{
return n3;
}
}
public static int max(int n1,int n2,int n3){
if(n1 > n2 && n1 > n3){
return n1;
}
else if(n2 > n1 && n2 > n3){
return n2;
}
else{
return n3;
}
}
}
注意
- 方法名称相同
- 参数列表不完全相同
- 返回值可以相同也可以不同
- 返回类型不同不能定义一个重载
命令行传参
在Dos窗口运行一个程序时,通过main函数向程序内传递参数
在
public class Demo1 {
public static void main(String[] args){
}
}
在main函数定义的时候,其内参数为args,命令行就是通过args传参。
public class Demo1 {
public static void main(String[] args){
for (int i = 0; i< args.length; i++){
System.out.println("args["+i+"]="+args[i]);
}
}
}
执行结果为:
可变参数
JDK1.5后,在参数列表的声明中,对于同一类型的可变参数提供的特性
可以指定参数类型后添加一个省略号(…)代表可变参数,省略号后添加可变参数数组的名称
一个方法只能支持一个可变参数且应在最后,普通参数在其之前定义完毕
示例:
public class Demo2 {
public static void maxPrint(int ... numbers){
//numbers为可变参数数组
if(numbers.length == 0){
System.out.println("No args!");
return;
}
int result = numbers[0];
for (int num: numbers){
//增强for
if(result < num) result=num;
}
System.out.println("Max:"+result);
}
public static void main(String[] args){
maxPrint(1,2,3,123,5344,1321,233,32523);
}
}
打印结果为:32523