java#5(数组)

目录

数组

1.数组的完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2......};

2.数组的简化格式:数据类型[] 数组名 = {元素1,元素2......};

3.数组的地址​编辑

4.数组的索引(下标,角标)

 5.length的使用(表示数组的长度:有几个元素)

6.数组动态初始化:初始化时指定数组长度,由系统为数组分配初始值

7.动态初始化和静态初始化的区别:

​编辑(上图来自黑马程序员的视频)

8.数组的常见操作:

(1)求最值

(2)求和并统计数据

​编辑 3.交换数据

 4.打乱数据

二维数组

1.二维数组的静态初始化

2.二维数组的动态初始化


数组

1.数组的完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2......};

2.数组的简化格式:数据类型[] 数组名 = {元素1,元素2......};

3.数组的地址

[ --->表示元素是数组

I---->表示元素是整形

D--->表示元素是双精度浮点型

String---->表示元素是字符串型

 @---->表示一个间隔符号?(固定格式)

4eec7777--->才是真正的地址值

4.数组的索引(下标,角标)

索引从0开始

例如:int[ ] arr = {1,2,3};

 5.length的使用(表示数组的长度:有几个元素)

6.数组动态初始化:初始化时指定数组长度,由系统为数组分配初始值

格式:数据类型[]数组名 = new 数据类型[数据长度];

例如:int[] arr = new int[5];

各类型数组默认初始化值:

整数类型:0

小数类型:0.0

字符类型:'/u0000'

布尔类型:false

引用数据类型:null

7.动态初始化和静态初始化的区别:

(上图来自黑马程序员的视频)

8.数组的常见操作:

(1)求最值

(2)求和并统计数据

package Demo2;

import java.util.Random;

public class Demo2 {
    /**public static void main(String[] args) {
        int[] arr1 = {1,2,3,4,5,6};
        System.out.println(arr1);

        String[] arr2 = {"zhang","lisi","wang"};
        System.out.println(arr2);

        double[] arr3 = {1.23,2.34,3.45};
        System.out.println(arr3);

    }*/
    /*public static void main(String[] args) {
        int[] arr = {1,2,3};
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        int [] arr1 = {1,2,3,4,5,6,7,8,4,32,12,1,2};
        System.out.println(arr1.length);
        for(int i =0;i <= arr1.length;i++) {
            System.out.println(arr1[i]);
        }
        int []arr = {12,4,6,24,12};
        int max = arr[1];
        for(int i = 0;i < arr.length;i++){
            if(arr[i] > max){
                max = arr[i];
            }
        }
        System.out.println("数组中的最大的数是"+max);
    }*/
    public static void main(String[] args) {
        int[] arr = new int[8];
        Random r = new Random();


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

        //求平均值
        int avg = sum / 8;
        System.out.println("数组中所有数据的平均数是:"+avg);

        //有多少个数比平均数小
        int cont = 0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] < avg){
                cont++;
            }
        }
        System.out.println("数组中比平均数小的有"+cont+"个");

    }



}

 3.交换数据

package Demo2;

import java.util.Random;

public class Demo2 {
    //交换数据
    public static void main(String[] args) {
        int []arr = {1,2,3,4,5};
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println("\n");
        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.print(arr[i]+" ");
        }
    }


}

 4.打乱数据

package Demo2;

import java.util.Random;

public class Demo2 {
    //打乱数据
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        for (int i = 0; i < arr.length; i++) {
            Random r = new Random();
            //创建一个随机索引
            int a = r.nextInt(arr.length);
            //打乱数据
            int temp = arr[i];
            arr[i] = arr[a];
            arr[a] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }


}

二维数组

1.二维数组的静态初始化

 完整格式:数据类型[][]数组名 = new 数据类型[][]{元素1,元素2}{元素1,元素2};

简化格式:数据类型[][]数组名 = {元素1,元素2}{元素1,元素2};

示范:int[ ][ ] arr = {

        {1,2,3},

        {3,4,5}

};

http://t.csdn.cn/jismL

2.二维数组的动态初始化

格式:数据类型[ ][ ]数组名 = new 数据类型[m][n];

m表示这个二维数组,可以存放多少个一维数组,

n表示这个一维数组,可以存放多少个元素

示范:int[ ][ ] arr = new int[2][4];

2表示这个二维数组可以存放2个一维数组,

4表示这个一维数组可以存放4个int类型的元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值