【java】【基础4】方法

目录

一、定义 ​编辑

二、方法的其他形式

 2.1 无参数,无返回值

2.2 有参数,无返回值

三、方法使用时的常见问题

四、方法的案例

 4.1 求和案例

4.2 判断一个整数是奇数还是偶数 

五、方法在计算机中执行原理

六、java的参数传递机制

6.1 基本类型的参数传递

6.2 引用类型的参数传递

6.3 引用类型的参数传递案例(数组)

6.3.1 案例1:

 6.3.2 案例2:

七、方法重载

7.1 定义

 7.2 方法重载案例

八、补充知识:方法中单独使用return关键字


一、定义 【java】【基础4】方法_第1张图片

 

package com.runa.define2;

public class MethodDemo1 {
    public static void main(String[] args) {
      int rs = sum(3,4);
      System.out.println("计算出的和是:" + rs);
    }
    public static int sum(int a,int b){
        int c = a + b;
        return c;
    }
}

【java】【基础4】方法_第2张图片

 【java】【基础4】方法_第3张图片

二、方法的其他形式

【java】【基础4】方法_第4张图片

 

 2.1 无参数,无返回值

package com.runa.define2;

public class MethodDemo2 {
    public static void main(String[] args) {
        printHelloWorld();
    }

    /**
     无参数,无返回值
     */
    public static void printHelloWorld() {
        for (int i = 0; i < 3; i++) {
            System.out.println("Hello World!");
        }

    }
}

2.2 有参数,无返回值

package com.runa.define2;

public class MethodDemo2 {
    public static void main(String[] args) {
        printHelloWorld(5);
    }

    /**
     有参数,无返回值
     */
    public static void printHelloWorld(int n) {
        for (int i = 0; i < n; i++) {
            System.out.println("Hello World!");
        }

    }
}

 

三、方法使用时的常见问题

【java】【基础4】方法_第5张图片

 

四、方法的案例

【java】【基础4】方法_第6张图片

 4.1 求和案例

 【java】【基础4】方法_第7张图片

 

package com.runa.define2;

public class MethodDemo3 {
    public static void main(String[] args) {
        System.out.println("1 - 100 的和是" + add(100));
    }
    public static int add(int n){
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;

    }
}

4.2 判断一个整数是奇数还是偶数 

【java】【基础4】方法_第8张图片

 

package com.runa.define2;

public class MethodDemo4 {
    public static void main(String[] args) {
        judge(30);
    }
    public static void judge(int n){
        if(n % 2 == 0){
            System.out.println(n + "是一个偶数");
        }
        else{
            System.out.println(n +"是一个奇数");
        }

    }
}

五、方法在计算机中执行原理

【java】【基础4】方法_第9张图片

 【java】【基础4】方法_第10张图片

 【java】【基础4】方法_第11张图片

 

六、java的参数传递机制

【java】【基础4】方法_第12张图片

 

6.1 基本类型的参数传递

【java】【基础4】方法_第13张图片

 【java】【基础4】方法_第14张图片

 

 【java】【基础4】方法_第15张图片

 

6.2 引用类型的参数传递

【java】【基础4】方法_第16张图片

 【java】【基础4】方法_第17张图片

6.3 引用类型的参数传递案例(数组)

6.3.1 案例1:

【java】【基础4】方法_第18张图片

 

package com.runa.define2;

public class MethodDemo5 {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40};
        printArray(arr);
        int[] arr2 = null;
        printArray(arr2);
    }
    public static void printArray(int[] arr){
        if(arr == null){
            System.out.println(arr);
            return;
        }
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
//            if(i == arr.length - 1){
//                System.out.print(arr[i]);
//            }else{
//                System.out.print(arr[i] + ", ");
//            }
            // 将上面代码进行优化
            System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", " );

        }
        System.out.println("]");
    }
}

 6.3.2 案例2:

【java】【基础4】方法_第19张图片

 

package com.runa.define2;

public class MethodDemo6 {
    public static void main(String[] args) {
        int[] arr1 = {12, 13, 14};
        int[] arr2 = {12, 13, 14};
        System.out.println(equals(arr1, arr2));
    }
    public static boolean equals(int[] arr1, int[] arr2){
        // 1 判断arr1 与arr2 是否都是null,那么相等
        if(arr1 == null && arr2 == null){
            return true;
        }
        // 2判断arr1 是null 或者arr2 是null,那么不相等
        if(arr1 == null || arr2 == null){
            return false;
        }
        //3 判断arr1与arr2长度是否相同,返回不相等
        if(arr1.length != arr2.length){
            return false;
        }
        // 循环比较两个数组相同位置数值是否相同,返回不相等
        for (int i = 0; i < arr1.length; i++) {
            if(arr1[i] != arr2[i]){
                return false;
            }

        }
        // 不满足上面的所有判断,那么相等
        return true;
    }
}

七、方法重载

7.1 定义

【java】【基础4】方法_第20张图片

 

package com.runa.define2;

public class MethodDemo7 {
    public static void main(String[] args) {
        test();
        test(100);
    }
    public static void test(){
        System.out.println("test1");
    }
    public static void test(int n){
        System.out.println("test2");
    }
    void test(double n){
        System.out.println("test3");
    }

    int test(int a, int b){
        return a + b;
    }
    void test(int b,double a){
        System.out.println("test3");
    }

    void test(double a,int b){
        System.out.println("test3");
    }
}

 7.2 方法重载案例

【java】【基础4】方法_第21张图片

 

 

package com.runa.define2;

public class MethodDemo8 {
    public static void main(String[] args) {
        fire();
        fire("本日");
        fire("本日",999);
    }
    public static void fire(){
        System.out.println("发射武器");
    }
    public static void fire(String country){
        System.out.println("发射武器给" + country);
    }
    public static void fire(String country, int number){
        System.out.println("发射了" + number + "核武器给" + country);
    }
}

八、补充知识:方法中单独使用return关键字

【java】【基础4】方法_第22张图片

 

 

你可能感兴趣的:(java,java,开发语言,算法)