[TOC]
# 数组结构
数组是编程语言中最常用的一种**数据类型**。可以存储多个数据。
**数组的要点**
* 存放的数据是相同的数据类型
* 数组的长度在定义时就确定了大小,数组是不可变长度的,或者说叫定长
* 数组中可以存放任意的数据类型(包含基本数据类型、引用数据类型、数组)
* 数组本身是引用数据类型(在栈内存中会存储其在堆内存中的引用地址)
**定义语法**
```
type[] 变量名; // 强烈建议用这种命名
type 变量名[]; // 只要知道就可以
```
**数组的初始化**
在 Java 语言中,数组必须先被初始化,才能被使用。所谓的初始化,就是在内存中为数组元素分配空间,并为每个元素赋予初始值。
* 静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;
* 动态初始化:只需要指定数组的长度,通过程序动态地给每个元素赋值。
静态初始化
语法:
```
type[] arrayName = {element1, element2,....}; // 比较常见
type[] arrayName = new type[]{element1, element2,...};
```
```java
int[] arrs2;
arrs2 = new int[]{1, 2 ,3 ,4};
int[] arrs = {1, 2, 3, 4}; // 简写
```
动态初始化
语法:
```
type[] arrayName = new type[length];
```
> 数组中的索引,通过 arrayName\[index\] 获取指定位置的数据,index 从 0 开始,最大值为 length-1
* 通过数组索引方式对数组元素进行赋值时,使用数组.length属性作为 for 循环的条件。
* 在对数组元素进行操作时,一般使用 for 循环结构。
```java
for (int i = 0; i < arrs3.length; i++) {
arrs3[i] = (i+1) * 10;
}
for (int i = 0; i < arrs3.length; i++) {
System.out.println(arrs3[i]);
}
```
foreach 遍历数组
```
for (type element : array | collections) {
element...
}
```
实例:
```java
for(int a : arrs3) {
System.out.println(a);
}
```
> 使用 foreach 一般情况下,只用作**遍历数据**,如果要对数组中元素进行修改,还是需要使用 for 循环带索引的方式进行,因为在上述的代码中,a 只是循环元素的一个副本。
课程重点
* 理解各种数据类型在内存中的分配情况
![](https://box.kancloud.cn/94368189da70a048399448d7319e8e7d_903x504.png)
- 概要
- 前言
- 计算机软件概论
- 计算机软件概论
- Markdown基础
- 为什么使用Markdown
- Markdown语法简明教程
- Xmind思维导图
- 为什么要制作思维导图
- 简单制作思维导图
- HTML基础
- Web原理和HTML简介
- Web原理
- HTML概念
- HTML标签
- 标签
- HTML固定基本结构
- 第一个HTML页面
- 工具的使用
- 标题
- hr 和 p 标签
- 表单的设计与使用
- 表单域的原理
- 文本框和密码框
- 单选框和复选框
- 下拉列表框
- 多行文本和上传
- 提交按钮和重置按钮
- 为CODING COFFEE加入在线购买页
- 数据库基础
- 数据库介绍
- 数据库安装和Navicat
- SQL
- 表基本操作
- 修改数据语句
- 数据检索操作
- 多表数据操作
- JAVA基础
- JAVA 介绍
- JAVA 运行原理
- JDK 配置
- 类和对象
- 数据类型
- 变量
- 直接量
- 运算符
- 流程控制
- 数组结构