什么是方法

  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.  

Java方法总结的更多相关文章

  1. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  2. JNI中C调用Java方法

    背景需求 我们需要在JNI的C代码调用Java代码.实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用. JNI关键方法讲解. 1. 在同一个类中,调用其他方法 JNIEXPORT v ...

  3. Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针

    Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针   1.1. java方法引用(Method References) 与c#委托与脚本语言js ...

  4. C#调用Java方法(详细实例)

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...

  5. Android C代码回调java方法

    本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...

  6. oracle调用java方法的例子(下面所有代码都是在sql/plus中写)

    在Oracle中调用Java程序,注意:java方法必须是static类型的,如果想在JAVA中使用system.out/err输出log. 需要在oracle 中执行"call dbms_ ...

  7. Js调用Java方法并互相传参

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...

  8. HAL中通过JNI调用java方法【转】

    转载请注明本文出处:http://www.cnblogs.com/xl19862005 作者:Xandy 由于工作的需要,最近一直在研究HAL.JNI.Java方法之间互调的问题,并做了如下一些记录和 ...

  9. wrong number of arguments,java方法反射时数组参数的坑

    java方法中只有一个参数是数组,反射的时候我们不能想当然的传歌数组进去,传数组进去的时候表示多个参数. 两个数组不是一个意思啊. 我们应该把数组转为objet,这样才表示一个参数. import j ...

  10. JAVA 方法或者类的注释快捷键

    JAVA 方法或者类的注释快捷键 /*** 登录验证* @param 传入的* @return* @throws Exception*/这种注释效果 方法: 1.先敲“/”在敲两个**,然后回车 方法 ...

随机推荐

  1. 【Golang】程序如何优雅的退出?

    1. 背景 项目开发过程中,随着需求的迭代,代码的发布会频繁进行,在发布过程中,如何让程序做到优雅的退出? 为什么需要优雅的退出? 你的 http 服务,监听端口没有关闭,客户的请求发过来了,但处理了 ...

  2. 机器学习中 TP FP TN FN的概念

    二分类 在二分类问题中,TP FP TN FN 是非常清楚且易于理解的. TP (True Positive) : 预测为 1 ,真实值也为 1 -> 真阳性 FP (False Positiv ...

  3. 红包雨中:Redis 和 Lua 的邂逅

    2018年,王思聪的冲顶大会,西瓜视频的百万英雄,再到映客的芝士超人,直播答题火爆全网. 我服务的一家电商公司也加入了这次热潮,技术团队研发了直播答题功能.答题结束之后,红包会以红包雨的形式落下,用户 ...

  4. Vue最新防抖方案

    函数防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时.举个栗子,持续触发scroll事件时,并 ...

  5. 几百行代码实现一个 JSON 解析器

    前言 之前在写 gscript时我就在想有没有利用编译原理实现一个更实际工具?毕竟真写一个语言的难度不低,并且也很难真的应用起来. 一次无意间看到有人提起 JSON 解析器,这类工具充斥着我们的日常开 ...

  6. Nacos开机自启

    1.添加nacos.service文件 vi /lib/systemd/system/nacos.service 2.将以下内容写到nacos.service文件中 ps:我的nacos路径是/usr ...

  7. Spring框架系列(12) - Spring AOP实现原理详解之JDK代理实现

    上文我们学习了SpringAOP Cglib动态代理的实现,本文主要是SpringAOP JDK动态代理的案例和实现部分.@pdai Spring框架系列(12) - Spring AOP实现原理详解 ...

  8. 【docker专栏1】docker解决的实际问题及应用场景

    Docker是一个开源的容器引擎,它轻巧,且易移植,"build once, configure once and run anywhere".使用go语言开发,并遵从apache ...

  9. 初次使用 eolink 感受

    最近总有前端小伙伴来找我抱怨,"后端接口出来太晚,影响我的任务进度"."后端接口改了也不通知我一下,到冒烟测试的时候报一堆的错".我拉后端小伙伴了解情况,结果问 ...

  10. 第十一天python3 递归函数

    递归Recursion 函数直接或者间接调用自身就是递归: 递归需要有边界条件,递归前进段.递归返回段: 递归一定要有边界条件: 当边界条件不满足的时候,递归前进: 当边界条件满足的时候,递归返回: ...