语言基础第六天:数组(复制arraycopy、扩容复制copyOf/排序)、方法(函数/过程)、方法的定义(5要素)、调用方法(有无返回值)

这篇博客主要介绍了Java中的数组操作,包括数组的创建、复制(使用`arraycopy`、`copyOf`)和排序(使用`Arrays.sort`)。此外,还详细讲解了方法的定义和调用,强调了方法封装业务逻辑的重要性。文中提到了方法的五个要素,并通过实例展示了如何定义和调用有无返回值的方法。
摘要由CSDN通过智能技术生成

在这里插入图片描述

语言基础第六天:

回顾:

  1. 循环结构:

    • for:应用率高、与次数相关
  2. 选择原则:

  3. break:跳出循环

    continue:跳过循环体中剩余语句而进入下一次循环

  4. 嵌套循环:

    ​ 循环中套循环,外层循环走一次,内层循环走所有次

    ​ 越少越好,break只能跳出当前一层循环

  5. 数组:

    ​ 引用类型,相同数据类型元素的集合

    ​ int[ ] arr = new int[3]; //0,0,0

    ​ int[ ] arr = {2,4,6};

    ​ int[ ] arr = new int[ ]{2,4,6};

    ​ System.out.println(arr[0]);

    ​ arr[1] = 100;

    ​ System.out.println(arr[arr.length-1]);

    ​ for(int i=0;i<arr.length;i++){

    ​ arr[i] = (int)(Math.random()*100);

    ​ System.out.println(arr[i]);

    ​ }

笔记:

  1. 数组:

    • 复制:

      • System.arraycopy(a,1,b,0,4);

        //7)数组的复制:
        int[] a = {
                 10,20,30,40,50};
        int[] b = new int[6]; //0,0,0,0,0,0
        //a:源数组
        //1:源数组的起始下标
        //b:目标数组
        //0:目标数组的起始下标
        //4:要复制的元素个数
        System.arraycopy(a,1,b,0,4); //灵活性好
        for(int i=0;i<b.length;i++){
                 
            System.out.println(b[i]);
        }
        
        
      • int[ ] b = Arrays.copyOf(a,6);

        //常规复制
        int[] a = {
                 10,20,30,40,50};
        //a:源数组
        //b:目标数组
        //6:目标数组的长度(元素个数)
        //---若目标数组长度>源数组长度,则末尾补默认值
        //---若目标数组长度<源数组长度,则将末尾的截掉
        int[] b = Arrays.copyOf(a,6); //灵活性差
        for(int i=0;i<b.length;i++){
                 
            System.out.println(b[i]);
        }
        
        //数组的扩容
        int[] a = {
                 10,20,30,40,50};
        //数组扩容(创建了一个更大的新的数组,并将源数组数据复制进去了)
        a = Arrays.copyOf(a,a.length+1);
        for(int i=0;i<a.length;i++){
                 
            System.out.println(a[i]);
        }
        
      • 综合案例:

        package day06;
        import java.util.Arrays;
        //求数组元素的最大值,并将最大值放在数组最后一个元素的下一个位置
        public class MaxOfArray {
                 
            public static void main(String[] args) {
                 
                int[] arr = new int[10];
                for(int i=0;i<arr.length;i++){
                 
                    arr[i] = (int)(Math.random()*100);
                    System.out.println(arr[i]);
                }
        
                int max = arr[0]; //假设第1个元素为最大值
                for(int i=1;i<arr.length;i++){
                  //遍历剩余元素
                    if(arr[i]>max){
                  //若剩余元素大于max
                        max = arr[i]; //则修改max为较大的
                    }
                }
                System.out.println("最大值为:"+max);
        
                arr = Arrays.copyOf(arr,arr.length+1); //扩容
                arr[arr.length-1] = max; //将最大值max赋值给arr中的最后一个元素
                for(int i=0;i<arr.length;i++){
                 
                    System.out.println(arr[i]);
                }
            }
        }
        
    • 排序:

      • Arrays.sort(arr); //升序排列(从小到大)

        //8)数组的排序:
        int[] arr = new int[10];
        for
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值