zoukankan      html  css  js  c++  java
  • JAVA基础 方法

    一、方法是什么

      方法是一种语法结构,它可以把一段代码封装成一个功能, 以方便调用

    二、实例

    package com.hello.method;
    
    public class Method {
    
        public static void main(String[] args) {
            /*
            一、方法的定义
            修饰符  返回值类型  方法名(形参列表){
            方法体代码;
            return 返回值;
            }
           二、方法的注意事项
            1、如果方法不需要返回结果,则申明返回值类型为void(无返回值);方法不需要参数,则形参列表可以不写
            2、方法没有申明返回值类型,内部不能使用return返回数据
           三、方法的常见问题
           1、方法的编写顺序无所谓
           2、方法与方法之间是平级关系,不能嵌套定义——即public里面不能有public方法
           3、方法的返回值类型为void,方法内则不能使用return返回数据。
           public static void main(String[] args) {
           //像这种返回值类型为void的,里面就不能写return
           ]
           如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应值。
           public static int sum(int a,int b){
            //像这种返回值写了具体类型,比如int,方法体里必须要有return
                return 返回值;
                System.out.print("hello");//return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
             }
           4、有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用 ,甚至直接调用。
           无返回值方法的调用只能直接调用一下。
           5、方法不调用就不执行,调用时必须严格匹配方法的参数情况
           四、方法重载的识别技巧
           1、只要是同一个类中,方法名称相同、形参列表不同,那么他们就是重载的方法,其他都不管!
           2、形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称
             */
            int Dsum = sum(3,6);//定义变量接收结果
            System.out.println("定义变量接收结果:"+Dsum);
            System.out.println(sum(1, 3));//直接输出调用
            sum(4,5);//直接调用
    
            print();//无返回值方法的调用只能直接调用
    
            int Esum=sumn(100);//调用sumn方法,计算1-100的和
            System.out.println("1-100的和为:"+Esum);
    
            check(100);//调用check方法,判断奇偶数
    
            int [] ages = {14,16,17,20};
            int max = getArrayMaxData(ages);//调用最大值方法
            System.out.println("最大值是:"+max);
    
            //这里要注意方法参数传递机制(基本类型的参数传递),最终输出结果为10、20、10
            int a = 10;//定义变量a
            //1、调用change方法,将a存储的值10传递给方法中的形参变量a,输出打印结果为10
            //2、方法内部定义变量a=20,继续打印结果为20
            change(a);
            //3、此时方法已执行完,并跳出方法,执行方法外的打印,所以这里的a就当是10,故最后打印结果为10
            System.out.println(a);
    
            //引用类型的参数传递,最终输出结果为20、222、222
            int[] arr = {10,20,30};
            //1、调用changearr方法,将arr存储的地址值传递给方法中的变量arr,输出打印结果为20
            //2、方法内部定义变量arr[1]=222,继续打印结果为222,此时要注意,因为引用类型的参数存储的是地址,所以这里在方法内部
            //定义
            changearr(arr);
            //1、调用
            System.out.println(arr[1]);//222
    
            //调用比较数组的方法
            int[] arr1 = {10,120,30};
            int[] arr2 = {10,20,30};
            System.out.println(compare(arr1,arr2));
    
        }
        //有返回值类型的方法
        public static int sum(int a,int b){
            int count;
            count = a+b;
            return count;
        }
        //无返回值类型的方法
        public static void print(){
            System.out.println("helloword");
        }
        //需求1:定义一个方法,方法中计算出1-n的和并返回
        //定义方法重点关注:1、方法是否需要申明返回值类型;2、方法是否需要定义形参列表
        public static int sumn(int n){
            int sum=0;//声明一个变量接收计算出来的和,初始值为0
            for (int i = 1; i < n; i++) {
                sum +=i;
            };
            return sum;
        }
        //判断整数是奇数还是偶数
        //需求2:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该整数为奇数还是偶数
        public static void check(int number){
            if(number%2 == 0){
                System.out.println(number+"是偶数");
            }
            else {
                System.out.println(number+"是奇数");
            }
        }
        //数组求最值改方法实现
        //需求3:把找出数组的最大值案例,改造成方法,可以支持返回任意整形数组的最大值数据
        public static int getArrayMaxData(int [] arr){
            int max=arr[0];
            for (int i = 0; i < arr.length; i++) {
                if(arr[i]>max){
                    max=arr[i];
                }
            }
            return max;
        }
        //基本类型的参数值传递:传输的是存储的数据值
        public static void change(int a){
            System.out.println(a);//10
            a = 20;
            System.out.println(a);//20
        }
        //引用类型的参数值传递:传输的是存储的地址值
        public static void changearr(int[] arr){
            System.out.println(arr[1]);//20
            arr[1] = 222;
            System.out.println(arr[1]);//222
        }
        //需求4:比较2个数组是否一样,如果两个数组的类型,元素个数,元素顺序和内容是一样的我们就认为这2个数组是一模一样的。
        //请使用方法完成,能够判断任意两个整形数组是否一样,并返回true或false
        /*
        1、定义一个方法: 参数:接收2个整型数组, 返回值类型:布尔类型
        * */
        public static boolean compare(int[] arr1,int[]arr2){
            //2、判断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;
            }
        }
    }
  • 相关阅读:
    如何配置透明发光的骚气 vscode —— Jinkey 原创
    JS引用类型总结
    element UI -- 默认样式修改不成功原因
    上传本地Vue项目到github
    网页加载速度优化方法总结
    移动端click时间、touch事件、tap事件详解
    移动端开发用touch事件还是click事件
    禁止网站调用favicon.ico请求
    HTTP里面的响应和请求
    jave script 中this的指向 (六种场景)
  • 原文地址:https://www.cnblogs.com/Chilam007/p/15616762.html
Copyright © 2011-2022 走看看