ToB企服应用市场:ToB评测及商务社交产业平台

标题: day07- [打印本页]

作者: 小秦哥    时间: 2022-9-2 03:15
标题: day07-
Java方法01

1.什么是方法?

2.方法的定义和调用

2.1方法的定义

语法:
  1.    修饰符 返回值类型 方法名(参数类型 参数名){
  2.        ...
  3.        方法体
  4.        ...
  5.        return 返回值;
  6.    }
复制代码
例子:
  1. ```java
  2. package li.bolog.method;
  3. public class Demo02 {
  4.     public static void main(String[] args) {
  5.         int max=max(20,20);
  6.         System.out.println(max);
  7.     }
  8.     //比大小
  9.     public static int max(int num1,int num2){
  10.         int result=0;
  11.         if(num1==num2){
  12.             return 0;   //return 除了可以返回值以外还可以终止方法
  13.         }
  14.         if (num1>num2) {
  15.             result=num1;
  16.         } else{
  17.             result=num2;
  18.         }
  19.         return  result;
  20.     }
  21. }
  22. ```
复制代码
2.3方法调用

​           为什么说java里面只有值传递?_Forward233的博客-CSDN博客
3.方法的重载

  1. package li.bolog.method;
  2. public class Demo01 {
  3.    
  4.     public static void main(String[] args) {
  5.        int sum= add(1,2);
  6.        int sum2=add(2,3,4);
  7.         System.out.println(sum);
  8.         System.out.println(sum2);
  9.         
  10.     }
  11.     //加法
  12.     public static int add(int a,int b){
  13.         return a+b;
  14.     }
  15.     public static int add(int a,int b,int c){
  16.         return a+b+c;
  17.     }
  18. }
复制代码
4.命令行传参

有时你希望运行一个程序时再给它传递消息。这就要靠传递命令行参数给main()函数实现
在IDEA中编写如下程序:
  1. package li.bolog.method;
  2. public class Demo03 {
  3.     public static void main(String[] args) {
  4.         //args.length 数组长度
  5.         for (int i = 0; i < args.length; i++) {
  6.             System.out.println("args"+"["+i+"]"+args[i]);
  7.         }
  8.     }
  9. }
复制代码
打开命令窗口,在程序所在的目录下编译生成.class文件。然后输入java命令运行程序,这时候我们可以发现系统提示找不到主类
这时候候应该退回 src/ 目录下去运行
  1. D:\IDEA-workspace\722practice\src\li\bolog\method> cd ../
  2. D:\IDEA-workspace\722practice\src\li\bolog> cd ../
  3. D:\IDEA-workspace\722practice\src\li> cd ../
  4. D:\IDEA-workspace\722practice\src> java li.bolog.method.Demo03
  5. D:\IDEA-workspace\722practice\src> java li.bolog.method.Demo03 This is me
  6. args[0]This
  7. args[1]is
  8. args[2]me
复制代码
5.可变参数(不定项参数)

可变长参数的应用:
  1. package li.bolog.method;
  2. public class Demo04 {
  3.     public static void main(String[] args) {
  4.         printMax(2,9,55,7,8,56.7,-89);
  5.         printMax(new double[]{1,45,7,-9,77});
  6.     }
  7.     public static void printMax(double...numbers){
  8.         if(numbers.length==0){
  9.             System.out.println("No argument passed");
  10.             return;
  11.         }
  12.         double result = numbers[0];
  13.         //排序
  14.         for (int i = 1; i < numbers.length; i++) {
  15.             if(numbers[i]>result){
  16.                 result = numbers[i];
  17.             }
  18.         }
  19.         System.out.println("The max value is"+result);
  20.     }
  21. }
复制代码
6.递归

  1. package li.bolog.method;
  2. public class Demo05 {
  3.     public static void main(String[] args) {
  4.         System.out.println(f(5));
  5.     }
  6.     //递归来解决阶乘
  7.     //5!
  8.     public static int f(int n){
  9.         if(n==1){
  10.             return 1;
  11.         }else{
  12.             return n*f(n-1);
  13.         }
  14.     }
  15. }
复制代码
7.巩固练习

写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
  1. package li.bolog.method;
  2. import java.util.Scanner;
  3. public class CalculatorDemo {
  4.     public static void main(String[] args) {
  5.         /*
  6.        写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
  7.         - 思路推荐
  8.             - 写四个方法:加减乘除
  9.             - 利用循环+switch进行用户交互
  10.             - 传递需要操作的两个数
  11.             - 输出结果
  12.         * */
  13.         Scanner scanner = new Scanner(System.in);
  14.         
  15.         double a = 0 ;
  16.         double b = 0 ;
  17.         String c =" " ;
  18.         for (int i = 0; i < 999; i++) {
  19.             
  20.             System.out.println("请输入第一个数:");
  21.             a   =  scanner.nextDouble();
  22.             
  23.             System.out.println("请输入运算符号:");
  24.             c   =  scanner.next();
  25.             
  26.             System.out.println("请输入第二个数:");
  27.             b   =  scanner.nextDouble();
  28.             switch(c){
  29.                 case "+" :
  30.                     System.out.println("运算结果为:"+a+"+"+b+"="+add(a,b));break;
  31.                 case "-" :
  32.                     System.out.println("运算结果为:"+a+"-"+b+"="+subtract(a,b));break;
  33.                 case "*" :
  34.                     System.out.println("运算结果为:"+a+"*"+b+"="+multiply(a,b));break;
  35.                 case "/" :
  36.                     System.out.println("运算结果为:"+a+"/"+b+"="+divide(a,b));break;
  37.                 default:
  38.                     System.out.println("请输入正确的运算符号!");
  39.             }
  40.         }
  41.         scanner.close();
  42.     }
  43.     //加
  44.     public static double add(double a,double b){return a+b;}
  45.     //减
  46.     public static double subtract(double a,double b){return a-b;}
  47.     //乘
  48.     public static double multiply(double a,double b){return a*b;}
  49.     //除
  50.     public static double divide(double a,double b){
  51.         if(a*b==0) {System.out.println("被除数或者除数不能为0!");return 0;}
  52.         else return a/b;
  53.     }
  54. }
复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4