大数据基础之java方法

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据基础之java方法

方法简介

  1. 什么是方法

    • 在java用来存放一小段代码或指定功能的工具,在调用该方法后可以实现内部存储的功能.
  2. 方法的定义

    /*
    java中的方法:
        就类似于python中的方法,就是在类的内部,封装一小段代码实现固定功能的代码块,想要执行此功能时直接调用方法即可
    
        方法的定义:
         public static void main(String[] args) {
    
        }
    
        修饰符 返回值类型 方法名 (参数类型 参数名称1, 参数类型 参数名称2.....) {
            方法体: 要实现的功能代码.
            return 返回值;
        }
        修饰符: 对于方法的权限,特性,调用方式等进行修饰 public 公共权限, static 静态方法
        返回值类型: 标注我们要返回值数据的类型,如果返回值类型不匹配则报错  void 代表无返回值
        参数:
            参数类型 接收参数时只能接收固定类型的参数 参数名称  局部名称,出了方法就消失了
            在定义位置的淡出叫做形参
            在调用位置的参数叫做实参
        方法体:实现功能的代码可以是一行,也可以是多行,但是务必注意,一个方法实现的功能尽量单一
        return: 结束方法的执行,同时返回返回值,返回值类型要与方法定义时,标注的类型相同
    
        方法的种类: 无参无返回值 无参有返回值 有参无返回值  有参有返回值
     */
    public class Demo01 {
        public static void main(String[] args) {
            //方法的调用 使用方法名称( 传参) 即可
            func1();
            func2("正国");
            System.out.println(func3());
            System.out.println(func4(5,4));
    
        }
    
        /**
         * 无参无返回值方法
         */
        public static void func1(){
            System.out.println("hello itcast!!!");
        }
    
        /**
         * 有参无返回值
         */
        public static void func2(String name){
            System.out.println("和" +name+"真开心呀!!");
        }
    
        /**
         * 无参有返回值
         */
        public static String func3(){
            return "我想去回家看电影,千万不要把我落下!";
        }
        /**
         * 有参有返回值
         */
        public static int func4(int a, int b){
            return a + b;
        }
    }
  3. 方法的注意事项
  4. 方法的使用

    public static void main(String[] args) {
        int[] arr1 = {11, 22, 99, 44, 55};
        printArray(arr1);
    
        System.out.println(getMax(arr1));
    
        int[] arr2 = compute(3,4);
        printArray(arr2);
    }
    
    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    
    public static int getMax(int[] arr){
        int maxNum = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i] >maxNum){
                maxNum = arr[i];
            }
        }
        return maxNum;
    }
    
    public static int[] compute(int a, int b){
        // 1.创建一个长度为4的空数组
        int[] arr = new int[4];
        // 2. 计算加减乘除的结果,赋值给数组中的0-3号下标的元素
        arr[0] = a + b;
        arr[1] = a - b;
        arr[2] = a * b;
        arr[3] = a / b;
        // 3.将数组返回
        return arr;
    }
  5. 方法重载

    /*
    方法重载:
        1. 方法名称相同 但是方法的参数列表不同
            参数列表不同:  double a, double b
                数据类型不同  int a, int b
                参数数量不同  int a, int b , int c
                参数顺序不同  int b   int a
        2.和修饰符无关
        3.和返回值类型无关
        4.和参数名无关
    需求:
    1. 定义方法compare(), 用来比较两个整型数据是否相等.
    2. 要求兼容所有的整数类型, 即(byte, short, int, long)
    
     */
    public class Demo03 {
        public static void main(String[] args) {
            //定义不同数据类型的变量
            byte a = 10;
            byte b = 20;
            short c = 10;
            short d = 20;
            int e = 10;
            int f = 10;
            long g = 10;
            long h = 20;
    
            System.out.println(compare(a, b));
            System.out.println(compare(c, d));
            System.out.println(compare(e, f));
            System.out.println(compare(g, h));
            
            // 方法重载我们一直在用  println
            
        }
    
        public static boolean compare(byte a, byte b) {
            return a == b;
        }
        /**
         * 可以使用方法重载,给同一个方法名添加不同的参数列表,使方法的兼容性增加
         * 使用重载方法时,调用位置会根据传参数量,传参类型不同自动选择合适的方法进行使用
         */
        public static boolean compare(short a, short b) {
            return a == b;
        }
        public static boolean compare(int a, int b) {
            return a == b;
        }
        public static boolean compare(long a, long b) {
            return a == b;
        }
    
    }

    public static void open(){}
    public static void open(int a){}
    static void open(int a,int b){}
    public static void open(double a,int b){}
    public static void open(int a,double b){}
    public void open(int i,double d){}
    public static void OPEN(){}
    public static void open(int i,int j){}

  6. 参数传递问题

    /*
        方法传参:
        引用数据类型(String, int[], float[]..): 在传参时传递的是地址,叫做引用传递
        引用类型数据,将数据传递到方法内部,修改内部数据后,外部数据受影响
        基础数据类型(int float boolean..): 在传参的时候传递的是值, 叫做值传递
        基础类型数据,将数据传递到方法内部,修改数据后,外部数据不受影响
     */
    public class Demo04 {
        public static void main(String[] args) {
            //创建一个引用类型数据
            int[] arr1 = {11,22,33,44,55};
            //将int[] 类型数据传入到方法中
            func1(arr1);
            System.out.println(Arrays.toString(arr1));  // [199, 22, 33, 44, 55]
    
            int num = 5;
            func2(num);
            System.out.println(num); // 5
    
        }
        public static void func1(int[] arr){
            arr[0] = 199;
        }
    
        public static void func2(int a){
            a = 10;
        }
    }
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
2月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
84 9
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
47 4
|
2月前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
69 4
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
29 1
|
2月前
|
存储 机器学习/深度学习 大数据
量子计算与大数据:处理海量信息的新方法
量子计算作为革命性的计算范式,凭借量子比特和量子门的独特优势,展现出在大数据处理中的巨大潜力。本文探讨了量子计算的基本原理、在大数据处理中的应用及面临的挑战与前景,展望了其在金融、医疗和物流等领域的广泛应用。
|
3月前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
66 17
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
142 4
|
2月前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
356 2
|
2月前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置

热门文章

最新文章

下一篇
开通oss服务