什么是方法

  1. 何谓方法

    1. 就是一个方法只完成一个功能,这样利于后期的扩展

    2. 例子:

      public static void main(String[] args) {
         System.out.println(add(1, 2));
      }
      public static int add(int a,int b){
         return a+b;
      }
  2. 方法的定义及调用

    1. 用来完成特定功能的代码片段

    2. 方法包含一个方法头和一个方法体

      1. 修饰符

      2. 返回值类型

      3. 方法名

      4. 参数类型

        1. 形式参数:

        2. 实参:

          例:

          public static void main(String[] args) {
             //实际参数:实际调用传递给他的参数
             System.out.println(add(1, 2));
          }
          //形式参数,用来定义作用的
          public static int add(int a,int b){
             return a+b;
          }
      5. 方法体


           public static void main(String[] args) {
               int i = max(20, 20);
               System.out.println(i);
          }

           public static int max(int a, int b) {
               int result = 0;
               if (a == b) {
                   System.out.println("两数字相等");
                   return 0;//终止方法
              }
               if (a > b) {
                   result = a;
              } else {
                   result = b
                     
              }

               return result;
          }
  3. 方法重载

    1. 方法可以无限重名但是参数类型得不同

    2. 重载规则(面试笔试题)

      1. 方法名称必须相等

      2. 参数类别必须不同

      3. 方法的返回类型可以相等也可以不想等

      4. 仅仅返回类型不同不足以成为方法重载

      public static int max(int a, int b) {
         int result = 0;
         if (a == b) {
             System.out.println("两数字相等");
             return 0;//终止方法
        }
         if (a > b) {
             result = a;
        } else {
             result = b;
        }

         return result;
      }
      //重载
      public static double max(double a, double b) {
         double result = 0;
         if (a == b) {
             System.out.println("两数字相等");
             return 0;//终止方法
        }
         if (a > b) {
             result = a;
        } else {
             result = b;
        }

         return result;
      }
  4. 命令行传参

  5. 可变参数

    public static void main(String[] args) {
       Demo03 demo03 = new Demo03();
       demo03.test(1,2,3);
    }
    public void test(int...i){
       System.out.println(i[0]);
       System.out.println(i[1]);
       System.out.println(i[2]);
    }
  6. 递归(笔试里面的高频问点)

    1. A方法调用B方法,我们很容易理解

    2. 递归就是:A方法调用A方法,自己调自己

    3. 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。

    4. 递归结构分为两部分:

      a.递归头:什么时候不调自身方法。如果没有头,将陷入死循环

      b. 递归体:什么时候需要调用自身方法

      public static void main(String[] args) {
         int f = f(5);
         System.out.println(f);
      }
      //2!-------2*1
      //3!-------3*2*1
      public static int f(int n){
         if (n==1){
             return 1;
        }else {
             return n*f(n-1);
        }
      }
    5.  

最新文章

  1. 关于HandlerThread的分析
  2. SQL Server 利用锁提示优化Row_number()-程序员需知
  3. linux修改文件夹及其子文件夹的权限
  4. 多校7 HDU5816 Hearthstone 状压DP+全排列
  5. codeforces 630C Lucky Numbers
  6. [置顶] 解成电OJ1003真实的谎言的记录
  7. EF操作sqlite数据库时的项目兼容性问题
  8. 取得 iframe 容器的 URL
  9. springboot 如何操作redis
  10. STL的相关知识
  11. Python 爬虫实例(8)—— 爬取 动态页面
  12. js滚动分页原理
  13. Mac 使用ab性能测试工具
  14. 263. Ugly Number + 264. Ugly Number II + 313. Super Ugly Number
  15. 引入第三方js文件,报错
  16. 使用CSS3+JQuery打造自定义视频播放器
  17. oracle修改用户密码过期时间
  18. hibernate的二级缓存----collection和query的二级缓存
  19. RegexHelper
  20. 解析XML(2)

热门文章

  1. BUUCTF-[BJDCTF2020]藏藏藏
  2. js 循环生成元素,并为元素添加click事件,结果只执行最后一个点击事件
  3. kali 无线网络渗透测试
  4. Sentiment analysis in nlp
  5. 015(Power string)(哈希表)
  6. 以脚本形式运行python库
  7. Docker — 从入门到实践PDF下载(可复制版)
  8. github package的使用教程
  9. 【炼丹Trick】EMA的原理与实现
  10. SpringBoot快速整合通用Mapper