Java中的一维数组

文章介绍了Java中数组的动态和静态初始化方法,包括如何创建和赋值。接着通过示例展示了如何找出数组中的最大值,生成随机数数组,计算数组的和、平均数以及比较数据与平均值的关系。还涉及了数组元素的交换和打乱顺序的操作,强调了数组下标从0开始和默认值的概念。
摘要由CSDN通过智能技术生成

1.数组的初始化

 1.1 动态初始化

   数组的定义: 数据类型 数组名[]=new 数据类型[大小 ]  

int a[]=new int[5];//创建了一个数组,名字a,存放5个int

   int[5]里的数据是从0开始 0 1 2 3 4 这五个下标。 若引用第三个数则是a[2]

   声明数组:数据类型 数组名[]; 或者  数据类型[]  数组名;

                        int a[];  或者  int[] a;   先声明一个数组但是不分配空间,使用时再分配

   创建数组: 数组名=new 数据类型[大小];

                     int a[ ]=new int[10]; 

1.2例题:定义一个数组,储存五个数字{33,5,22,44,55},比较出最大的一个。

public class Java_1 {
    public static void main(String[] args) {
        int arr[]={33,5,22,44,55};
        int max=arr[0];
        for(int i=0;i<arr.length;i++){
            if(arr[i]>max){
                max=arr[i];
            }
        }
        System.out.println(max);
    }
}

1.3练习:生成10个1~100之间的随机数存入数组。a.求出所有数据的和 b.求出所有数据的平均数 c.统计有多少个数据比平均值小。 

随机数公式:Random rc=new Radom();  int number=rc.nextInt;

import java.util.Random;

public class Java_1 {
    public static void main(String[] args) {
        int arr[] = new int[10];
        Random rc = new Random();
        for (int i = 0; i < arr.length; i++) {
            int number = rc.nextInt(100) + 1;//利用循环生成10个随机数
            arr[i] = number;     将随机数赋值到数组中
            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) {
                System.out.println(arr[i]);
                count++;
            }
        }
        System.out.println("有" + count + "个比平均数小");

    }
}

 1.4例题:定义两个变量,并交换变量记录的值。

import java.util.Random;

public class Java_1 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int temp = a;//暂存值
        a = b;
        b = temp;
        System.out.println(a);
        System.out.println(b);
    }
}

1.5例题:交换数组中的数据,交换前1,2,3,4,5;交换后5,4,3,2,1。

import java.util.Random;

public class Java_1 {
    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--){
            int temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
        for (int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

1.6例题:随机打乱数组

import java.util.Random;
public class Java_1 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
       Random r=new Random();
        for (int i = 0; i < arr.length; i++) {
            int temp=arr[i];
            int randomIndex=r.nextInt(arr.length);
            arr[i]=arr[randomIndex];
            arr[randomIndex]=temp;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

    }
}

2.静态初始化

   数据类型 数组名[]={元素1,元素2,........}

   int a[]={1,2,3,4,5,6,7,8}   相当于int a[]=new int[9];其中a[0]=1,a[5]=6.

   2.3l练习:定义一个数组,储存1,2,3,4,5;遍历数组得到每一个元素,并求和。

public class Java_1 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
            sum = sum + arr[i];
        }
        System.out.println(sum);
    }
}

2.4例题:定义一个数组,储存1~10;遍历数组得到每一个元素,统计里面有多少个能被3整除的数字。  

public class Java_1 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 3 == 0) {
                System.out.println(arr[i]);
                sum = sum + 1;
            }
        }
        System.out.println("有" + sum + "个");
    }
}

 2.5例题:定义一个数组,储存1~10;如果是奇数,则扩大两倍;如果是偶数则变成二分之一

public class Java_1 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                 arr[i] = arr[i] / 2;
                System.out.println("是偶数变成了" + arr[i]);

            } else {
                arr[i] = arr[i] * 2;
                System.out.println("是奇数变成了" + arr[i]);
            }
        }
    }
}

 

2.数组使用的注意事项

  1. 数组创建后,如果没有赋值,有默认值:int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \u0000,boolean false,String null ;
  2. 数组的下标从0开始的
  3. 数组属于引用类型,数组型 数据 是对象(object)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值