Java数组程序员必看数组详解

Posted 努力的小鳴人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数组程序员必看数组详解相关的知识,希望对你有一定的参考价值。

❤写在前面
❤博客主页:努力的小鳴人
❤系列专栏:Java基础学习😋
❤欢迎小伙伴们,点赞👍关注🔎收藏🍔一起学习!
❤如有错误的地方,还请小伙伴们指正!🌹

🚩在最近的Java学习中,发现Java好多基础知识忘的忘,模糊的模糊,就打算把 【Java】 全部梳理一遍,陆陆续续的文章会放在这里,欢迎订阅一起学习>>>Java基础学习😋

书接上回 >>> 传送门:[【02章Java基本语法】详细讲解让你重新认识Java基本语法和流程流程控制 ]



一、介绍数组

  1. 概述:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理。
  2. 数组本身是引用数据类型,而数组中的元素可以是任何数据类型
  3. 数组的长度一旦确定,就不能修改。
  4. 常见概念
    ●数组名
    ●下标(或索引)
    ●元素
    ●数组的长度
  5. 分类:
    ●按照维度:一维数组、二维数组、三维数组、… 、n维数组
    ●按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组

🎁注:创建数组对象是在内存中开辟连续的空间,数组名中引用的是这块连续空间的首地址

二、一维数组

👌一维数组概述

  1. 一维数组的声明方式:type num[] 或 type[] num
  2. Java语言中声明数组时
    动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
    静态初始化:在定义数组的同时就为数组元素分配空间并赋值
  3. 数组元素的引用方式:数组名[数组元素下标]
    数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i]
    数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=newint[3]; 可引用的数组元素为a[0]、a[1]、a[2]
  4. 每个数组都有一个属性length指明它的长度,例如:num.length 指明数组num的长度(元素个数)
    数组一旦初始化,其长度是不可变的

👌数组元素的默认初始化值

🎁注:对于基本数据类型而言,默认初始化值各有不同
对于引用数据类型而言,默认初始化值为null(注意与0不同)

👌创建基本数据类型数组

  1. 代码如下:
public class Test
  public static void main(String args[])
  int[] s;
  s = new int[10];
  //int[] s=new int[10];
  //基本数据类型数组在显式赋值之前,
  //Java会自动给他们赋默认值。
  for ( int i=0; i<10; i++ ) 
    s[i] =2*i+1;
    System.out.println(s[i]);
    
  

  1. 第四行代码出内存状态

三、多维数组的使用

👌二维数组

  1. 格式一:(动态初始化:int[][] arr = new int[a][b];
    二维数组中有a个一维数组
    每一个一维数组中有b个元素
    一维数组的名称分别为arr[0], arr[1], arr[2],···,arr[a]
  2. 格式二:(动态初始化:int[][] arr = new int[a][];
    二维数组中有a个一维数组
    每个一维数组都是默认初始化值null
    可以对这个三个一维数组分别进行初始化
    arr[0] = new int[3]; arr[1] = new int[1]; arr[2] = new int[2];···;arr[a] = new int[a];
  3. 格式三:(静态初始化:int[][] arr = new int[][]3,8,2,2,7,9,0,1,6;
    定义一个名称为arr的二维数组,二维数组中有三个一维数组
    每一个一维数组中具体元素也都已初始化
    第一个一维数组 arr[0] = 3,8,2;
    第二个一维数组 arr[1] = 2,7;
    第三个一维数组 arr[2] = 9,0,1,6;
    第三个一维数组的长度表示方式:arr[2].length;

👌二维数组内存分析

🎁总结:数组中较为简单,默认初始化也需要多多注意,熟知数组的内存分析

👌 作者算是一名Java初学者,文章如有错误,欢迎评论私信指正,一起学习~~
😊如果文章对小伙伴们来说有用的话,点赞👍关注🔎收藏🍔就是我的最大动力!
🚩不积跬步,无以至千里书接下回,欢迎再见🌹

以上是关于Java数组程序员必看数组详解的主要内容,如果未能解决你的问题,请参考以下文章

java基础语法学习day06---初学者必看详解

小白必看!java基础程序教程

想提高开发效率的必看!java数组去除重复数据

java两个线程交替打印数组,2年以上经验必看

java基础语法学习day02---初学者必看详解

java基础语法学习day01---初学者必看详解