java数组学习

Java数组练习

public class ArrayDemo1 {
    public static void main(String[] args) {
        double arr []={1.97,1.75,1.73,8.97};
        System.out.println(arr);//[D@4eec7777 地址值
        //数组的地址值表示数组在内存中的位置
        //D 表示当前数组里面的元素是double类型的
        //[ 表示当前是一个数组
        //@ 表示一个间隔符号
        //4eec7777 才是真正的地址值
        //数组遍历
        //结束条件 数组的长度-1(最大索引)
        for (int i=0;i<5;i++){
          //  i 0 1 2 3 4
            System.out.println(arr[i]);
           }
        }
    }
//自动生成数组的遍历方式
//数组名.fori

求和

public class ArrayDemo2 {
    public static void main(String[] args) {
        //遍历数组并且求数组里面的所有数据和
        int arr1[]={1,2,3,4,5};
        int sum=0;
        //求和变量
        for (int i = 0; i < arr1.length; i++) {
            sum=sum+arr1[i];
        }
        System.out.println(sum);
    }
}

ArrayDemo4

public class ArrayDemo4 {
    public static void main(String[] args) {
        //数据类型【】 数组名=new 数据类型【数组的长度】
        //在创建的时候,由我们自己指定数组的长度,由虚拟机给出默认的初始化值

        String[] arr=new String[50];
        arr[0]="zhangsan";
        arr[1]="lisi";
        System.out.println(arr[0]);//zhangsan
        System.out.println(arr[1]);//lisi
        System.out.println(arr[2]);//null

    }
}
//数组默认初始化的规律
//整数类型 0
//小数类型0.0
//字符类型 ‘/u0000’ 空格
//布尔类型 false
//引用数据类型 null

交换变量

public class ArrayDemo5 {
    public static void main(String[] args) {
        //交换数组中的数据

        int[]arr={1,2,3,4,5};
        //利用循环去交换数据
        for (int i = 0,j=arr.length-1; i < j; i++,j--) {
            //交换变量i和变量j指向的元素
            int temp =arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }

        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]+" ");
        }
    }
}

基本需求
求和
求平均数
比大小

import java.util.Random;

public class ArrayDemo13 {
    public static void main(String[] args) {
        /*需求 生成10个1-100之间的随机数存入数组
        1 求出所有的数据和
        2 求所有数据的平均数
        3统计有多少个数据比平均值小
         */

        int[] arr = new int[10];
        //把随机数存入数组当中
        Random r = new Random();

        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(100) + 1;
            //把生成的随机数添加到数组当中
            arr[i] = number;
        }

        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        //求出所有数据的和
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum = sum + arr[i];
        }
        System.out.println("数据中所有数据的和为:" + sum);

        //求所有数的平均数
        int avg = sum / arr.length;
        System.out.println("数组中平均数为:" + avg);

        //统计有多少数据比平均值小
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] < avg) {
                count++;
            }
        }
        System.out.println("在数组中,一共有" + count + "个数据,比平均值小");

        //遍历数组,验证答案
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
            //println 去掉ln 打印的时候不用换行
        }
    }
}

获得数组中的随机索引

import java.util.Random;

public class ArrayDemo16 {
    public static void main(String[] args) {
        //打乱数据
        //难点 如何获得数组中的随机索引
        /*int[] arr={1,2,3,4,5};
        //索引范围0-4
        Random r=new Random();
        int randomIndex=r.nextInt(arr.length);
        System.out.println(randomIndex);*/

        int[] arr={1,2,3,4,5};
        //循环遍历数组,从0索引开始打乱数据的顺序
        Random r=new Random();
        for (int i = 0; i < arr.length; i++) {
            //生成一个随机索引
            int randomIndex =r.nextInt(arr.length);
            //拿着随机索引指向的元素,跟i指向的元素进行交换
            int temp=arr[i];
            arr[i]=arr[randomIndex];
            arr[randomIndex]=temp;
        }

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值