Java方法是语句的集合,它们在一起执行一个功能
public static void main(String[] args) { int x=max(30,30); //调用max方法 System.out.println(x); } 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; //重点 }
值传递(Java)和引用传递
方法重载
重载:就是在一个类中,有相同的函数名称,但形参不同的函数。
方法名称必须相同;
参数列表必须不同(个数不同,或参数类型不同,或参数排列顺序不同等);
方法的返回类型可以相同也可以不同
仅仅返回类型不同不足以成为方法的重载
命令行传参
有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现
可变长参数
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public static void main(String[] args) { max(4,86,4.6,89.6); max(new double[]{35,80,56,34}); } public static void max(double...a){ if (a.length==0){ System.out.println("没有任何数据"); return; } double b = a[0]; for (int i = 0; i <a.length ; i++) { //排序 if (a[i]>b){ b=a[i]; } } System.out.println("最大数是"+b); }
递归:求阶乘,只能是比较小的基数1. 边界条件。2.前阶段i=1。 3.返回阶段n*(n-1)
public static void main(String[] args) { int m = fun(5); System.out.println("5的阶乘是:"+m); } //递归 public static int fun(int i){ if (i == 1){ return 1; }else{ return i*fun(i-1); } }
实现简单的计算器:思路
写四个方法:加减乘除
利用循环+switch进行用户交互
传递需要操作的两个数
输出结果
public static void main(String[] args) { Demo05 demo05 = new Demo05(); while(1>0){ Scanner num1 = new Scanner(System.in); System.out.println("请输入第一个数:"); int i = num1.nextInt(); System.out.println("请输入运算符:"); String a = num1.next(); System.out.println("请输入第二个数:"); int j = num1.nextInt(); int x = demo05.account(i,a,j); System.out.println(i+a+j+"="+x); //num1.close(); } } public int account(int a,String c,int b){ int result = 0; switch(c){ case "+": result = a+b; break; case "-": result = a-b; break; case "*": result = a*b; break; case "/": result = a/b; break; default: System.out.println("输入不合法"); return 0 ; } return result; }