【03章Java数组】程序员必看数组详解

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

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

🔥系列传送门
【02章Java基本语法】详细讲解让你重新认识Java基本语法和流程流程控制
【01章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初学者,文章如有错误,欢迎评论私信指正,一起学习~~
😊如果文章对小伙伴们来说有用的话,点赞👍关注🔎收藏🍔就是我的最大动力!
🚩不积跬步,无以至千里书接下回,欢迎再见🌹

评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小鳴人

鳴人将永远记住您的恩惠

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值