目标IT男的第七天

这篇博客详细介绍了Java中的数组操作,包括复制和排序,并深入探讨了方法的定义、调用、返回值以及参数的使用。示例代码展示了如何实现数组的复制、排序,以及方法的定义和调用,包括无参无返回值、有参无返回值、有参有返回值等方法的实践。此外,还涵盖了`return`关键字的作用以及方法在代码复用和维护中的重要性。
摘要由CSDN通过智能技术生成

        今天学习了数组的后半部分和方法前面的一部分。

一、数组

        复制:

                1.int[] a={1,23,54,12,45};

                   int[] b=new int[];

                   //a:源数组

                   //0:源数组的起始位置

                   //b:目标数组

                   //1:目标数组的起始位置

                   //3:要复制的元素数

                   System.arraycopy(a,0,b,1,3);

                2.1)import java.util.Arrays;

                   2)int[] a={1,545,3212,456,12};

                      //a:源数组

                     //b:目标数组

                     //6:目标数组的长度

                     //---当目标数组的长度>源数组长度时,目标数组后面的元素补默认值

                     //---当目标数组的长度<源数组长度时,源数组后面多余的元素截掉

                      int[] b=Arrays.copyOf(a,6);

                     a=Array.copyOf(a,6);     ---------数组的扩容(创建一个更大的数据组把元素复制进去)

        排序:是对数组施加的最常见的算法

                Arrays.sort(arr);       //升序排序

二、方法/函数/过程(vb)

        封装一段特定的业务逻辑功能

        方法要尽可能独立,一个方法只做一件事

        方法可以被反复多次调用

        方法可以减少代码重复,有利于后期的代码维护

        何时用:只要是一个独立的业务,就建议抽到方法中

三、方法的定义:五要素

        修饰词   返回值类型  方法名(参数列表){

                方法体

        }

四、方法的调用

        无返回值:方法名(有参传参);

        有返回值:数据类型  变量名=方法名(有参传参);

五、return

        return  值;      //1)结束方法的执行     2)返回值给调用方---------此方法用在有返回值的方法中

        return;           //结束方法的执行-----------------此方法用在无返回值的方法中

Java规定:1.有返回值的方法中,必须以return来返回数据

                   2.并且return后的数据必须与返回值类型匹配

六、补充

        形参:定义方法时的参数

        实参:调用方法时的参数

七、今日代码

import java.util.Arrays;
public class Practice1 {
    public static void main(String[] args){
        //3.方法的练习:
        //要求:
        //- 定义say()无参无返回值方法,调用测试
        //- 定义sayHi()有一个参无返回值方法,调用测试
        //- 定义sayHello()有两个参无返回值的方法,调用测试
        //- 定义getNum()无参有返回值方法,演示return的用法,调用测试
        //- 定义plus()两个参有返回值方法,调用测试
        //- 定义testArray()用于生成整型数组填充随机数并返回数组,调用测试
        say();
        sayHi("无所事事的小鱼人");
        sayHello("无所事事的小鱼人",21);
        double d=getNum();
        System.out.println(d);
        int num=plus(5,321);
        System.out.println(num);
        int[] arr=testArray();
        System.out.println(arr.length);
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println(arr[arr.length-1]);



        //2.数组排序的练习
        //要求:声明整型数组并填充数据,排序,输出排序后数据,倒序输出数据
        /*
        int[] arr=new int[10];
        for(int i=0;i<arr.length;i++){
            arr[i]=(int)(Math.random()*100);
            System.out.println(arr[i]);
        }
        Arrays.sort(arr);
        System.out.println("升序");
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println("倒叙");
        for(int i=arr.length-1;i>=0;i--){
            System.out.println(arr[i]);
        }
         */




        //1.MaxOfArray求数组元素最大值并放在最后一个元素的下一个位置
        //要求:声明整型数组并填充随机数据,找到最大值,将数组扩容并将最大值放末尾
        /*
        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];
        for(int i=1;i<arr.length;i++){
            if(arr[i]>max){
                max=arr[i];
            }
        }
        System.out.println("最大值是"+max);
        arr=Arrays.copyOf(arr,arr.length+1);
        arr[arr.length-1]=max;
        for(int i=0;i<arr.length;i++) {
            System.out.println(arr[i]);
        }
         */
    }
    //- 定义testArray()用于生成整型数组填充随机数并返回数组,调用测试
    public static int[] testArray(){
        int[] arr=new int[10];
        for(int i=0;i<arr.length;i++){
            arr[i]=(int)(Math.random()*100);
        }
        return arr;
    }
    //- 定义plus()两个参有返回值方法,调用测试
    public static int plus(int n1,int n2){
        int num=n1+n2;
        return num;
    }
    //- 定义getNum()无参有返回值方法,演示return的用法,调用测试
    public static double getNum(){
        return 8.555;
    }
    //- 定义sayHello()有两个参无返回值的方法,调用测试
    public static void sayHello(String name,int age){
        System.out.println("大家好,我叫"+name+",我今年"+age+"岁了");
    }
    //- 定义sayHi()有一个参无返回值方法,调用测试
    public static void sayHi(String name){
        System.out.println("大家好,我叫"+name+",我今年21岁了");
    }
    //- 定义say()无参无返回值方法,调用测试
    public static void say(){
        System.out.println("大家好,我是无所事事的小鱼人,今年21岁了");
    }
}
public static void main(String[] args){
    //1. 定义一个方法generate()
    //   - 根据第一个参数生成指定长度的int数组;
    //   - 根据第二个范围参数随机生成0到指定范围的随机数,填充到数组元素中,并将该数组返回;
    //   - 测试数组内容。
    int[] arr=generate(10,100);
    for(int i=0;i<arr.length;i++){
        System.out.println(arr[i]);
    }
}
public static int[] generate(int len,int max){
    int[] arr=new int[len];
    for(int i=0;i<arr.length;i++){
        arr[i]=(int)(Math.random()*(max+1));
    }
    return arr;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值