方法
方法
方法的定义

方法的调用

方法-比大小和空方法
/* 方法——具体规则看截图
java方法是语句的结合,它们在一起执行一个功能——设计原则-一个方法完成一个功能,main方法保持简介使用调用
修饰符如public static 返回类型 命名-遵守驼峰原则开小后大(参数-有变参和定参){方法体;返回return;}
public static int add(int a,int b){return a+b;}
调用int sum = add(1,2);
1、解决一类问题有序步骤的组合
2、方法包含于类或者对象中
3、方法在程序中被创建,在其他地方被引用
*/
/*方法的重载
一个类里面相同的方法但采用了不同的参数类型,比大小的整数和小数类型——编译器会匹配调用
*/
//比大小
//Java都是值传递
package b;
public class a1 {
public static void main(String[] args) {
int max = max(10,10);
System.out.println(max);
}
public static int max(int num1,int num2){
int result = 0;
if(num1==num2){
System.out.println("sum1=sum2");
return 0;//终止方法
}
if(num1>num2){
result = num1;
}else{
result = num2;
}
return result;
}
}
//写个空白函数的定义和调用
/*
public static void main(String[] args) {
test();
}
public static void test(){
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 != 0) {
oddSum = oddSum + i;
} else {
evenSum = evenSum + i;
}
}
System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);
}
*/
命令行传参
/*命令行传参-扩展内容-没听懂
有时想要运行一个程序时再给它传参,通过main()函数实现
*/
package b;
public class a2 {
public static void main(String[] args) {
//args.length 数组长度
for (int i = 0; i < args.length ; i++) {
System.out.println("args["+i+"]"+args[i]);
}
}
}
可变传参
/*可变传参-可传递同类型多个参数
方法声明中,在指定参数类型后加一个省略号(double...numbers)
--一个方法中只能指定一个可变参数,且必须是方法的最后一个参数,其他普通参数必须在它之前声明
*/
//判断别人所传数组的最大值
package b;
public class a3 {
public static void main(String[] args) {
//调用可变参数的方法,两种传递方式
printMax(34,3,3,2,56.5); //传递一些参数
printMax(new double[]{5,2,7}); //传递了一些数组
}
public static void printMax(double...numbers){
if(numbers.length==0){
System.out.println("No argument passed");
return;//没有给我传递参数
}
double result = numbers[0];
//排序算法
for (int i = 0; i < numbers.length; i++) {
if(numbers[i]>result){
result = numbers[i];
}
}
System.out.println("The max value is"+result);
}
}
递归-A方法自己调用自己
/*递归-A方法自己调用自己
1、代码前面有个绿色箭头就表示自己调用自己
2、递归包含递归头-什么时候不调用自身方法,没有头会陷入死循环 and 递归体-什么时候需要调用自身方法
3、适用于基数比较小的计算,能不用就不用
*/
//阶乘-main计算f(5)会调用f(4)-前阶段这样依次调用到f(1)-边界才会有结果-返回阶段
package b;
public class a4 {
public static void main(String[] args) {
System.out.println(f(5));//当输入f()括号中输入时前面自动跳出n:
}
public static int f(int n){
if(n==1){
return 1;
}else{
return n*f(n-1);//理解-n*f(n:n-1)若n=2即2*f(1)
}
}
}
浙公网安备 33010602011771号