方法
概念
Java是值传递。(两种传递方法值传递和引用传递)
例如:System.out.println
System是一个系统的类 out是对象 println()方法
调用系统类中的标准输出对象out中的方法println()
方法是语句的集合,用于实现一些功能,类似于C语言中的函数。main()方法必须有,其他方法写在外面。
定义调用
修饰符(可以没有)+方法返回值类型+方法名字(参数)+方法体(具体内容 void不需要return)
rerurn 0有终止方法的作用
例如加法运算
public static int add(int a,int b){
return(a+b);
}
public static修饰符 int返回值类型 add方法名[首字母小写驼峰原则](参数)
调用:int sum=add(a:1,b:2)对象名.方法名(实参列表)
方法重载
一个类中有相同的函数(方法)名称,但是形参不同的函数(方法)
例如比较大小,一个比较的是整数,一个是浮点数(不仅类型可以改变,参数数量也可以改变)
规则:
- 名称相同
- 参数列表不同(个数,类型,顺序)
- 返回值类型可以相同,也可以不同。
- 方法名称相同时Java会根据参数个数类型逐个匹配,判断用呢个方法
命令行传参
很少用 程序运行时,在命令行中给main方法传递参数
javac 文件名.java 编译文件(不用回退加包名)
然后要回到上级文件,退出包,在运行时要加上多级包名(否则无法找到或加载主类)。后面加上参数
可变参数:jdk5新特性
也叫不定项参数。在方法中指定参数类型后加个省略号
要求:一个方法最多一个可变参数,并且必须是最后一个。
(int…num)相当于有一个可变长数组。
递归******
很容易理解,一个方法调用另一个方法
递归就是一个方法调用他自己。
递归可以利用很简单的程序解决一些很复杂的问题,把大型复杂问题,层层拆解为相似的问题。
结构
递归头:什么时候不用调用本身参数,如果没有递归头,程序将陷入死循环。
递归尾:什么时候需要调用自身方法。
压栈的方法调用方法,不宜太深层的调用。