java入门基础教程:2023.3.3第五天,java的方法运用[java教程]

前言

记录时间:2023.3.3

已坚持的第五天

java从入门到精通

学习java时间历程记录打卡

早上6:00到 12:00

下午1:00到6:00

java方法总结

1677837398-画布 1

完成代码练习

1.方法的使用

1.学会使用方法

package cn.vqqc.create;

public class MethodDemo1 {
    public static void main(String[] args) {
        //学会使用方法
        //小明
        int c1 = sum(10, 30);
        System.out.println(c1);

        //小红
        int c2 = sum(10, 50);
        System.out.println(c2);

    }

    public static int sum(int a, int b){
        int c = a + b;
        return c;
    }
}

2.学会方法的定义格式

package cn.vqqc.create;

public class MethodDemo2 {
    public static void main(String[] args) {
        //目标:学会方法的定义格式,并理解调用和执行流程
        int rs =  add(100, 200);
        System.out.println("和是:" + rs);

        System.out.println("-----------------");
        int rs1 = add( 200, 300);
        System.out.println("和是:" + rs1);
    }

    public static int add(int a, int b){
        int c = a + b;
        return c;
    }
}

3.学会方法定义的其他形式

package cn.vqqc.create;

public class MethodDemo3 {
    public static void main(String[] args) {
        //学会方法定义的其他形式,并理解其执行流程
        print();
        System.out.println("-------------");
        print();
    }

    /*
        无参数无返回值的方法
     */
    public static void print(){
        for (int i = 0; i < 3; i++) {
            System.out.println("Hello Wrold!");
        }
    }
}

4.方法的注意事项

package cn.vqqc.create;

public class MethodAttentionDemo4 {
    public static void main(String[] args) {
//        方法的编写顺序无所谓。
        System.out.println(sum(10, 20));

//        方法与方法之间是平级关系,不能嵌套定义。
//        方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
//        return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
//        方法不调用就不执行,  调用时必须严格匹配方法的参数情况。
        print();
//        有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用。
        int rs = sum(100, 900);
        System.out.println(rs);

        //输出调用
        System.out.println(sum(1000, 2000));

        //直接调用(只是调用方法,让方法跑一下,但是方法返回的结果它不要了)
        sum(3000, 5000);

        //无返回值方法的调用只能直接调用。
        print();
    }
    public static int sum(int a, int b){
        return a + b;
//        System.out.println("方法"); //报错
    }

    public static void print(){
        System.out.println("Hello world");
        System.out.println("Hello world");
        System.out.println("Hello world");
        //return 54; //报错的
    }

}

2.方法案例使用

1.使用方法计算1-n的和并返回

package cn.vqqc.demo;

public class Test1 {
    public static void main(String[] args) {
        //需求:使用方法计算1-n的和并返回
        System.out.println("1到5的和是:" + sum(5));
        System.out.println("------------------------");
        System.out.println("1到5的和是:" + sum(100));
    }

    public static int sum(int n){
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;
    }
}

2.判断一个整数是奇数还是偶数

package cn.vqqc.demo;

public class Test2 {
    public static void main(String[] args) {
        //需求:判断一个整数是奇数还是偶数 ,并运行结束的结果输出,使用方法完成
        check(11);
        System.out.println("----------------");
        check(100);
    }

    public static void check(int number) {
        if(number % 2 == 0){
            System.out.println(number + "是偶数!");
        }else {
            System.out.println(number + "是奇数!");
        }
    }
}

3.找出任意整型的数组的最大值

package cn.vqqc.demo;

public class Test3 {
    public static void main(String[] args) {
        //需求使用方法找出任意整型的数组的最大值返回
        int[] ages = {23, 19, 25, 78, 34};
        int max = getArrayMaxData(ages);
        System.out.println("最大值的数据是:" + max);
    }

    public static int getArrayMaxData(int[] arr){
        //找出最大值返回
        int max = arr[0];
        //遍历数组的每个元素与最大值的数据进行比较,若较大则替换
        for (int i = 1; i < arr.length; i++) {
            if(arr[i] > max){
                max = arr[i];
            }
        }
        return max;
    }
}

4.理解方法的内存的运行机制

package cn.vqqc.demo;

public class Test4 {
    public static void main(String[] args) {
        //目标:理解方法的内存的运行机制
    study();
    }

    public static void eat(){
        System.out.println("吃饭");
    }

    public static void sleep(){
        System.out.println("睡觉");
    }

    public static void  study(){
        eat();
        System.out.println("学习");
        sleep();
    }
}

3.方法参数传递机制的值传递

1.基本类型的参数传递机制

package cn.vqqc.param;

public class ParamDemo1 {
    public static void main(String[] args) {
        //目标理解java的基本类型的参数传递:值传递
        int a = 10;
        change(a);
        System.out.println(a);  //10
    }

    public static void change(int a){
        System.out.println(a);  // 10
        a = 20;
        System.out.println(a); // 20
    }
}

2.引用类型的参数传递机制

package cn.vqqc.param;

