章节目录

  • 1. 数组的创建和声明
    • 1.1定义
    • 1.2特征
    • 1.3数组的声明
    • 1.4创建数组空间
  • 2. 数组的初始化和元素
    • 2.1数组元素
    • 2.2数组初始化
  • 3. 一维数组
  • 4. 二维数组
    • 4.1静态初始化和遍历
    • 4.2动态初始化和遍历

1. 数组的创建和声明

1.1定义

数组是一个长度固定的数据结构,它存储多个相同类型的数值。数组直接被 Java 编程语言所支持,数组也是一个对象(引用数据类型)。数组是一个 Object 类的一个不明显的扩展。

1.2特征

有序、具有相同类型、通过数组名和下标确定数组中的元素。

1.3数组的声明

a)数组的元素类型 数组变量名[];

b)数组的元素类型[] 数组变量名;

1.4创建数组空间

创建数组空间可以在声明的时候进行创建,也可以先声明然后在创建空间。
数组名=new 数组元素类型[数组的长度];

int[] arr = new int[10];

等同于下面的

int[] arr;
arr=new int[10];

2. 数组的初始化和元素

2.1数组元素

数组中的每个元素都是有先后顺序的,可以通过下标(索引)来指定对应位置的元素。下标(索引)是从 0 开始,即0 表示第一个元素,1 表示第二个元素;

初始化数组就是要使数组中每个元素具有确定的值,如果数组元素类型为基本数据类型,由于基本数据类型都有缺省值,数组会自动将元素初始化为缺省值,对于元素类型为引用数据类型的数组,初始化数组的每个元素则是必要的,否则元素为 null。

int[] arr = new int[5];//声明并创建数组空间
System.out.println(arr[0]);//0
System.out.println(arr[1]);//0
arr[0]=10;//通过指定下标对数组的元素进行赋值
System.out.println(arr[0]);//10

PS:每个数组都有一个属性 length,表示该数组可以存放元素的个数。Java 环境会自定检测数组的下标是否越界。

//通过for循环遍历数组中的所用元素
for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);
}
//通过增强for循环遍历
for (int i : arr) {System.out.println(i);
}

增强 for 循环是 JDK5.0 的新特性,内部使用的是迭代的方法 iteratoer 来实现的。只可以用来遍历集合不可以对集合中的元素进行赋值。

2.2数组初始化

数组的静态初始化和动态初始化:
a)动态初始化:使用 new 关键字初始化,需要指定数组的长度。

int[] arr = null;
arr = new int[5];
//通过for循环对数组的元素进行赋值
for (int i = 0; i < arr.length; i++) {arr[i]=i+10;
}

b)静态初始化:在声明的同时进行初始化,需要指定数组的元素,根据元素由系统指定它的长度。

int[] arr={6,5,4,3,2};
for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);
}

PS:注意静态初始化和动态初始化的区别。

3. 一维数组

一维数组的内存划分:

(a)对于基本数据类型:以int为例

//静态初始化
int[] arr = {3,4,5};
//动态初始化
int[] arr1 = null;
arr1[0]=3;
arr1[1]=4;
arr1[2]=5;


(b)对于引用数据类型:以 String 为例

//静态初始化
String[] strs = {"java","html","javaScript"};

//动态初始化
String[] strs = new String[3];
String a = new String("java");
String b = new String("html");
String c = new String("javascript");
strs[0] = a;
strs[1] = b;
strs[2] = c;

4. 二维数组

4.1静态初始化和遍历

int[ ][ ] arr = {{12,44,35,14,3},{76,54,31,34},{21,314},};
for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j]+"\t");// 一维数组的输出
}
System.out.println();
}

4.2动态初始化和遍历

//3是二维数组的长度,其中二维数组的元素是一个一维数组
int[ ][ ] arr = new int[3][ ];
arr[0]=new int[2];
arr[1]=new int[3];
arr[2]=new int[4];
for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j]+"\t");// 一维数组的输出
}
System.out.println();
}

七佛通诫偈:诸恶莫作,众善奉行,自净其意,是诸佛教。

