语言基础4

一、数组

复制

//复制
        int[] a = {10,20,30,40,50};
        int[] b = new int[6];
        System.arraycopy(a,1,b,0,4);
        //a源数组,1源数组起始下标,b目标数组,目标数组起始下标,目标数组复制个数
        for (int i = 0;i<b.length;i++){
            System.out.println(b[i]);
        }
int[] a = {10,20,30,40,50};
int [] b = Arrays.copyOf(a,6);
        //若目标数组的长度>源数组长度,则在末尾补默认值,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]);
        }

 求元素的最大值并将最后一个元素赋值给最后一个元素

public class Demo {
    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];
        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]);
        }
    }
}

 排序->Arrays.sort(arr);

public class Demo2 {
    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]);
        }
        Arrays.sort(arr);//对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.定义:封装一段特定的业务逻辑功能,可以减少代码重复,有利于代码维护

2.五要素:修饰词  返回值类型 方法名(参数列表) {方法体}

public class Demo3 {

    //无参无返回值
    public static void say(){
        System.out.println("1");
    }

    //有参无返回值
    public static void sayHi(String name){ //形参
        System.out.println("1"+name+"2");
    }

    //有参无返回值
    public static void sayHello(String name,int age){ //形参
        System.out.println("1"+name+"1"+age+"1");
    }

    //无参有返回值
    public static double getNum(){
       /*
           java规定:
           1)有返回值的方法中,必须得通过return来返回数据
           2)并且return后数据的类型,必须与返回值类型匹配
       */
        //return "abc"; //编译错误,返回值类型必须匹配
        return 8.88; //1)结束方法的执行  2)返回结果给调用方
    }

    //有参有返回值
    public static int plus(int num1,int num2){
        int num = num1+num2;
        return num; //返回的是num里面的那个数
        //return num1+num2; //返回的是num1与num2的和
    }

    //无参有返回值
    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;
    }


}

方法的调用 

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

public class MethodDemo {
         public static void main(String[] args) {
             say(); //调用say()方法
     
             //sayHi(); //编译错误,有参则必须传参
             //sayHi(250); //编译错误,参数类型必须匹配
             sayHi("zhangsan"); //String name="zhangsan"  //实参
             sayHi("lisi"); //String name="lisi"          //实参
     
             sayHello("zhangsan",25); //实参 String name="zhangsan",int age=25
             sayHello("lisi",24); //实参
         }
     }

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

public class Demo5 {
    public static void main(String[] args) {
        double a = getNum(); //getNum()的值就是return后的那个数
        System.out.println(a); //8.88,模拟对返回值的后续操作

        int b = plus(5,6); //plus(5,6)的值就是return后的那个数
        System.out.println(b); //11,模拟对返回值的后续操作

        int m=5,n=6;
        int c = plus(m,n); //传递的是m和n里面的数
        System.out.println(c); //11,模拟对返回值的后续操作

        int[] d = Demo3.testArray();
        System.out.println("长度为:"+d.length); //10---模拟对返回值的后续操作
        for(int i=0;i<d.length;i++){ //---模拟对返回值的后续操作
            System.out.println(d[i]);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值