什么是方法

  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. 透过Redis源码探究字符串的实现

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Redis 5.0源码 概述 最近在通过 Redis 学 C 语言,不得不说, ...

  2. 用QT制作3D点云显示器——QtDataVisualization

    因为QT的三维显示模块QtDataVisualization已经对个人开发免费开放了,所以在制作点云,地图,表格之类的东西的时候,其实我们都不需要使用QtCharts或者QOpenGL模块了.直接使用 ...

  3. 记一次APP渗透登录验证绕过思路

    前言: 起初是抓包时候查看返回状态码不一致,所以觉得是否可以通过修改状态码来达到绕过的目的,但是拦截响应包再替换手速不够,技术大哥就去搜了下,找到了一个方法,可以自动替换响应包内容. 在偏下方一点的地 ...

  4. idea运行Tomcat出现 Address localhost:8080 is already in useAddress localhost:8080 is already in use

    使用IDEA运行 tomcat时出现 Address localhost:8080 is already in use,就很奇怪,我明明只有这一个程序呀,怎么还会被占用.后来想想可能就是被其他进程占用 ...

  5. web文本划线的极简实现

    开篇 文本划线是目前逐渐流行的一个功能,不管你是小说阅读网站,还是卖教程的的网站,一般都会有记笔记或者评论的功能,传统的做法都是在文章底部加一个评论区,优点是简单,统一,缺点是不方便对文章的某一段或一 ...

  6. springboot的@ConditionalOnBean注解

      上篇文章中分析了springboot的自动注入的原理,可在文章后面的推荐阅读中温习哦.在自动注入的原理那篇文章中提到了@ConditionalOnXX注解,今天来看下springboot中的@Co ...

  7. 深度学习基础-基于Numpy的感知机Perception构建和训练

    1. 感知机模型   感知机Perception是一个线性的分类器,其只适用于线性可分的数据.          f(x) = sign(w.x + b) 其试图在所有线性可分超平面构成的假设空间中找 ...

  8. labview从入门到出家2--将“加法程序”制作成“exe应用程序”

    1.上一章主要讲了如何跑我们的第一个加法程序(这里向第一个程序的鼻祖"hello world"致敬),这一章我们直接进入主题,将我们写的程序生成exe文件放桌面运行. 2.要生成e ...

  9. eclipse调用MySQL数据库的方法

    今天来总结一下使用如何使用eclipse调用MySQL数据库的数据. 一.设置eclipse 我们首先来设置一下eclipse. 在下部的Servers中右键选择new,选择server 之后在新弹出 ...

  10. noi-2.2基本算法之递归和自调用函数:放苹果

    先看一下题目: http://noi.openjudge.cn/ch0202/666/http://noi.openjudge.cn/ch0202/666/ 把M个同样的苹果放在N个同样的盘子里,允许 ...