什么是方法

  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. 软件成分分析(SCA)完全指南

    上一篇文章中,我们讨论了 DAST 的概念.重要性及其工作原理.那在开发过程中如何查找开源软件包中的漏洞并学习如何修复?本指南带你一起了解 SCA 工具及其最佳实践. 如今,绝大多数代码驱动的应用程序 ...

  2. cve_2019_0708_bluekeep漏洞

    一.环境说明 kali linux windows 7 sp1 二.cve_2019_0708_bluekeep漏洞利用 msf5 auxiliary(dos/windows/rdp/ms12_020 ...

  3. UiPath文本操作Get OCR Text的介绍和使用

    一.Get OCR Text操作的介绍 使用OCR屏幕抓取方法从指示的UI元素或图像中提取字符串及其信息.执行屏幕抓取操作时,还可以自动生成此活动以及容器.默认情况下,使用Google OCR引擎. ...

  4. VisionPro · C# · 实时取像

    VisionPro 在C#项目程序中实现实时取像方式,有两种: 1.采用界面控件  CogAcqFifoTool 进行操作,与在VisionPro软件中操作一致: 2.采用界面控件 CogRecord ...

  5. Turtle绘图——python简单上手小案例

    Turtle绘图 Turtle模块提供了在二维平面上移动的环境. Turtle可以实现位置.航向和各种可能的状态和动作. import turtle as tu roo = tu.Turtle() # ...

  6. 【问题解决】Alpine镜像中执行jstack、arthas等命令提示Unable to get pid of LinuxThreads manager thread

    问题现象 最近在处理项目上问题发现之前同事构建的AlpineLinux的镜像不能执行jstack等JDK命令,报错如下. Unable to get pid of LinuxThreads manag ...

  7. 抓包整理外篇fiddler———— 会话栏与过滤器[二]

    前言 简单介绍一下会话栏和过滤器 正文 在抓包的时候这两个可以说是必用吧. 会话栏: 会话栏我这里介绍根据左边部分和右边部分. 左边部分是一些图标,有些人发现有个习惯,不习惯看图标. 其实说白了,我们 ...

  8. 10道不得不会的JavaEE面试题

    10道不得不会的 JavaEE 面试题 我是 JavaPub,专注于面试.副业,技术人的成长记录. 以下是 JavaEE 面试题,相信大家都会有种及眼熟又陌生的感觉.看过可能在短暂的面试后又马上忘记了 ...

  9. Graph-Based Social Relation Reasoning

    title: Graph-Based Social Relation Reasoning, 2020 task: we propose a simpler, faster, and more accu ...

  10. 数据结构-查找-二叉排序查找(平衡二叉树,B树,B+树概念)

    0.为什么需要二叉排序树 1)数组存储方式: 优点:通过下标访问元素,速度快,对于有序数组,可以通过二分查找提高检索效率: 缺点:如果检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低: 2 ...