首页 > 其他分享 >方法&Arrays_API总结

方法&Arrays_API总结

时间:2023-12-28 20:45:31浏览次数:33  
标签:总结 Arrays int API arrs 数组 参数 方法

总结

方法

  • 方法的组成:修饰符 + 返回值类型 + 方法名 + 形参列表 + 方法体
    方法签名:方法名 + 形参列表

  • 调用方法:方法有static修饰,调用是:类名.方法名();

  • 调用方法使用参数是实际参数(必须是具体的数据)

  • 在java里面用static修饰的方法叫做:类方法或者静态方法

形参和实参

声明方法使用参数是形参
调用方法使用参数是实参

1、传递参数(传参)
调用方法的时候传入参数(实参)
值传递:参数是基本数据类型,传参就是值传递
地址传递:参数是引用类型,就是是地址传递

2、方法重载(overload)
1)、为什么要使用方法重载
在java方法做同一类型事,方法的名字会有很多,不方便记忆,既然是同一类型业务,那么方法 名字用同一个名,这样降低方法名的记忆成本

2)、什么是方法重载
前提:在同一类里面
方法名相同,形参列表不同的方法就是重载方法
影响形参列表不同因素:
1、参数的数据类型不同
2、参数的个数不同
3、参数的顺序不同(指的是参数数据类型的顺序)

重载方法的调用:根据传入实参去匹配,匹配上哪个就调用那个

注意:在同一个类里面相同的方法签名只能出现一次

可变参数

1、解决参数个数不确定的情况,将参数设置数组
但是调用这个方法的时候需要字节创建一个数组(很麻烦)
想要将创建数组这个工作交给JVM,使用可变参数来解决

2、语法:数据类型 ... 参数名,用在形参的位置,这就是可变参数

3、可变参数的注意事项

  • 一个方法中最多只能有一个可变参数

  • 可变参数要放在参数列表的最后

  • int ... arr,在调用方法的时候,参数个数可以任意(至少1个)

  • JVM会将你传入这个参数放到一个,jvm创建的数组中,数组名就是你指定可变参数的名字

  • 在方法体里面使用可变参数(就是一个数组而已)

值传递和地址传递的区别

1、值传递:是相互不干扰的两个变量,在方法中怎样改变,原来那个变量的值不变

2、地址传递:是操作同一个数据,在方法中改变值,原来的值也会改

讲解Arrays这个类来使用api

Arrays是操作数组的一个类
有很多操作数组的方法
如果一个方法中所有的方法都是用static修饰,这个类就是工具类
类方法(静态方法的调用):类名.方法名();

public class ApiDemo {
    public static void main(String[] args) {
        // 1、toString(int[] a) 将数组中所有的元素拼接成一个字符串。
        int[] arrs = {1, 30, 5, 17, 9, 12, 56, 100, 2};
        String s = Arrays.toString(arrs); // 快速查看数组中元素
//        System.out.println(s);

        // 2、fill(int[] a, int val) 将指定的int值分配给指定的int数组的每个元素。
//        Arrays.fill(arrs, 100);
//        System.out.println(Arrays.toString(arrs));

        // 3、copyOf(int[] original, int newLength) 扩容或缩容数组的
        // 扩容:将数组的长度变大,扩大后的值都是默认值
//        arrs = Arrays.copyOf(arrs,10); // 将arrs数组的长度扩容到10
//        String s = Arrays.toString(arrs); // 快速查看数组中元素
//        System.out.println(s);

        // 缩容:将数组的长度变小
//        arrs = Arrays.copyOf(arrs, 3); // 将 arrs的长度缩容的3
//        String s = Arrays.toString(arrs); // 快速查看数组中元素
//        System.out.println(s);

        // 4、copyOfRange(int[] original, int from, int to) 将指定数组的指定范围复制到新数组中。
//        int[] nums = Arrays.copyOfRange(arrs, 0, 3);// 将数组arrs,从下标为0开始,到下标为3(不含)
//        System.out.println(Arrays.toString(nums));

        // 5、sort(int[] a) 按照数字顺序排列指定的数组。 排所有的元素,只能升序
//        Arrays.sort(arrs);
//        System.out.println(Arrays.toString(arrs));

        // sort(int[] a, int fromIndex, int toIndex) 按升序排列数组的指定范围。
//        Arrays.sort(arrs,1,6);
//        System.out.println(Arrays.toString(arrs));

        // 6、binarySearch(int[] a, int key) 使用二分查找的方式来查询key在a数组第一次出现位置

        // 查找一个元素在数组第一次出现位置
        // 1)、顺序查找:遍历数组,一个一个比较
        // 2)、二分查找:前提:数组的元素必须要进行升序排序

        int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10};
        // 顺序查找:9,需要比较9次
        // 二分查找:找数组下标为:nums.length / 2元素
        // 第一次:用9和6比较,如果9大于6,在后半找
        // 第二次:9和8比较

//        int index = Arrays.binarySearch(nums, 9);// 在nums数组查找元素9第一次出现的位置
//        System.out.println(index);

