Java数组和二维数组的概述与使用

数组

数组概述

  1. 组就是指多个的意思 , 在之前我们的代码中使用的数据类型都是单个的 , 为了将多个相同类型的数据存储在一起, 这时候就引出了组的概念
  2. 数组是存储同一种数据类型多个元素的集合, 也可以看成是一个容器
  3. 数组可以存储基本数据类型,也可以存储引用数据类型
  4. 数组是java中的唯一底层容器,集合的底层也使用的是数组

数组的初始化

  • 就是为数组开辟连续的内存空间, 并为每个数组元素赋值

数组分为静态初始化跟动态初始化

  • 1、静态初始化
    指定内容,数组的长度由jvm自动判断
    数据类型[] 数组名 = new 数据类型[ ]{元素,元素,元素,元素,元素}
    数据类型[] 数组名 = {元素,元素,元素,元素,元素}

    2、动态初始化
    指定数组的长度, 数组中的元素由jvm给出默认值
    数组类型[] 数组名 = new 数据类型[数组长度]
    基本数据类型在数组中的默认值,跟数据类型有巨大的关系

基本数据类型

  • 默认值
    byte =0
    short=0
    int=0
    long=0
    float=0.0
    doublie=0.0
    char=“ ”

引用数据类型

  • 所有引用数据类型在数组的默认值都null;比如引用了一个对象,如果这个对象没有具体的值的话,默认值就是null;

数组中元素赋值

    通过下标给数组赋值或者取出其中元素  赋值 :Arr[xxx]=i; 取值 i=Arr[xxx];

   public static void main(String[] args) {
 		   int nums[] = new int[20];
  		  System.out.println(nums[0]);
​
  		  Random r = new Random();
  		  System.out.println(r.nextInt(1000));
​
    		nums[0] = 100;
  		  System.out.println(nums[0]);
​
    // 给数组中所有的元素赋值
 		   for (int i = 0; i < 20; i++) {
      		  int num = r.nextInt(100);
    		    nums[i] = num;
 		   }
    // 遍历数组,获取数组中每个元素的值
    for (int i = 0; i < nums.length; i++) {
        System.out.print(nums[i] + ",");
 		   }
	    }

案例:获取数组中的最大值

 public static void main(String[] args) {
        int nums[] = new int[100];
        Random r = new Random();
        for (int i = 0; i < nums.length; i++) {
            nums[i] = r.nextInt(1000);
        }
        // 假定最大值是max
        int max = 0;
        int index = 0;
        for (int i = 0; i < nums.length; i++) {
            // 把预设的最大值和每一个元素比较,如果发现更大的,就重新给max赋值
            if (nums[i] > max) {
                max = nums[i];
                index = i;
            }
            System.out.print(nums[i] + ",");
        }
        System.out.println();
        System.out.println("这个数组中的最大值是:" + max + ",下标是:" + index);
    }

数组的静态初始化

    int [] xxx={xxx,xxx,xxx,xxx,xx}
    int [] xxx= new int []{xxx,xxx,xxx,xxx,xxx}

数据的工具类Arrays----------具体详情查看Java类解析目中中的Arrays介绍

二维数组的赋值和使用(案例)

package com.qf.day07;
​
public class Demo17 {
​
    public static void main(String[] args) {
        // 创建二维数组
        int arr[][] = new int[3][];
        System.out.println(arr.length);
​
        System.out.println(arr[0]);
​
        // 创建三个一维数组
        int[] arr0 = {1,3,5};
        int[] arr1 = {2,3,5,7};
        int[] arr2 = {1,3,5,7,9};
​
        // 给二维数组中的一维数组赋值---》注意要保证数据类型一致
        arr[0] = arr0;
        arr[1] = arr1;
        arr[2] = arr2;
​
        System.out.println(arr[0].length);
        System.out.println(arr[1].length);
        System.out.println(arr[2].length);
​
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + ",");
            }
            System.out.println();
        }
    }
}


不定参数处理(案例) int…arr

package com.qf.day07;
public class Demo19 {
    public static void main(String[] args) {
        // 我想一次传入一个方法中多个参数,但是重载太麻烦,能不能变得结合数组更简单一些
        int a = 10;
        int b = 11;
        int c = 12;
        int d = 13;
        int e = 14;
        int f = 15;
        int g = 16;
        int h = 17;
        // 调用getSum方法,得到这些参数的和
        int sum = getSum(a,b,c,d,e,f,g,h);
        System.out.println("这些参数累加的和是:" + sum);
    }
    /**
     * 使用数组接受所有的参数,并计算他们累加的和
     * @param arr
     * @return
     */
    private static int getSum(int...arr) {
        System.out.println(arr.length);
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + ",");
            sum += arr[i];
        }
        return sum;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值