JAVA 方法

Java方法是语句的集合,它们在一起执行一个功能

  • 方法是解决一类问题的步骤的有序集合

  • 方法包含于类或对象中

  • 方法在程序中被创建,在其他地方被应用


    设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展


    方法包含一个方法头和一个方法体,下面是方法的所有部分:

    • 修饰符:修饰符,是可选的,告知编译器如何调用方法,定义了该方法的访问类型

    • 返回值类型:方法可能会返回值。

    • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名

    • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数,这个值被称为实参或者变量。参数列表是指方法的参数类型、顺序和参数的个数,参数时可选的,方法可以不含任何参数

      • 形式参数:在方法被调用时用于接收外界输入的数据

      • 实参:调用方法时实际传给方法的数据


方法在很多地方又被称为函数,方法是一段可以被重复调用的代码块

方法的主要功能时封装可以执行的一段代码,这样不仅可以进行重复调用,更可以方便的实现代码的维护

语法如下:

public static 返回值类型 方法名称(参数类型 参数变量,...){
方法体(本方法要执行的若干操作)
[return [返回值];]
}

在方法的定义格式中,发现其有一个返回值类型,指的是这个方法的返回结果。对于返回值的类型可以有以下两种:

  • 直接设置Java中的数据类型(基本数据类型和引用数据类型),如果方法设置了返回值,那么必须使用return语句返回与数据类型对于的数据

  • 方法没有返回值void,可以不使用return返回内容,但是可以使用ruturn结束方法调用


    方法的重载:

    方法的重载是指方法名相同,参数类型或者个数不同或者排列顺序不同,调用的时候将会按照传递的参数类型和个数完成不同方法体的执行

    方法重载的概率本身很容易理解,但是对于方法的重载有以下两种说明:

    • 在进行方法重载是一定要考虑到参数类型的统一,虽然可以实现重载方法返回不同类型的操作,但是从标准的开发来讲,建议所有重载后的方法使用同一种方法类型

    • 方法重载的时候重点是根据参数类型及个数来区分不同的方法,而不是依靠返回值的不同来确定的

      package method;
      ​
      /**
       * 方法的重载
       */
      public class TestDemo {
          public static void main(String[] args) {
             int sum=add(29,30);
              int num=add(30,40,50);
             double cum=add(69.9,88.9);
          }
          /**
           * 实现两个整数数字的加法计算操作
           */
          public static int add(int x,int y){
              return x+y;
          }
          /**
           * 实现三个整数数字的加法计算操作
           */
          public static int add(int x,int y,int z){
              return x+y+z;
          }
          /**
           * 实现两个小数数字的加法计算操作
           */
          public  static double add(double x,double y){
              return x+y;
          }
      }
      ​


      方法的调用:

      调用方法:对象名.方法名(实参列表)

      Java支持两种调用方法的方式,根据方法是否返回值来选择

      当方法返回一个值时,方法调用通常被当成一个值:

      int larger=max(30,40);

      如果方法返回值是void,方法调用一定是一条语句

      System.out.println("Hello,World");

      命名行传参:

      靠传递命名行参数给main()函数来实现

      public class Demo{
      public static void main(String args[]){
      for(inr i=0;i<arg.length;i++){
      System.out.println("args["+i+"]:"+args[i]);
      }
      }
      }

      可变参数:

      Java支持传递同类型的可变参数给一个方法

      在方法声明中,在指定参数类型后加一个省略号(...)

      一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

      package method;
      ​
      public class Demo05 {
          public static void main(String[] args) {
            printMax(34,3,4,2,56.5);
            printMax(new double[]{1,2,3});
          }
          public static void printMax(double... numbers){
              if(numbers.length==0){
                  System.out.println("NO argument passed");
                  return;
              }
              double result=numbers[0];
      ​
                      for(int i=1;i<numbers.length;i++){
                          if(numbers[i]>result){
                              result=numbers[i];
                          }
                      }
              System.out.println("The max value is"+result);
          }
      }
      ​

      方法的递归调用:

      递归调用是一种特殊的调用形式,指的是方法自己调用自己的形式

      必须有以下两个条件:

      • 必须有结束条件

      • 每次调用都需要改变传递的参数

        package method;
        ​
        public class Demo06 {
            public static void main(String[] args) {
                System.out.println(sum(100));
            }
            public static int sum(int num){
                if(num==1){
                    return 1;
                }
                return num+sum(num-1);
            }
        }
        ​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值