Java方法
Java方法定义、调用
//main 方法
public static void main(String[] args) {
//实际参数:实际调用传递给他的参数 1 2
int sum = add(1, 2); //快捷生成:Alt+回车
System.out.println(sum);
test();
}
//加法
//形式参数:用来定义作用的 a b
public static int add(int a,int b){
return a+b;
}
public static void test(){
//for循环输出1~1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i < 1000; i++) {
if(i%5 == 0){
System.out.print(i+"\t");
}
if( i%(5*3) == 0){
System.out.println();
}
}
}
方法的重载
public static void main(String[] args) {
int max = max(10, 20);
System.out.println(max);
}
//方法重载
//比大小 参数:double
public static double max(double num1,double num2){
double result = 0;
if (num1 == num2){
System.out.println("num1==num2");
return 0; //终止方法
}
if(num1>num2){
result = num1;
}else {
result = num2;
}
return result;
}
//比大小 参数:int
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;
}
命令行传递参数
public static void main(String[] args) {
//args.length 数组长度
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,23,4,12,3,22,11);
Max(11,48,26,22,47);
Max(new double[]{1,2,3,10});
}
//可变参数
public void test(int x,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]);
System.out.println(i[5]);
}
public static void Max(double...num){
if (num.length == 0){
System.out.println("无输入");
return;
}
double result = 0;
//排序
for (int i = 1; i <num.length ; i++) {
if(num[i]>result){
result=num[i];
}
}
System.out.println("最大值是:"+result);
}
递归
/*
*
//会出现死循环
public static void main(String[] args) {
Demo05 test = new Demo05;
test.test();
}
public void test(){
test();
}
*/
阶乘算法–递归–栈
public static void main(String[] args) {
System.out.println(f(3));
}
//阶乘--递归--栈
//5!=5*4*3*2*1
public static int f(int n){
if (n == 1){
return 1;
}else {
return n*f(n-1);
}
}