• Java11 方法 方法重载 return 关键字


     

     

    定义方法的完整格式

    public class MethodsDemo1 {
        public static void main(String[] args) {
            //目标:学习方法的完整定义格式,并理解其调用和执行流程
            int rs= add(199,22);
            System.out.println(rs);
        }
        //求和方法
        public static int add(int a, int b){
            int c=a+b;
            return c;
        }
    }
    View Code

    方法的其他写法

    public class MethodsDemo2 {
        public static void main(String[] args) {
            print("hello",3);
        }
    
        public static void print(String a,int b){
            for (int i = 0; i <b ; i++) {
                System.out.println(a);
            }
        }
    }
    View Code

     

    public class MethodsDemo4 {
        public static void main(String[] args) {
            //直接调用 让方法跑一下,但是方法返回的结果它不要了
            System.out.println(sum(1, 2));
            System.out.println("______");
            //无返回值的方法只能调用一下
            print();
        }
    
        //求和方法
        public static int sum(int a,int b){
            int c=a+b;
            return c;
        }
    
        //有具体的返回值 则必须有返回值 也必须有返回值的类型 也必须一致
        public static void print(){
            System.out.println("helloworld");
        }
    }
    View Code

    方法的几个小案例

    public class FuncDemo {
        public static void main(String[] args) {
            System.out.println(addNum(10));
            System.out.println(result(2));
            int [] arr={1,2,3,423,56,6};
            System.out.println(arrMax(arr));
        }
    
        //求和方法
        public static int addNum(int n) {
            int c = 0;
            for (int i = 1; i <= n; i++) {
                c += i;
            }
            return c;
        }
    
    
        //判断一个数是整数还是奇数
        public static String result(int a) {
            String r = "";
            if (a % 2 == 0) {
                r = "偶数";
            } else if (a % 2 != 0) {
                r = "奇数";
            }
            return r;
        }
    
        //找出数组中的最大值 求最值方法
        public static int arrMax(int[] a) {
    //        int num,max;
    //        if(a.length>=2){
    //            //冒泡排序求最大值
    //            for (int i = 0; i < a.length; i++) {
    //                for (int j = 0; j < a.length - i - 1; j++) {
    //                    if (a[j] > a[j + 1]) {
    //                        num = a[j + 1];
    //                        a[j + 1] = a[j];
    //                        a[j] = num;
    //                    }
    //                }
    //            }
    //        }
    //        int len=a.length-1;
    //        max=a[len];
            int max=a[0];
            for (int i = 0; i <a.length ; i++) {
                if(max<a[i]){
                    max=a[i];
                }
            }
            return max;
        }
    }
    View Code

    public class FuncDemo1 {
        public static void main(String[] args) {
            // 目标 理解方法的内存运行机制
            /*
            先将main方法推入到栈方法中执行,之后将方法去的study方法在推入到栈内存中
            在将方法去内的eat 方法推入到 栈内存中  执行玩eat方法 将 eat 方法冲栈内存中 推出去
            在将方法去内的sleep方法 推如到栈内存中 ,在执行sleep方法,执行完后 在将sleep方法 推出栈内存
            执行完后 在将study方法推出 栈内存
            执行完后 在将main方法推出 栈内存
            程序执行完毕
             */
            study();
        }
        public static void study(){
            eat();
            System.out.println("开始学习");
            sleep();
        }
    
        public static void sleep(){
            System.out.println("开始睡觉");
        }
    
        public static void eat(){
            System.out.println("开始吃饭");
        }
    }
    View Code

     Java方法的基本类型的参数传递机制

     

    public class FuncDemo2 {
        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
        }
    }
    View Code

    Java 方法的引用类型的值传递

    public class FuncDemo3 {
        public static void main(String[] args) {
            //Java 方法的引用类型的参数传递
            int [] arr={1,2,34,45,6};
            changeArray(arr);//2
            System.out.println(arr[1]);//333
        }
    
        public static void changeArray(int [] a){
            System.out.println(a[1]);//2
            a[1]=333;
            System.out.println(a[1]);//333
        }
    }
    View Code

    方法实现的几个小需求 

    public class FuncDemo3 {
        public static void main(String[] args) {
            //Java 方法的引用类型的参数传递
            int[] arr = {1, 2, 34, 45, 6};
            int[] arr1={1,2,4,5};
            changeArray(arr);//2
            System.out.println(arr[1]);//333
            dealArray(arr);
    
            System.out.println(findIndex(arr, 3));
            System.out.println(findIndex(arr, 1));
    
            System.out.println("----------------");
            System.out.println(compare(arr, arr));
            System.out.println(compare(arr, arr1));
        }
    
        public static void changeArray(int[] a) {
            System.out.println(a[1]);//2
            a[1] = 333;
            System.out.println(a[1]);//333
        }
    
        //需求 答应出数组类型 [1,2,4,56,6] 这种类型 print 打印 不换行
        public static void dealArray(int[] args) {
            System.out.print("[");
            if (args.length > 0 && args != null) {
                for (int i = 0; i < args.length; i++) {
                    if (i == args.length - 1) {
                        System.out.print(args[i]);
                    } else {
                        System.out.print(args[i] + ",");
                    }
                }
            }
            System.out.println("]");
        }
    
    
        //需求 查找数组中指定元素值的位置  找到返回指定索引 没找到返回-1
        public static int findIndex(int[] arr,int a){
            int index=-1;
            boolean result=false;
            for (int i = 0; i < arr.length; i++) {
                if(a==arr[i]){
                    index=i;
                    result=true;
                    break;
                }
            }
          return  index=result?index:-1;
        }
    
        //3 需求 比较两个整型数组的内容是否一样
        public static boolean  compare(int [] a, int [] b){
            if(a.length==b.length){
                for (int i = 0; i < a.length; i++) {
                    for (int j = 0; j < b.length; j++) {
                        if(a[i]!=b[i]){
                            return false;
                        }
                    }
                }
                return true;
            }else{
                return false;
            }
        }
    }
    View Code

    方法重载

    public class FuncDemo5 {
        public static void main(String[] args) {
            //目标:识别方法重载的形式,并理解其调用刘晨给,最后需要知道使用方法重载的好处
            fire();//开火
            fire("黑洞");//向黑洞发送
            fire("黑洞",5);//向黑洞发送5枚
        }
    
        public static void fire(){
            System.out.println("开火");
        }
    
        public static void fire(String location){
            System.out.println("向"+location+"发送");
        }
    
        public static void fire(String location,int num){
            System.out.println("向"+location+"发送"+num+"枚");
    
        }
    }
    View Code

     return 关键字

     

  • 相关阅读:
    DHCP协议详解(硬件方面原理)
    ASP.NET安全认证
    JAVA打包成.jar可运行项目
    JAVA菜单事件
    JAVA事件概述
    JAVA对话框事件
    各种事件汇聚
    把原来可空的列变成主键
    搜索模式中的所有表
    JAVA选项事件
  • 原文地址:https://www.cnblogs.com/lvlisn/p/16397721.html
Copyright © 2020-2023  润新知