day06方法

1. 方法概述

1.1 方法的概念

方法(method)是程序中最小的执行单元

  • 注意:

    • 方法必须先创建才可以使用,该过程成为方法定义

    • 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用

2. 方法的定义和调用

2.1 无参数方法定义和调用

  • 定义格式:

     public static void 方法名 (   ) {
         // 方法体;
     }

  • 调用格式:

  • //在main()方法中调用定义好的方法

     方法名();

  • 注意:

    方法必须先定义,后调用,否则程序将报错

3. 带参数方法定义和调用

3.1 带参数方法定义和调用

  • 定义格式:

     public static void 方法名 (参数1) {
         方法体;
     }
     ​
     public static void 方法名 (参数1, 参数2, 参数3...) {
         方法体;
     }

  • 调用格式:

     方法名(参数);
     方法名(参数1,参数2);

3.2 形参和实参

  1. 形参:方法定义中的参数

等同于变量定义格式,例如:int number

  1. 实参:方法调用中的参数

等同于使用变量或常量,例如: 10 number

4. 带返回值方法的定义和调用

4.1 带返回值方法定义和调用

  • 定义格式

     public static 数据类型 方法名 ( 参数 ) { 
         return 数据 ;
     }
     public static boolean isEvenNumber( int number ) {           
         return true ;
     }

  • 调用格式

     方法名 ( 参数 ) ;
     数据类型 变量名 = 方法名 ( 参数 ) ;
  • 范例

     isEvenNumber ( 5 ) ;
     boolean  flag =  isEvenNumber ( 5 ); 

5. 方法的注意事项

5.1 方法的注意事项

  • 方法不能嵌套定义

    • 示例代码:

       public class MethodDemo {
           public static void main(String[] args) {
       ​
           }
       ​
           public static void methodOne() {
               public static void methodTwo() {
                   // 这里会引发编译错误!!!
               }
           }
       }

  • void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据

5.2 方法的通用格式

  • 格式:

     public static 返回值类型 方法名(参数) {
        方法体; 
        return 数据 ;
     }

6. 方法重载

6.1 方法重载

  • 方法重载概念

    方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载

    • 多个方法在同一个类中

    • 多个方法具有相同的方法名

    • 多个方法的参数不相同,类型不同或者数量不同

  • 注意:

    • 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式

    • 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载

  • 正确范例:

     public class MethodDemo {
         public static void fn(int a) {
             //方法体
         }
         public static int fn(double a) {
             //方法体
         }
     }
     ​
     public class MethodDemo {
         public static float fn(int a) {
             //方法体
         }
         public static int fn(int a , int b) {
             //方法体
         }
     }

  • 错误范例:

     public class MethodDemo {
         public static void fn(int a) {
             //方法体
         }
         public static int fn(int a) {   /*错误原因:重载与返回值无关*/
             //方法体
         }
     }

7.6 获取索引

需求:

定义一个方法获取数字,在数组中的索引位置,将结果返回给调用处,如果有重复的,只要获取第一个即可。

代码示例:

 package com.itheima.demo;
 ​
 public class Test4 {
     public static void main(String[] args) {
         //定义一个方法获取数字,在数组中的索引位置,将结果返回给调用处
         //如果有重复的,只要获取第一个即可
 ​
         int[] arr = {1,2,3,4,5};
         int index = contains(arr, 3);
         System.out.println(index);
     }
 ​
     //1. 我要干嘛?判断数组中的某一个数是否存在
     //2. 需要什么?数组 数字
     //3. 调用处是否需要继续使用?返回
     //获取number在arr中的位置
     public static int contains(int[] arr, int number) {
         //遍历arr得到每一个元素
         for (int i = 0; i < arr.length; i++) {
             //拿着每一个元素跟number比较
             if(arr[i] == number){
                 //如果相等,表示找到了
                 return i;
             }
         }
         //当循环结束之后,如果还不能返回索引,表示数组中不存在该数据
         //可以返回-1
         return -1;
     }
 }
 ​

java内存分配

new堆,其他栈(先进后出)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值