首先,方法是什么?
然后,方法应该如何定义:
修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; }
方法一般由以下五个部分组成:
public static intmax(intnum1,intnum2){ //比较两个整数的大小 intresult = 0; if(num1==num2){ System.out.println("两个数相等"); return0;//终止方法 } if(num1>num2){ result = num1; }else{ result = num2; } returnresult; }
Java支持两种调用方法的方式,根据方法是否具有返回值来选择。
当方法返回一个值的时候,方法调用通常被当做一个值。
public class Demo01 { public static void main(String[] args) { int r = max(10,20); ... } public static int max(int num1,int num2){ // 比较两个整数的大小 int result = 0; if (num1==num2){ System.out.println("两个数相等"); return 0; //终止方法 } if (num1>num2){ result = num1; }else { result = num2; } return result; } }
当方法返回值是void,返回调用一定是一条语句。
public class Demo02 { public static void main(String[] args) { addStar("hello"); } public static void addStar(String str){ //在字符串前后加上三个*号 System.out.println("***"+str+"***"); } }
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法的重载:
运行下面的示例,查看一下结果如何。
public class Demo03 { public static void main(String[] args) { int r1 = max(10,20); double r2 = max(10.0,20.0); System.out.println(r1); System.out.println(r2); } public static int max(int num1,int num2){ // 比较两个整数的大小 int result = 0; if (num1==num2){ System.out.println("两个数相等"); return 0; //终止方法 } if (num1>num2){ result = num1; }else { result = num2; } return result; } public static double max(double num1,double num2){ // 比较两个浮点数的大小 double result = 0; if (num1==num2){ System.out.println("两个数相等"); return 0; //终止方法 } if (num1>num2){ result = num1; }else { result = num2; } return result; } }
public class Demo01 { public static void main(String[] args) { int r = max(10,20); //10和20是实参 System.out.println(r); } public static int max(int num1,int num2){ // num1和num2是形参 // 比较两个整数的大小 int result = 0; if (num1==num2){ System.out.println("两个数相等"); return 0; //终止方法 } if (num1>num2){ result = num1; }else { result = num2; } return result; } }
public class Demo04 { public static void main(String[] args) { test(0,1,2,3,4,5); } public static void test(int num1,int... nums){ System.out.println("常规参数:"); System.out.println(num1); System.out.println("可变参数:"); for (int i = 0; i < nums.length; i++) { //nums.length表示 nums包含几个参数 System.out.println(nums[i]); } } }
使用命令行运行程序时可能需要指定一些参数,这就需要给main方法传递命令行参数。
public class Demo05 { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("args["+i+"]:"+args[i]); } } }
在命令行运行程序需要注意路径。