Java方法
什么是方法?
System.out.println()
类.对象.方法
回顾:方法的命名规则:首字母小写后面驼峰。
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;}
-
方法的原子性,一个方法完成一个功能
方法的定义和调用
即代码片段完成特定功能
方法包括:
-
修饰符;static final
-
返回值类型;void空 int..
-
方法名(java所有东西都要有名字)
-
参数类型;可选 理解形参和实参
-
方法体
return 返回值!!!!
例子:写一个比大小的方法
public static void main(String[] args) {//调用int max = max(10, 20);System.out.println(max); ?}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;}
值传递(java)和引用传递
值传递:基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参传递给形参的值,形参发生改变而不影响实参。
引用传递:引用类型之间赋值属于引用传递。引用传递传递的是对象的引用地址,也就是它的本身(自己最通俗的理解)。就是将实参的地址传递给形参,形参改变了,实参当然被改变了,因为他们指向相同的地址。
方法的重载
相同函数名称,形参不同的函数。
规则:
-
方法名必须相同
-
参数列表必须不同(个数、类型、参数排列顺序
-
返回值可相同可不同
-
仅返回类型不同不算重载
命令行传参
可以依靠命令行参数给main()函数实现。
ublic class Demo3 {public static void main(String[] args) {for (int i = 0; i < args.length; i++) {System.out.println("args["+i+"]:"+args[i]); ?}} }
可变参数
--不定项参数
在指定参数类型后加省略号,必须是最后一个参数!
public static void main(String[] args) {Demo04 demo04 = new Demo04();demo04.test(1,43,5,63,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]); ?}
递归讲解***
就是:自己调用自己!!!
public class Demo06 {public static void main(String[] args) {System.out.println(f(5)); //5*f(4)*f(3)*f(2)*f(1)}public static int f(int n){if (n==1){return 1;}else{return n*f(n-1);}} } 、、递归思想
边界条件:边界 f(1)开始有值
前阶段:参数不等于1之前
返回阶段:n*(n-1)