数组

原文链接http://zhhll.icu/2021/01/18/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/java%E5%9F%BA%E7%A1%80%E4%B9%8B%E6%95%B0%E7%BB%84/

数组

数组的本质是一个相同数据类型的元素集合。元素是数组的组成部分,数组中每一个元素都可以使用唯一的索引值来访问,这个索引值也可以叫做数组下标。数组是很多集合类的底层存储结构,在了解java集合类之前大家先了解一下数组吧。

数组初始化

数组的声明语法为

// type为类型  arrayName为数组变量名称
type[] arrayName;
//如:
int[] numbers;

在进行数组初始化时,有静态初始化和动态初始化两种方式。

静态初始化

静态初始化是指在初始化数组时为数组的每个元素赋值,由元素的个数来决定数组的长度

int[] numbers = {1,2,3};
// 或者
numbers = new int[]{1,2,3};

动态初始化

动态初始化是指在出啊石化数组时指定数组长度,系统为每个元素分配初始值,之后再按照需要为每个元素修改值。

int[] numbers = new int[3];// 此时numbers中的元素为 0,0,0
numbers[0] = 1;// 将索引0的位置赋值为1

注意:数组的索引是从0开始的

二维数组

上面说的数组是一个一维数组,java可以构建多维数组,其实本质上来说还是一维数组,只是数组中的元素存储的还是数组而已。

二维数组可以看做是一个表格,有行有列,二维数组中的每一个元素就代表了确定行列的一个单元格

二维数组的声明为

// type为类型  arrayName为数组变量名称
type[][] arrayName;
//如:
int[][] numbers;

静态初始化

int[][] numbers = {{1,2,3},{1,2,3}};
// 或者
numbers = new int[][]{{1,2,3},{1,2,3}};

动态初始化

int[][] numbers = new int[3][3];// 此时numbers中的每个元素都为0
// 如果需要确认某个元素的话,需要指定两个索引,第一个索引找到该位置下的一维数组,第二个索引找到所需要的元素
numbers[0][0] = 1;// 将该位置赋值为1

非矩形数组

由于第二个索引代表的是该索引位置对应的一维数组,每个索引下的数组长度不同时就是非矩形数组。

静态初始化

int[][] numbers = {{1,2,3},{1,2,3,4}};
// 或者
numbers = new int[][]{{1,2,3},{1,2,3,4}};

动态初始化

// 第二个索引长度不指定,因为每个是不同的
int[][] numbers = new int[3][];
numbers[0] = new int[4];
numbers[1] = new int[5];
numbers[2] = new int[6];

由于本身的博客百度没有收录,博客地址http://zhhll.icu

(0)

相关推荐

  • 数组及Arrays类

    数组是相同类型的有序集合 数组的下标是从0开始的,所以数组中的最大下标为该数组长度减1 初始化数组的三种方式: //动态初始化:先创建后赋值int[] name=new int[10];//确立了数组 ...

  • 学会这两招,PLC编程也可以批量化定义变量-数组、结构

    数组 简单的说,就是多个相同类型数据一定顺序排列的集合,使用一个名字命名,并通过编号的方式对这些数据统一管理. 在PLC编程过程中,我们也经常遇到同类型的变量需要定义,例如10台电机的电流值,如果不使 ...

  • C语言0数组/柔性数组使用介绍

    前言: 我自己在这篇文章下面做了一些回复. 现在我想结合我自己的理解,解释一下这个 char[0] C语言柔性数组的问题. 作者:良知犹存 转载授权以及围观:欢迎关注微信公众号:羽林君 或者添加作者个 ...

  • 【C语言核心基础】基本运算、变量、数组、指针、函数、结构体...

    C 语言基础 // 引入头文件.里面包含了重要的 printf. #include <stdio.h> // 入口函数. // 参数一指输入的参数个数,参数二保存了所有参数. // 返回值 ...

  • 在PHP中灵活使用foreach+list处理多维数组

    先抛出问题,有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如: $arr = [ [1, 2, [3, 4]], [5, 6, [7, 8]],]; 我们需要的结果是元素1变成1, ...

  • VB中怎样对一个二维数组的行进行操作

    通常,数学上的行列式或者矩阵,用二维数组来存放数据,二维数组的第1维,就是映射矩阵的行,二维数组的第2维,就是映射矩阵的列. 例如: dim d(1 To 3,1 To 4) As Integer 对 ...

  • 如何将二维数组作为函数的参数传递

    今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ...

  • Excel数组入门之计算规则

    问题:{1,2,3;4,5,6} 是几行几列? 如果这个问题,你能回答出来,那么说明你对水平和垂直数组有了清晰的认识.如果没有也没有关系,下面我们就带大家先认识一下,然后再谈计算规则! 常量数组写法 ...

  • 数组入门

    数组,函数进阶门槛,但是对于很多人是很难跨的一道坎.想写数组很久了,虽然自己已轻车熟路,但是让别人听懂却不是一件容易的事,今日路上偶有一感,或许能带大家一起入个门! 先抛开那些无聊的概念,我们直接通过 ...

  • OFFSET进阶引用之参数数组化

    OFFSET共5个参数,除了第一参数必须是引用,其他参数都可以数组化,且最多可能形成四维!到这新手应该已经关闭本文了! 第一参数如果是区域,理解起来会更吃力,我们先通过一组测试来了解一下OFFSET数 ...