packagecom.landray.method;publicclassDemo01{publicstaticvoidmain(String[] args){// int max = max(10, 20);// double maxs = max(10.0, 20.0);// System.out.println(max);// System.out.println(maxs);}// 比较两个数的大小publicstaticintmax(int num1,double num2){int result =0;if(num1 == num2){System.out.println("num1 == num2");return0;// 终止方法}if(num1 > num2){
result = num1;}else{
result =(int) num2;}return result;}// 参数类型不同publicstaticintmax(int num2,int num1){int result =0;if(num1 == num2){System.out.println("num1 == num2");return0;// 终止方法}if(num1 > num2){
result = num1;}else{
result = num2;}return result;}// 类型一样的排列顺序不同也会报错// public static int max(int num1, int num2) {// int result = 0;// if (num1 == num2) {// System.out.println("num1 == num2");// return 0;// 终止方法// }// if (num1 > num2) {// result = num1;// } else {// result = num2;// }// return result;// }// 参数个数不同publicstaticintmax(int num1,double num2,int num3){int result =0;if(num1 == num2){System.out.println("num1 == num2");return0;// 终止方法}if(num1 > num2){
result = num1;}else{
result =(int) num2;}return result;}// 参数排列顺序不同publicstaticdoublemax(double num2,int num1){double result =0;if(num1 == num2){System.out.println("num1 == num2");return0;// 终止方法}if(num1 > num2){
result = num1;}else{
result = num2;}return result;}}
命令行传参
有时候你希望运行一个程序时候再传递给它消息,这要靠传递命令行参数给main函数实现。
packagecom.landray.method;publicclassDemo02{publicstaticvoidmain(String[] args){// args.length 数组长度for(int i =0; i < args.length; i++){System.out.println("args["+ i +"]"+ args[i]);}}}
说明:在开发工具中写好如上所示的main之后,打开当前java文件所在计算机中的路径地址,在地址栏中输入cmd,就会出现如图dos窗口所示。接着输入命令“javac Demo02.java”编译一下成class文件,因为在当前路径下输入执行“java Demo03”报错“找不到或无法加载主类 Demo03”不能执行,所以使用cd … / 返回到src目录下,然后输入java文件所在的完整地址包名、类名,传入参数“this is wangxf”,写入编码格式(可省略)。 就会在dos窗口中打印出来main中同样的效果: System.out.println(“args[” + i + “]:” + args[i]); args[0]:this args[1]:is args[2]:wangxf
packagecom.landray.method;publicclassDemo03{publicstaticvoidmain(String[] args){// 调用可变参数的方法printMax(34,3,3,3,56.5);printMax(newdouble[]{1,2,3});}publicstaticvoidprintMax(double... numbers){if(numbers.length ==0){System.out.println("No argument passed");return;}double result = numbers[0];// 排序for(int i =1; i < numbers.length; i++){if(numbers[i]> result){
result = numbers[i];}}System.out.println("The max value is "+ result);}}