Java方法详解
何谓方法
System.out.println();// 类.对象.方法
package com.liu.method;
public class Demo01 {
//main方法
public static void main(String[] args) {
//实际参数:实际调用传递给他的参数
int sum=add(1, 2);
System.out.println(sum);
}
//加法
//形式参数,用来定义作用的
public static int add(int a,int b){
return a+b;
}
}
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){
……
方法体
……
return 返回值;
}
package com.liu.method;
public class Demo02 {
public static void main(String[] args) {
int max = max(20, 10);
System.out.println(max);
}
//比大小
public static int max(int a,int b){
int result=0;
if (a==b){
System.out.println("a==b");
return 0;//终止方法
}
if (a>b){
result=a;
}else {
result=b;
}
return result;
}
}
方法调用
方法的重载
package com.liu.method;
public class Demo03 {
public static void main(String[] args) {
int max = max(20, 10);
//double max = max(10,20);//调用double方法
System.out.println(max);
}
public static double max(double a,double b){
double result=0;
if (a==b){
System.out.println("a==b");
return 0;//终止方法
}
if (a>b){
result=a;
}else {
result=b;
}
return result;
}
public static int max(int a,int b){
int result=0;
if (a==b){
System.out.println("a==b");
return 0;//终止方法
}
if (a>b){
result=a;
}else {
result=b;
}
return result;
}
}
命令行传参
package com.liu.method;
public class Demo04 {
public static void main(String[] args) {
for(int i=0; i<args.length ; i++){
System.out.println("args[" + i + "]:" + args[i]);
}
}
}
可变参数
package com.liu.method;
public class Demo05 {
public static void main(String[] args) {
Demo05 demo05 = new Demo05();
demo05.test(1,2,3,4,5);
}
public void test(int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
}
}
package com.liu.method;
public class Demo06 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,5,6544,23423);
printMax(new double[]{1,2,3});
}
public static void printMax(double... n){
if (n.length == 0){
System.out.println("No argument passed");
return;
}
double result=n[0];
//排序
for (int i=1; i<n.length; i++){
if (n[i]>result){
result = n[i];
}
}
System.out.println("The max value is"+result);
}
}
递归
package com.liu.method;
public class Demo07 {
//5! 5*4*3*2*1
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1;
}else {
return n*f(n-1);
}
}
}