• 【BigData】Java基础_方法的定义与使用


    1.概念

    Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可

    2.实战演练

    2.1 测试传入参数与返回值方法

    目录结构

    代码

    package cn.test.logan.day04;
    
    import java.util.ArrayList;
    
    public class MethodDemo {
        public int num1;
        public int num2;
        
        // 方法:用来封装一段逻辑
        // 定义方法的语法:public 返回值类型  方法名() { //逻辑 }
        public int getSum() {
            int sum = num1 + num2;
            return sum;
        }
        
        // 没有返回值的方法,使用void表示
        public void say() {
            System.out.println("此时是没有返回值的方法,哈哈");
        }
        
        // 带参数但没有返回值的方法  ,同名方法,但是参数列表不一样,叫方法的重载
        public void say(String param) {
            System.out.println("我的输入参数是:"+param);
        }
        
        // 带多个参数并且没有返回值的方法
        public void say(String param1,String param2) {
            System.out.println("输入的第一个参数是:"+param1);
            System.out.println("输入的第二一个参数是:"+param2);
        }
        
        // 带参数并且有返回值的方法
        public int getDiff(int a,int b) {
            int diff = a - b;
            return diff;
        }
        
        // 用来对ArrayList排序
        public static void sortForArrayList(ArrayList<Integer> list) {
             for(int i=0;i<list.size()-1;i++) {
                 for(int j=0;j<list.size()-1-i;j++) {
                     if(list.get(j) > list.get(j+1)) {
                         int tmp = list.get(j);
                         list.set(j, list.get(j+1));
                         list.set(j+1, tmp);
                     }
                 }
             }
        }
        // 打印ArrayList
        public void print(ArrayList<Integer> list) {
            for(int i=0;i<list.size();i++) {
                System.out.println(list.get(i));
            }
        }
    }
    MethodDemo.java
    package cn.test.logan.day04;
    
    import java.util.ArrayList;
    
    public class MethodTest {
        public static void main(String[] args) {
            MethodDemo md = new MethodDemo();
            md.num1 = 12;
            md.num2 = 13;
            
            int sum = md.getSum();    
            System.out.println("两个数字的和为:"+sum);
            
            System.out.println("----------------------------");
            // 调用没有返回值的方法
            md.say();
            System.out.println("----------------------------");
            // 调用带参数, 没有返回值的方法
            md.say("参数1");
            System.out.println("----------------------------");
            // 调用带多个参数, 没有返回值的方法
            md.say("参数A","参数B");
            System.out.println("----------------------------");
            // 调用带参数,有返回值的方法
            int diff = md.getDiff(20, 10);
            System.out.println(diff);
            System.out.println("----------------------------");
            
            // 定义一个ArrayList,并按从小到达顺序排序后打印
            ArrayList<Integer> al = new ArrayList<>();
            al.add(20);
            al.add(10);
            al.add(40);
            al.add(15);
            
            md.sortForArrayList(al);
            md.print(al);
        }
    
    }
    MethodTest.java

    2.2 测试成员方法和静态方法

    成员方法,又称为对象的方法,和对象存在关系,需要使用对象调用。

    静态方法,又称为类的方法,和对象不存在关系,可以直接使用类调用。

    代码

    public class MethodDemo2 {
        public String name;
        
        // 定义一个类的方法(静态方法)
        /**
         * 这样的方法,跟具体对象没关系
         * 这样的方法,就可以了定义为类方法-->类的方法
         * 静态方法可以直接使用类调用
         */
        public static void print() {
            System.out.println("hello");
        }
        
        // 定义一个(对象的方法)成员方法
        public void showName() {
            System.out.println("hello,"+this.name);
        }
    }
    MethodDemo2.java
    package cn.test.logan.day04;
    
    public class MethodTest2 {
        public static void main(String[] args) {
            // 静态方法调用
            MethodDemo2.print();
            // 成员方法调用
            System.out.println("---------------------------");
            MethodDemo2 m2 = new MethodDemo2();
            m2.name="Jack";
            m2.showName();
        }
    }
    MethodTest2.java
  • 相关阅读:
    HDU.2899.Strange fuction(牛顿迭代)
    BZOJ.3771.Triple(母函数 FFT 容斥)
    树的实现(2)
    树的练习
    死锁问题
    进程的三种状态
    线程的同步与实现
    进程间通信详解
    进程和线程以及它们的区别
    https协议
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12064430.html
Copyright © 2020-2023  润新知