Java数组

文章详细介绍了Java中的数组,包括数组作为数据容器的概念,强调了数组元素类型的一致性。接着,解释了数组的静态初始化和动态初始化,提供了示例代码,并指出动态初始化时系统会给予默认值。此外,还讨论了如何通过索引访问数组元素并给出计算数组元素总和的代码示例。最后,总结了静态和动态初始化的区别及适用场景。
摘要由CSDN通过智能技术生成

目录

数组

数组的定义

数组的静态初始化

数组的地址值

数组的动态初始化

数组元素访问

 总结:


数组

数组是一种容器,可以用来存储同种数据类型的多个值

数组容器存储数据时,应结合隐式转换(绿色正确  红色错误)

  • 例如: int类型的数组容器(boolean byte short int double)  
  • 再例如: double类型的数组容器(byte short int long float double)
  • 建议: 容器的类型,和存储的数据要保持一致

数组的定义

格式一 :  数据类型 [ ]  数组名

范例  :  int  [ ]  array

格式二 :  数据类型   数组名  [ ]

范例  :  int  array   [ ] 

数组的静态初始化

初始化: 就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程

完整格式: 数据类型 [ ] 数组名 = new 数据类型 [ ]  {元素1,元素2,元素3...};

范例:

int [] array = new int [] {1,2,3};

简写格式: 数据类型 [ ] 数组名 =  {元素1,元素2,元素3...};

范例:

double [] array = {1.1,2.2,3.3};

数组的地址值

double [] arr = {1,2,3,4,5};
System.out.prinln(arr); //[D@6156e36c

sout打印出来的是数组在容器中的地址值

  • [ : 表示当前是一个数组
  • D : 表示当前数组里面的元素都是double类型的
  • @ : 表示一个间隔符号
  • 6156e36c : 才是数组真正的地址值(十六进制)

数组的动态初始化

动态初始化 : 初始化时只指定数组长度,由系统为数组分配初始值

格式 : 数据类型 [ ]  数组名 = new 数据类型 [数组长度] ; 

范例 : 创建一个长度为五的动态数组

int [] arr = new int [5]; 

由系统给出的默认初始值

  • 整数类型 : 默认初始值为0
  • 小数类型 : 默认初始值为0.0
  • 字符类型 : 默认初始值为'/u0000'  空格
  • 布尔类型 : 默认初始值为false
  • 引用数据类型 : 默认初始值 null

数组元素访问

数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 array.length-1

实例 : 

public class TestArray {
   public static void main(String[] args) {
      // 数组大小
      int size = 10;
      // 定义数组
      double[] myList = new double[size];
      myList[0] = 5.6;
      myList[1] = 4.5;
      myList[2] = 3.3;
      myList[3] = 13.2;
      myList[4] = 4.0;
      myList[5] = 34.33;
      myList[6] = 34.0;
      myList[7] = 45.45;
      myList[8] = 99.993;
      myList[9] = 11123;
      // 计算所有元素的总和
      double total = 0;
      for (int i = 0; i < size; i++) {
         total += myList[i];
      }
      System.out.println("总和为: " + total);
   }
}

 实例的输出结果为 :

总和为 : 11367.373

  myList 数组里有 10 个 double 元素,它的下标从 0 到 9

 总结:

数组动态初始化和静态初始化的区别 : 

  • 动态初始化手动指定长度,由系统给出默认初始化值
  • 静态初始化手动指定数组元素,系统会根据元素个数,计算出数组的长度

 什么时候该用动态,什么时候该用静态呢?

  1. 只明确元素个数,不明确具体数值,使用动态初始化
  2. 需求中已经明确了要操作的具体数据,直接静态化即可
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值