        // binarySearch(int[] a, int fromIndex, int toIndex, int key) 使用二叉搜索算法搜索指定值的指定数组的范围。
        int index = Arrays.binarySearch(nums, 6, 10, 9);
        System.out.println(index);

//        1. 现有数组int[] arr = {1, 2, 3, 4, 5};
//            1.1 请将数组arr扩容到8个长度得到新数组,打印输出

//            1.2 请将数组arr缩容到2个长度得到新数组,打印输出
//
//        2. 将int数组arr中全部的元素批量初始化为666。考察api中的方法
//
//
//        3. 将int[] arr = {1, 2, 3, 4, 5, 6, 7}; 从下标1~4之间的所有元素复制到新数组
//        并且打印输出,注意包含下标4。考察api中的方法
    }
}

标签:总结,Arrays,int,API,arrs,数组,参数,方法
From: https://www.cnblogs.com/JunYuanStudy/p/17933525.html

相关文章

  • 数组遍历&方法总结
    总结数组遍历for+index【普通for循环】下标都是从0开始,到length-1结束。因此我们通过循环可以得到下标,而得到下标后,进而可以通过下标获取对应元素:数组遍历【将所有元素取出来就是遍历】//先打印数组arr所有下标for(inti=0;i<arr.length;i++){//i表示下标,循......
  • 重写方法总结
    总结方法覆写(重写/Override)方法覆写作用保证业务逻辑合理性方法覆写语法直接将父类中要重写的方法复制到子类后,重写方法体即可方法覆写注意事项并不是每一个继承过来的方法都要重写。并不是每一个子类都要重写父类继承过来的方法。super关键字在子类中的某一......
  • 包&封装&继承总结
    总结包package概念概念:简单的理解包就是一个文件夹。包作用①方便管理项目中的类等文件。②可以避免类名冲突的问题。使用包定义包包命名规范:一般是公司域名反写.项目名.模块名字.子模块名;要求:包名是全英文小写。packagecn.itsource.packagedemo;//声明包导入包......
  • 2023-2024-1 20231329 《计算机基础与程序设计》第14周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里2022-2023-1计算机基础与程序设计第14周作业(https://www.cnblogs.com/rocedu/p/9577842.html)这个作业的目标《C语言程......
  • 2023-2024 20231313《计算机基础与程序设计》第十四周学习总结
    2023-202420231313《计算机基础与程序设计》第十四周学习总结作业速达作业课程班级链接作业要求计算机基础与程序设计第十四周学习总结作业内容《C语言程序设计》第13章并完成云班课测试作业正文我的作业目录教材总结总结学习过程中的问题《C语言程......
  • 四川大学网络空间安全学院暑期实训总结
    实习目的、要求:本次实训以网络与信息安全实用化人才培养体系为指导,以学生在校实际学习课程为理论基础,主要通过对各个网络安全漏洞原理的实际训练,使学生掌握基于云计算、WEB服务等方面的漏洞原理和利用方法。培养学生实际动手操作能力以及理论转化运用能力,除了基础理论......
  • API调试神器!
    1.背景作为互联网工作者,不论是前端、后端还是测试,接口管理都是一个重要的任务。通常情况下,我们需要依赖以下解决方案来完成整个接口管理过程:使用Swagger管理API文档使用Postman调试API使用RAP或其他MockAPI工具使用JMeter进行API自动化测试可以看出,每个步骤都需要......
  • Apipost-Helper使用流程
    Apipost-Helper是由Apipost推出的IDEA插件,写完接口可以进行快速调试,且支持搜索接口、根据method跳转接口,还支持生成标准的API文档,注意:这些操作都可以在代码编辑器内独立完成,非常好用!这里给大家介绍一下Apipost-Helper的安装和使用安装在IDEA编辑器插件中心输入Apipost搜索安装:Api......
  • API调试神器!
    1.背景作为互联网工作者,不论是前端、后端还是测试,接口管理都是一个重要的任务。通常情况下,我们需要依赖以下解决方案来完成整个接口管理过程:使用Swagger管理API文档使用Postman调试API使用RAP或其他MockAPI工具使用JMeter进行API自动化测试可以看出,每个步骤......
  • API调试神器!Apipost
    1.背景作为互联网工作者,不论是前端、后端还是测试,接口管理都是一个重要的任务。通常情况下,我们需要依赖以下解决方案来完成整个接口管理过程:使用Swagger管理API文档使用Postman调试API使用RAP或其他MockAPI工具使用JMeter进行API自动化测试可以看出,每个步骤......