zoukankan      html  css  js  c++  java
  • Java 方法相关知识点

    方法

    1.方法概述

    1.1什么是方法

    • 方法是讲具有独立功能的代码块组织称一个整体,使之成为具有特殊功能的代码集

    注意:

    • 方法必须先创建后使用,该过程称为方法定义
    • 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
    package com.itheima_01;
    
    public class MethodDemo {
        public static void main(String[] args) {
        //调用方法
            isEvenNumber();
    
        }
    
        //需求:定义一个方法,在方法中定义一个变量,判断该数据是否是偶数
        public static void isEvenNumber(){
            //定义变量
            int num = 10;
    
            //判断该数是否是偶数
            if(num % 2 == 0){
                System.out.println("是偶数");
            }else {
                System.out.println("是奇数");
            }
        }
    }
    

    小案例(带参数):

    package com.itheima_01;
    /*
    * 需求:
    *       设计一个方法用于打印两个数字中的较大值,数据来源于方法参数
    * 思路:
    *       1.定义一个方法,用于打印两个数字中的较大值
    *       2.为方法定义两个参数,用于接收两个数字
    *       3.使用分支语句分两种情况对两个数字的大小关系进行处理
    *       4.在main()方法中调用定义好的方法(使用常量)
    *       5.在main()方法中调用定义好的方法(使用变量)
    *
    * */
    public class MethodDemo02 {
        public static void main(String[] args) {
            //使用常量
            getMax(10,20);
            //使用变量
            int a = 99;
            int b = 55;
            getMax(a,b);
        }
        //定义一个方法,用于打印两个数字中的较大值
        public static void getMax(int a,int b){
            //使用分支语句分两种情况对两个数字的大小关系进行处理
            if (a > b){
                System.out.println(a);
            }else {
                System.out.println(b);
            }
        }
    
    }
    

    1.2方法的通用格式

    格式:

    public static 返回值类型 方法名(参数){

    ​ 方法体;

    ​ return 数据;

    }

    定义方法时,要做到两个明确

    • 明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void,如果有,写对应的数据类型
    • 明确参数:主要是明确参数的类型和数量

    调用方法时

    void类型的方法,直接调用即可

    非void类型的方法,推荐使用变量接受调用

    2.方法重载

    2.1方法重载概述

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

    • 多个方法在同一个类中
    • 多个方法具有相同的方法名
    • 多个方法的参数不相同,类型不同或者数量不同

    2.2方法重载特点

    • 重载仅仅对应方法的定义,和方法的调用无关,调用方式参照标准格式
    • 重载仅仅针对同一个类中方法的名称与参数进行识别,和返回值无关,换句话说就是不能通过返回值来确定两个方法是否相互构成重载。在方法调用的时候,JVM会通过参数的不同来区分同名的方法。
    //函数重载和返回值无关,下列两个函数没有重载关系
    public static void f(int a){
        //方法体
    }
    public static int f(int a ){
        //方法体
    }
    

    案例:

    package com.itheima_01;
    
    public class MethodDemo03 {
        public static void main(String[] args) {
            //调用方法
            int result1 = sum(11,22);
            System.out.println(result1);
            double result2 = sum(11.1,12.2);
            System.out.println(result2);
            int result3 = sum(11,22,33);
            System.out.println(result3);
        }
        //需求1:求两个int类型数据和的方法
        public static int sum(int a,int b){
            return a + b;
        }
        //需求2:求两个double类型数据和的方法
        public static double sum(double a,double b){
            return a + b;
        }
        //需求3:求三个int类型数据和的方法
        public static int sum(int a,int b,int c){
            return a + b +c;
        }
    
    
    
    }
    

    3.方法的参数传递

    3.1 基本类型的参数传递

    对于基本数据类型的参数,形式参数的改变,不影响实际参数的值

    package com.itheima_01;
    
    public class MethodDemo04 {
        public static void main(String[] args) {
            int number = 100;
            System.out.println("改变前:"+ number);
            change(number);
            System.out.println("改变后:"+ number);
        }
        public static void change(int number){
            number = 200;
        }
    }
    //改变前:100
    //改变后:100
    

    3.2引用类型的参数传递

    对于引用类型的参数,形式参数的改变会影响实际参数的值。

    package com.itheima_01;
    
    public class MethodDemo05 {
        public static void main(String[] args) {
            int[] arr = {10,20,30};
            System.out.println("调用change方法前arr[1]:"+arr[1]);
            change(arr);
            System.out.println("调用change方法后arr[1]:"+arr[1]);
        }
        public static void change(int[] arr){
            arr[1] = 200;
        }
    }
    //调用change方法前arr[1]:20
    //调用change方法后arr[1]:200
    

    数组遍历小案例

    package com.itheima_01;
    
    public class MethodDemo06 {
        public static void main(String[] args) {
            int[] arr = {11,22,33,44,55};
            //调用遍历方法
            printArray(arr);
        }
        //定义数组通用遍历方式
        public static void printArray(int[] arr){
            System.out.print("[");
            for (int x = 0;x < arr.length;x++){
                if (x == arr.length - 1){   //判断是否是最后一个元素来确定加不加逗号
                    System.out.print(arr[x]);
                }else {
                    System.out.print(arr[x]+",");
                }
            }
            System.out.println("]");
        }
    }
    
  • 相关阅读:
    H5中获取图片中的主色调
    vue provide/inject响应式
    微信小程序入坑之路
    H5入坑之路
    uni-app状态栏相关问题
    uni-app使用iconfont相关
    uni-app入坑之路
    uni-app自定义导航栏(搜索框和按钮)
    浅析浏览器的渲染过程
    SAP ABAP MB51新增栏位字段
  • 原文地址:https://www.cnblogs.com/icyhblog/p/14083907.html
Copyright © 2011-2022 走看看