zoukankan      html  css  js  c++  java
  • Java方法(函数)

    4.1方法简介

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

      1、方法是解决一类问题的步骤的有序组合(功能块

      2、方法包含于类与对象中

      3、方法在程序中创建,在其它地方引用

      4、原子性:单一职能原则(一个方法只完成一个功能,方便后期扩展)

    方法定义:

      1、方法包括一个方法头和一个方法体

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

      3、返回值类型:方法会有返回值除了(void)方法没有返回值

      4、方法名:方法的实际名称,在main函数中调用使用的名称;方法名包含参数列表(可为空)

      5、参数类型:可选;方法调用需要传值给参数(实参)

        形参(形式参数):接收外界输入的数据

        实参(实际参数):实际传递给方法的数据

      6、方法体:包含的具体功能语句;组成一个完整的功能

     修饰符 返回值类型   方法名(参数类型 参数名){
      。。。
      方法体
      。。。
      return 返回值;
     }
     package com.hch.method;
     ​
     public class Demo01_method {
         //主方法main
         public static void main(String[] args) {
             System.out.println(add(1,5));
             
        }
     ​
         //加法方法
         public static int add(int a , int b){
             return a+b;
        }
     }
     /*
     -接收返回值类型:函数调用了表达式最终代表了所返回的结果
     -返回值类型:定义时就约定了返回值的结果类型
     -返回值:接在return关键字后面
     PS:**注意:return在方法中除了返回值的意义还有终止方法的作用**
     */

     

    方法调用:

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

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

    4.2方法的重载

      重载就是在一个类中,有相同的函数名称,但是形参不同的函数

    方法重载的规则:

      1、方法名称必须相同

      2、参数列表必须不同(参数个数、参数类型、参数排列顺序)

      3、方法的返回类型可以相同也可以不同

      4、仅仅返回类型不同不足以成为方法的重载

     package com.hch.method;
     ​
     public class Demo01_method {
         //主方法main
         public static void main(String[] args) {
             System.out.println(add(1,5));
     ​
        }
         //加法方法
         public static int add(int a , int b){
             return a+b;
        }
         /**
          * 方法重载
          * 方法名称必须相同,参数列表必须不同
          * */
         //1、参数类型不同
         public static double add(double a ,double b){
             return a+b;
        }
         //2、参数个数
         public static int add(int a,int b,int c){
             return a+b+c;
        }
         //3、参数排列顺序
         public static double add(double b,double a,double c){
             return b-a-c;
        }
     }
     ​

    this关键字:

      类是一种模板可服务于此类的所有对象;

      this是类中的默认引用,代替当前实例,当类服务于某个对象时,this则指向这个对象

    用法:

     1、调用实例属性、实例方法:this.name; this.sayHi();
     2、调用本类中其它构造方法,如:this()、this(实参列表);

     

    4.3可变参数

    JDK1.5开始,Java支持传递同类型的可变参数给一个方法

    在方法声明中,在指定参数类型后加一个省略号(...):用于接收变长的参数值

    一个方法中只能指定一个可变参数,它必须是方法的可变参数。

     package com.hch.method;
     ​
     public class Demo02_method {
         public static void main(String[] args) {
             Demo02_method d = new Demo02_method();
             d.test(1,2,6);
        }
     ​
     //   public void method(){}
     //   public void method(int a){}
     //   public void method(int a,int b){}
     //   public void method(int i,double b){}
         public void test(int ...i){
             System.out.println(i[0]);
             System.out.println(i[1]);
             System.out.println(i[2]);
        }
     }
     ​

     

    4.4递归

      递归就是:A方法调用A方法;即自己调用自己。

    递归包括两个部分:

      递归头:什么时候不调用自身方法(什么时候停止递归,否则造成死循环)

      递归体:什么时候需要调用自身方法

     package com.hch.method;
     ​
     public class Demo03_method {
         public static void main(String[] args) {
             Demo03_method d = new Demo03_method();
             System.out.println(d.f(3));
        }
     ​
         //阶乘的表示
         public static int f(int i){
             if (i==1){
                 return 1;
            }else{
                 return i*f(i-1);
            }
        }
     }
     ​
     

    4.5返回值与返回值类型

     定义语法:
      public static 返回值类型(基本类型、引用类型、void) 函数名称(形参表){
      //函数主体
      return value; //返回值(按需求返回一个结果,一个函数只能有一个return语句)
      }
     ​
     调用语法:
      变量 = 函数名称()
     ​
     注意:
      *接收返回值:函数调用的表达式最终即代表了所返回的结果。
      *返回值类型:定义时,即约定了返回的结果类型
      *返回值:与返回值类型匹配的具体结果,在return关键字后面追加具体的值
     ​

    return关键字

      -应用在具体返回值类型的函数中;return value; //表示结束当前函数,并返回返回值到函数调用处

      -应用在没有返回值类型(void)函数中;return; //表示结束当前函数,直接返回到函数调用处

  • 相关阅读:
    对两个有序数组进行合并
    连续子数组的最大和问题
    设计模式的学习
    Android基础总结(12)——XML和JSON解析
    Android基础总结(8)——服务
    x64 Assembly Tutorial 1 : Getting into x64 ASM from C++
    C# IL 指令集
    Unity3D教程宝典之地形
    Unity3D 动态改变地形 Unity3D Dynamic Change Terrain
    C#中String.format用法详解
  • 原文地址:https://www.cnblogs.com/joey-413/p/13234801.html
Copyright © 2011-2022 走看看