美文网首页
java方法

java方法

作者: 以宇宙为海的蓝鲸 | 来源:发表于2019-07-13 13:20 被阅读0次

java方法.png
方法介绍?
  • 什么是方法?

    1. 方法就是一段代码的集合,这段代码完成了某个功能,业务场景。
    2. 一个方法就是一个功能。
  • 为什么使用方法?

    避免main方法中的代码堆积,造成后期代码拓展和维护的成本增加。

  • 如何使用方法?

    1. 格式与main方法大致相同。
      public static void(返回类型) 方法名(参数列表){}
    2. 在main方法中通过方法名调用需要执行的方法。
    3. 方法()中的内容,参数,就相当于一根天线。用来接收调用者发送的数据信息。
    4. 方法计算出来的值,其他的方法也可以使用。
    5. 一个方法如果声明了void,证明该方法无返回值。不能写return返回语句。
    6. 如果一个方法存在返回结果,方法的void应修改为返回结果的数据类型。
    7. 在方法体的最后一行可以写return语句返回具体的值。
  • 调用方法流程

Java调用方法流程.png
方法重载
  • 方法重载的含义

    1. 在一个类中编写方法时,如果出现多个方法的所做的事情是一样时,为了满足见名知意的规范,我们可以起同样的方法名。

    2. 在一个类中定义同名方法是可以的,并将之称之为重载。

  • 注意事项

    1. 就进原则:当调用语句中的数据类型,在调用方法中找不到完全匹配的时候,它会按照就近原则,选取调用方法。

      就近顺序:byte>short>int>char>long>float>double.从小往大的方向匹配。

      如果没有基本数据类型,就会寻找基本数据类型的包装类,最后才会寻找可变参数。

      当出现两个方法都符合匹配次序的话,程序会报错。

    2. 两同三不同:只有符合两同和三不同中的一个时,方法才能重载。

      两同:同名,同类

      不同:参数列表类型不同,参数列表顺序不同,参数列表长度不同。

代码示例
  • 计算圆柱体的面积
    /** 
     计算圆柱体的表面积
     1:声明一个方法计算圆的面积
     2:声明一个方法矩形的面积
     3:声明一个方法计算累加和

     1:如何声明?
     照着main方法抄
     2:这个方法完成什么功能
     知道了方法中的逻辑如何编写
     3:这个方法的执行需不需要帮忙?
     参数列表

     1:方法就是一个功能模块,完成某个功能。
     不要重复造轮子。方法是可以复用的。
     2:  变量:首字母小写 其它每个单词的字母均大写 
     类: 首字母大写 其它每个单词的字母均大写 
     方法:首字母小写 其它每个单词的字母均大写 
    */ 
    import java.util.Scanner; 
    public class Demo05{    
     public static void main(String[] args){
     System.out.println("请输入计算的圆的半径>>>>>>");
     //创建一个Scanner对象
     Scanner input = new Scanner(System.in);
     //通过Scanner对象中的nextInt方法获取用户输入的int值 
     int r = input.nextInt();
     double area = getArea(r);
     System.out.println("请输入计算的圆柱体的高>>>>>>");
     //通过Scanner对象中的nextInt方法获取用户输入的int值
     int width = input.nextInt();
     //计算半径为r的圆的周长
     double length = getZC(r);
     //计算矩形的表面积
     double jArea = getArea(length,width);
     //计算圆柱体的表面积
     double sumArea = getYZT(area,jArea);
     System.out.println("以半径为"+r+"的,高为"+width+"的圆柱体的表面积是:"+sumArea);
     } 
    //调用语句的参数名和方法名参数列表的参数名可不相同
     public static double getYZT(double yArea,double jArea){
     return yArea*2+jArea; 
     }
    /**        
     //@+单词 注解
     @param r 需要计算的圆的半径
     @return double 返回计算的圆的周长    */ 
     public static double getZC(int r){ 
     //参数判定 代码的健壮性更好  防御性编程
     if(r==0){
     return 0;
     } 
     //计算周长
     double pi = 3.14;
     double zc = 2*pi*r;
     //返回周长
     return zc;
     } 
     /**  计算矩形的面积    */
     public static double getArea(double length,int width){
     double area = length*width; 
     //System.out.println(area);
     return area;
     }
     /** 计算半径r的圆的面积    */
     public static double getArea(int r){
     //声明一个变量存放pi的值
     double pi = 3.1415;
     //声明圆的半径
     //int r = 4;        //计算面积
     double area = pi*r*r;
     System.out.println("半径是"+r+"的圆的面积是"+area);
     return area;
     }
    }
    //以半径为4的,高为4的圆柱体的表面积是:201.008
  • 面试题
    按照最近原则判定以下程序输出内容:
 public class Demo07{    
 public static void main(String[] args){
 char ch = 'A';        info(ch);
 } 
 public static void info(char ch){
 System.out.println("info char");
 } 
 public static void info(int ch){
 System.out.println("info int");
 }
 public static void info(long ch){
 System.out.println("info long");
 } 
 public static void info(double ch){
 System.out.println("info double");
 }
}
//执行完全匹配的,结果输出info char
public class Demo08{    
 public static void main(String[] args){
 info(12,12.1f);
 } 
 public static void info(char ch,double d){
 System.out.println("info char ch,double d");
 }
 public static void info(int ch,double d){
 System.out.println("int ch,double d");
 }
 public static void info(long ch,float d){
 System.out.println("long ch,float d");
 } 
}
//程序报错,因为存在两个可以调用的方法
public class Demo06{    
 public static void main(String[] args){
 info(12);
 } 
 public static void info(long l){  //基本数据类型,编号1
 System.out.println("info long l");
 }
 public static void info(Integer in){  //基本数据类型的包装类,编号2
 System.out.println("Integer in");
 } 
 /* jdk1.5之后,支持可变参数  */
 public static void info(int ... ins){ //可变参数,编号3 
 System.out.println("Integer ... ins");
 } 
}
//当编号1,2,3都存在时,执行,编号1;当只有编号2,3时,执行编号2;只存在编号3时,执行编号3.

相关文章

  • 优秀的文章收集

    Java java8 default的用法 join方法和sleep方法 java内存模型 java-co...

  • 获取返回URL

    Java设置Cookie Java获取Cookie Js获取Cookie Java方法调用 Js方法调用

  • Java方法签名与方法块

    Java方法签名 Java的方法签名不包括返回值。 Java的方法签名包括:方法名和参数。不包括方法返回值。所以由...

  • 如何在Java中实现远程方法调用

    如何在Java中实现远程方法调用 一、Java中的远程方法调用 JAVA教程远程方法调用(Remote Metho...

  • jni常见的使用

    1. 访问java属性。 2. 访问java静态属性。 3. 访问java方法。 4. 访问java静态方法。 5...

  • java-equals方法

    equals equals 方法是 java.lang.Object 类的方法。java默认的equals方法是比...

  • Java反射

    一. Class类 二. Java动态加载类 三. Java获取方法信息 四. Java方法反射的基本操作

  • JAVA-Reflect

    一、Class类的使用 二、Java动态加载类 三、Java获取方法信息 四、Java方法的反射

  • 10.3 UiPath如何调用Java

    调用Java方法(Invoke Java Method)的介绍从Java Scope中的.jar加载的方法中调用指...

  • java收藏夹

    java中的经典问题solution Java 的静态工厂方法 单例的四种实现方法 Java中的clone方法 J...

网友评论

      本文标题:java方法

      本文链接:https://www.haomeiwen.com/subject/wawpkctx.html