Java基础教程【第五章:Java数组】相关推荐

  1. Java基础一到五章复习笔记

    目录 第一章 第二章 java语言特点 JDK和JRE 转义字符: 注释: 相对路径和绝对路径 常用dos命令 第三章 变量三要素: 加号+的使用: Java API 基本数据类型转换 强制类型转换 ...

  2. Java基础教程【第一章:Java概述】

    章节目录 1. JAVA 的发展史 2. JAVA 面向对象 3. JAVA 语言介绍.语言特性 4. JVM 虚拟机 1."一次编译,到处运行"的原理 2.JDK( Java D ...

  3. Java基础教程带你走进java的世界

    Java教程 Java简介 什么是Java? Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称. Java分为三个体系: Java ...

  4. SQL基础教程第五章笔记

    第五章 复杂查询 5.1 视图 5.1.1 视图和表 从SQL的角度来看,视图和表是相同的.两者的区别在于表中保存的是实际的数据,而视图中保存的是SELECT语句.视图本身并不存储数据. 视图的优点: ...

  5. Web前端开发精品课HTML CSS JavaScript基础教程第五章课后编程题答案

    编程题: 图5-15所示为一个问卷调查的网页,请制作出来.要求:大标题用h1标签:小题目用h3标签:前两个问题使用有序列表:最后一个问题使用无序列表. 用VS2013新建ASP.NET空网站,添加新项 ...

  6. Java基础教程【第九章:异常处理】

    章节目录 1. java 异常处理 1.1 什么是异常 1.2 java 的异常处理 1.3 异常示例 1.4 异常处理的基础 1.5 异常处理机制 1.6 常见异常及用途 2. throw 语句 3 ...

  7. Java基础教程【第二章:Java数据类型和变量】

    章节目录 1.java 的内存划分 1.1 内存空间 1.2 栈空间 1.3 堆空间 2. 变量 2.1 变量和字面量 2.2 变量的命名 2.3 注意点 2.4变量的定义 2.5.变量的初始化 2. ...

  8. JAVA基础第2.5章 JAVA引用数据类型

    (一)Java变量 1.Java中有两种数据类型:基本数据类型和引用数据类型 基本数据类有8种:byte, short, int, long, char, boolean, float, double ...

  9. 重学java基础第十五课:java三大版本

  10. 【Java基础教程】详解Java三种流程控制语句

    ✅作者简介:大家好我是hacker707,大家可以叫我hacker,新星计划第三季python赛道Top1

最新文章

  1. 《Arduino开发实战指南:机器人卷》一3.3 直流电机驱动电路原理
  2. java 手动编译打包_Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
  3. 打印菱形(曼哈顿距离法)
  4. 卷积Strassen算法
  5. 服务器USB启动故障一例
  6. 模板vs定制 门店小程序该如何选择?
  7. python 异常类型
  8. 免费复制百度文库的VIP文章(非常简单!)
  9. 应用搬家:如何将软件从C盘迁移到D盘?
  10. 解决 “error while loading shared libraries: libpng12.so.0: cannotopen shared object file: No such fil
  11. 将文件中的单词及翻译导入数据库
  12. html给图片添加蒙版,如何使用ps给图片加蒙版 ps给图片添加蒙版的教程
  13. C语言编程常用知识点概论——第一章基本数据类型、运算符
  14. Java随机生成4位随机数字+字母
  15. 【ORA-RAC】ORA-15045: ASM file name '+DATA01' is not in reference form
  16. 写一个矩阵相乘的函数
  17. Keras_examples
  18. VS2010出现重复的代码项原因及解决方式
  19. ERP财务管理系统有哪些特点
  20. 图像处理知多少?准大厂算法工程师30+场秋招后总结的面经问题详解

热门文章

  1. STM32F429HAL库定时器学习笔记
  2. k均值聚类算法优缺点_聚类算法之——K-Means算法
  3. ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
  4. 09: xmltodict 模块将xml格式转成json格式
  5. 第二课(2)添加导航栏
  6. Android4.0源码目录结构详解
  7. js 如何拿到后天的时间_js获取日期及日期相关js方法 积累总结
  8. python爬虫利器p_Python:网络爬虫相当利器
  9. C语言之perror()与sterror()用法(十九)
  10. 高通msm8953 Android7.1支持Audio设备列表(十二)