JAVA中的数组

一、基本概念

集中存储相同类型数据的容器叫做数组。

数组的特点:

a. 存储数据长度固定的容器(数组的长度一旦定义不可变!),数组是一个定长容器。

b. 存储数据的数据类型要一致。

二、数组动态初始化

 1.含义: 只指定数组长度不指定数组元素值.
 2.数组的定义:
 数据类型[] 数组名称 = new 数据类型[数组长度]; // 更常见
 数据类型 数组名称[] = new 数据类型[数组长度];
 3.详细解释:
 数据类型: 创建的数组容器可以存储什么数据类型 基本数据类型8个、String
 []: 表示数组
 数组名称: 数组本身也是一个变量,用于存储数组的地址的变量名
 =: 赋值符号,将数组的地址,赋值给数组名称
 new: 关键字,创建数组使用的关键字,用于在堆内存中给数组开辟存储数据的空间
 数据类型: 和前面的数据类型保持一致
 数组长度: 表示数组容器中可以存储多少个元素
 4.举例:
 int[] arr = new int[3];
 定义出一个数组,数组名arr, 数组中可以存储3个int类型整数
 public class S0508{
 public static void main(String[] args) {
 
 //数据类型[] 数组名称 = new 数据类型[数组长度];
 int[] arr = new int[10];
 
 //取数据 第五个值 index索引 01234
 System.out.println(arr[4]);

 //添数据
 arr[4] = 10086;
 
 System.out.println(arr[4]);
 //new 实例化 - 初始化 - 创建 - 在堆内存中开辟空间
 
 }
 }

下面是代码结合jdk1.6JVM运行内存的图,可以详细的展示数组的存储情况。

这里先是new了个数组,内存地址存储在堆内存中,这里如果执行“System.out.println(arr)”会输入arr在堆内存里的地址,就是上图黄色指针指着的地方。

三、数组的访问格式

3.1.索引

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index)。可以通过数组的索引访问到数组中的元素.索引的范围: 0---数组长度-1. 注: 索引也称为下标,角标,脚标。

3.2.索引访问数组中的元素

数组名[索引] = 数值; //为数组中的元素赋值

变量 = 数组名[索引]; //获取出数组中的元素

3.3扩展

当定义出一个数组时, JVM虚拟机会默认为数组中的每一个元素进行默认的赋初值动作, 根据不同数组中的数据类型不同,默认值也不同,下面是常见数据类型的默认值:

  1. 整数 : 0,

  1. 浮点类型 : 0.0

  1. char类型 : ‘ ’

  1. boolean类型 : false

  1. 引用数据类型 : null, null表示引用数据类型为空

下面举个代码案例:

题目:定义一个和尚数组,10个和尚,分别将和尚的名字存储到数组中,并打印 第1、6、10个和尚的名字。 

 class S0506 {
 public static void main(String[] args) {
 
 int[] arr0 = new int[10];
 
 //取第一个值
 //虽然长度为10 但是数组为了大家存取方便,每一个值都会对应一个索引index
 //索引和值不同,默认从0开始
 System.out.println(arr0[0]);

 //存一个值 也是通过索引直接再指定位置存放数据
 arr0[1] = 12;
 System.out.println(arr0[1]);
 
 //通过循环取值
 for(int i = 0; i < arr0.length; i++){
 System.out.println(arr0[i]);
 }

 //操作数组直接通过索引就可以 数组名称[index]
 }

四、数组静态初始化

1.含义: 在创建数组时,直接将元素确定的定义方式

2.格式:

数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, ..., 元素n};

注意事项:

1)在第二个方括号中,不能写数组元素个数

2)元素值的罗列,元素和元素之间,使用逗号分隔

3)罗列出来的元素值,数据类型必须和声明数组时数据类型一致

3.简化格式:

数据类型[] 数组名 = {元素1, 元素2, ..., 元素n};

注意事项: 不能分成两行写,测试:先定义后赋值!不符合Java中定义数组的语法结构

下面是代码案例:

class S0507 {
 public static void main(String[] args) {
 
 //int[] arr0 = new int[]{334,11,67,11,0,3};
 int[] arr0 = {334,11,67,11,0,3};
 
 //通过循环取值
 for(int i = 0; i < arr0.length; i++){
     System.out.println(arr0[i]);
     }
   }
 }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值