public class ParamDemo2 {
    public static void main(String[] args) {
        //目标:理解引用类型的参数传递机制,值传递,区分其不同点
        int[] arrs = {10, 20, 30};
        change(arrs);
        System.out.println(arrs[1]); //222
    }

    public static void change(int[] arrs){
        System.out.println(arrs[1]);  //20
        arrs[1] = 222;
        System.out.println(arrs[1]); //222
    }
}

3.打印任意的整型的内容

package cn.vqqc.param;

public class ParamTest3 {
    public static void main(String[] args) {
        //需求;打印任意的整型的内容
        int[] ages = {10, 20, 30, 40};
        printArray(ages);

        System.out.println("-----------------------");
        int[] numbers = {1, 2, 3, 9, 10};
        printArray(numbers);

        System.out.println("-----------------------");
        int[] numbers1 = null;
        printArray(numbers1);
    }

    public static void printArray(int[] arr){
        System.out.print("[");

        if(arr != null && arr.length > 0){
            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("]");
    }
}

4.从数组查询数组中索引返回

package cn.vqqc.param;

public class ParamTest4 {
    public static void main(String[] args) {
        //需求:从数组中查询某个数据的索引返回,不存在该数据返回-1
        //3.定义数组,调用方法
        int[] arr = {11, 22,33, 66, 87, 19};
        int index = seachIndex(arr, 87);
        System.out.println("您查询的数据索引是:" + index);
    }

    /*
    1.定义一个方法: 参数接收数组,要查询的数据,返回值,整型
     */
    public static int seachIndex(int[] arr, int data){
        //2.开始找出这个数据的索引
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] == data){
                return i;
            }
        }
        return -1; //查无此元素
    }
}

5.比较两个任意两个整型数组是否一样

package cn.vqqc.param;

public class ParamTest5 {
    public static void main(String[] args) {
        //需求:比较两个任意两个整型数组的内容是否一样,一样返回true 反之
        int[] arr1 = {10, 20, 30};
        int[] arr2 = {10, 20, 30};
        System.out.println(compare(arr1, arr2));
    }

    /*
        1.定义一个方法,参数,接收两个整型数组,返回值类型,布尔类型
     */
    public static boolean compare(int[] arr1, int[] arr2){
        //2.判断两个数组内容一样的呢
        if(arr1.length == arr2.length){
            for (int i = 0; i < arr1.length; i++) {
                if(arr1[i] != arr2[i]){
                    return false;
                }
            }
            return true; //是一样的
        }else {
            return false;
        }
    }
}

4.方法重载

1.识别方法重载的形式

package cn.vqqc.overload;

public class MethodDemo1 {
    public static void main(String[] args) {
        //目标: 识别方法重载的形式,并理解调用流程,最后需要知道使用方法的重载的好处
     fire();
     fire("岛国");
     fire("岛国", 1000);
    }

    public static void fire(){
        System.out.println("默认发射一枚武器给米国");
//        fire("岛国");
    }

    public static void fire(String location){
        System.out.println("默认发射一枚武器给" + location);
//        fire(location,1);
    }

    public static void fire(String location, int number){
        System.out.println("默认发射"+ number +"枚武器给" + location);
    }
}

2.识别方法重载的技巧

package cn.vqqc.overload;

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

    }

    //新方法
    public static void open() {}

    //重载方法
    public static void open(int a ) {}

    //重载方法
    public static void open(int a, int b) {}

    //重载方法
    public static void open(double a, int b) {}

    //重载方法
    public static void open(int a, double b) {}

    //重复方法
//    public static void open(int i, double b) {}

        //新方法
    public static void NPEN() {}



}

5.return关键字的作用

1.明确return关键字的作用

package ReturnDemo;

public class ReturnDemo {
    public static void main(String[] args) {
        //目标: 明确return关键字的作用
        System.out.println("main开始..");
        chu(10, 0);
        System.out.println("main结束..");
    }

    public static void chu(int a, int b){
        if(b == 0){
            System.out.println("您输入的数据有问题,除数不能是0!");
            return; //立即跳出当前方法,并结束当前方法的执行
        }
        int c = a / b;
        System.out.println("结果是:" + c);
    }
}

6.视频总结

1.方法的概述

https://www.bilibili.com/video/BV1Cv411372m?p=55

2.方法定义格式、常见问题

https://www.bilibili.com/video/BV1Cv411372m?p=56

3.方法案例:求和、判断奇偶数、求最值

https://www.bilibili.com/video/BV1Cv411372m?p=57

4.方法的内存原理

https://www.bilibili.com/video/BV1Cv411372m?p=58

5.方法参数传递机制:值传递

https://www.bilibili.com/video/BV1Cv411372m?p=59

6.方法参数传递的案例

https://www.bilibili.com/video/BV1Cv411372m?p=60

7.方法重载、return关键字

https://www.bilibili.com/video/BV1Cv411372m?p=61

8.总结:方法

https://www.bilibili.com/video/BV1Cv411372m?p=62

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容