• JAVASE(复习)——方法重载、数组篇


    一、方法重载

    法方重载要注意的是:

    1. public class ccc {
    2. /**
    3. * 方法重载:方法名必须相同,参数列表必须不同,放回的参数类型可以不同
    4. */
    5. public static void aa() { }//可以没有参数
    6. public static int aa(int a){ return a;}//和下面的一个不同就是产生列表
    7. public static int aa(int a,int b){ return a;}
    8. public static double aa(double a,int b){ return a;}//参数列表类型不同也可以
    9. public static double aa(double a,double b){ return a;}
    10. }

    二、数组

    数组下标重0开始,内存连续

    (1)数组的创建方式:

    1. public static void main(String[] args) {
    2. int arr[];
    3. int[] arr1;//首先这个
    4. //静态初始化
    5. int[] array = new int[]{1,2,3,4};
    6. int[] array1 = {1,2,3,4};
    7. //动态初始化:注意先定义好长度再添加元素
    8. //多维数组,new int[行][列]
    9. int[] mArray2[];
    10. int[][] mArray = new int[3][2];
    11. int[][] mArray1 = new int[2][];//行数必须有值
    12. //数组长度是array.length,没有减一
    13. int len = array.length;
    14. }

    二维数组访问注意:

    • 获取二维数组:数组名
    • 获取每一个一维数组:数组名[索引]
    • 获取每一个二维数组元素:数组名[索引] [索引]
    • 二维数组:arr.length计算的是行数。

    (2)数组注意问题

    数组下标是0开始,定义长度是索引减一

    int[] arr = new int[3];//没有下标是arr[3]的元素

    数组的默认值:

    1. public class ccc {
    2. static int[] array = new int[3];
    3. public static void main(String[] args) {
    4. int[] arr = new int[3];
    5. System.out.println(arr[0]);//0
    6. System.out.println(array[0]);//0
    7. }
    8. }

    三、数组的Arrays 类

    • 给数组赋值:通过 fill 方法
    • 对数组排序:通过 sort 方法,按升序
    • 比较数组:通过 equals 方法比较数组中元素值是否相等
    • 查找数组元素:通过 binarySearch 方法对排序好的数组进行二分查找法操作

    public static void fill(int[] a, int val)
    将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

    1. import java.util.Arrays;
    2. public class Test1 {
    3. public static void main(String[] args) {
    4. //Arrays.toString()方法,数组输出
    5. int[] arr = {3,2,9,5};
    6. System.out.println(Arrays.toString(arr));// [3, 2, 9, 5]
    7. //Arrays.sort()方法
    8. /**
    9. * 对字符串进行排序时,是对每一个字符比较,而不是简单的比较长度
    10. * str1 = abd
    11. * str2 = abcdef
    12. * 因为d > c,所以 str1 > str2
    13. */
    14. Arrays.sort(arr);//数组排序,默然是【升序】
    15. System.out.println(Arrays.toString(arr));//[2, 3, 5, 9]
    16. Arrays.sort(arr,0,1);//Arrays.sort(数组名,起始下标,排序个数)
    17. //Arrays.equals()方法
    18. /**
    19. * 注意:Arrays.equals()是比较【数组内容】
    20. * 而a.equals(b) 这样的方法是比较【地址值】
    21. */
    22. int[] ar = {1,3,4};
    23. int[] ar1 = {1,3,4};
    24. System.out.println(Arrays.equals(ar,ar1));//true
    25. //Arrays.binarySearch(),二分查法(查找元素)
    26. int[] Arr = {1,3,5,7};
    27. Arrays.binarySearch(Arr,5);//返回值大于0就是找到了
    28. }
    29. }

  • 相关阅读:
    逆向USB设备共享:利用内网穿透让远程设备访问本地USB设备
    Java -- 每日一问:谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?
    Java中的内存泄漏问题及其解决方法
    国内首批!阿里云云原生数据湖产品通过信通院评测认证
    机器学习基础
    基于 LowCodeEngine 的调试能力建设与实践
    半导体二极管
    虚幻5框架GamePlay全图
    【RabbitMQ】【Docker】基于docker-compose构建rabbitmq容器
    用Python自动生成 图文并茂的数据分析 报告
  • 原文地址:https://blog.csdn.net/weixin_45754865/article/details/127751236