以System.out.println为例
package method;
public class Demo01 {
public static void main(String[] args) {
//main方法
int sum= add(1,2);
System.out.println(sum);
}
public static int add(int a, int b) {
return a + b;
}
}
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
package method;
public class Demo02 {
public static void main(String[] args) {
System.out.println(cmp(10,20));
}
//比大小
public static int cmp(int a, int b){
int result = 0;
if(a>b){
result=a;
}else{
result=b;
}
return result; //终止方法
}
}
package method;
public class Demo02 {
public static void main(String[] args) {
System.out.println(cmp(10,20));
}
//比大小
public static int cmp(int a, int b){
int result = 0;
if(a>b){
result=a;
}else{
result=b;
}
return result; //终止方法
}
public static double cmp(double a, double b){
double result = 0;
if(a>b){
result=a;
}else{
result=b;
}
return result; //终止方法
}
}
方法名字相同,但是参数类型不同,这里都是比大小,但是类型分别为 int double
package method;
public class Demo03 {
public static void main(String[] args) {
for(int i=0;i<args.length;i++){
System.out.println("args["+i+"]:"+args[i]);
}
}
}
JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。
可变参数声明
typeName... parameterName
在方法声明中,在指定参数类型后加一个省略号(...) 。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明
package method;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 =new Demo04();
demo04.test(1,2);
}
public void test(int ... i){
System.out.println(i[0]);
System.out.println(i[1]);
}
}
A方法自己调用自己
递归结构包括两个部分:
递归实现阶乘
public class Demo05 {
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);
}
}
}