博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java】Java_17 数组
阅读量:5230 次
发布时间:2019-06-14

本文共 2235 字,大约阅读时间需要 7 分钟。

数组

数组是一种数据类型,属于引用类型。

1.定义数组

type[] arrayName;type arrayNmae[];

以上2种定义数组方式的区别:

type[] arrayName:语义强,可读性好(推荐使用

type arrayName[]:语义差,可读性差

注意:定义数组时布恩那个指定数组的长度。

2.数组的初始化

静态初始化:初始化由程序员显示指定每个数组元素的数据类型,由系统决定数组的长度

动态初始化:初始化由程序员只指定数据长度,由系统为数组元素分配初始值

静态初始化的语法如下:

arrayName = new Type[]{element1,element2...element4...}简化后写法:type[] arrayName = {element1,element2...element4...}

动态初始化:

arrayName = new type[length];

执行动态初始化时,程序员只需要指定数组的长度,即为每个数组元素指定所需的内存空间,系统将负责为这些元素分配初始值。指定初始值时,系统将按如下规则分配初始值。

  • 数组元素的基本类型是基本类型种的整数类型(byte、short、int、long),则数组元素的值为0;
  • 数组元素的基本类型是基本类型种的浮点类型(folat、double),则数组元素的值是0.0
  • 数组元素的基本类型是基本类型种的字符类型(char),则数组元素的值是'\u0000'
  • 数组元素的基本类型是基本类型种的布尔类型(boolean),则数组元素的值是false
  • 数组元素的基本类型是引用类型(类、接口、数组),则数组元素的值是null

3.数组的使用

3.1 读取数组元素

定义一个数组,并打印数组中的第一个值

package com.oliver.test;public class TestArray {    public static void main(String[] args) {        //定义一个Object数组类型的变量,变量名为ObjArr                Object[] ObjArr;                //初始化数组变量,定义数组时所指定的数组元素的子类                ObjArr = new String[] {"jack","Alice"};                System.out.println(ObjArr[0]);    }}

打印数组中的每个元素

package com.oliver.test;public class TestArray {    public static void main(String[] args) {        //定义一个Object数组类型的变量,变量名为ObjArr                Object[] ObjArr;                //初始化数组变量,定义数组时所指定的数组元素的子类                ObjArr = new String[] {"jack","Alice"};                //循环打印数组元素                for(int i=0;i

错误一:java.lang.ArrayIndexOutOfBoundsException: 10

错误源码:

package com.oliver.test;public class TestArray {    public static void main(String[] args) {        //定义一个Object数组类型的变量,变量名为ObjArr                Object[] ObjArr;                //初始化数组变量,定义数组时所指定的数组元素的子类                ObjArr = new String[] {"jack","Alice"};                System.out.println(ObjArr[10]);    }}

错误分析:导致该错误的原因是因为需要打印的数组元素不存在(数组索引越界异常)

3.2 foreach循环

使用foreach循环,这种循环遍历无需获取数组和集合长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素

语法:

for(type variableName : array | collection)

{

 //variableName 自动迭代访问每个元素...

代码示意:

package com.oliver.test;public class TestForeach {    public static void main(String[] args) {        String[] s = {"张三丰","张无忌","张飞"};        for(String n : s){            System.out.println(n);        }            }}

 

转载于:https://www.cnblogs.com/OliverQin/p/6730827.html

你可能感兴趣的文章
受限玻尔兹曼机(RBM)学习笔记(五)梯度计算公式
查看>>
延时加载
查看>>
制作页面屏蔽层
查看>>
Android下的单例模式
查看>>
android的task任务栈
查看>>
thinkphp在linux下save方法失效原因
查看>>
去掉UItableview headerview黏性(sticky)
查看>>
【Android进阶】Junit单元測试环境搭建以及简单有用
查看>>
C# winform中自定义用户控件 然后在页面中调用用户控件的事件
查看>>
python 列表赋值和列表 sort 方法注意的问题
查看>>
【转载】web前端工程师入门须知
查看>>
MariaDB + Visual Studio 2017 环境下的 ODBC 入门开发
查看>>
HTML-Canvas03
查看>>
系统升级后sequel pro关闭时闪退crash解决办法
查看>>
理解PHP 依赖注入|Laravel IoC容器
查看>>
彻底搞懂Spring类加载(注解方式)
查看>>
推荐一个快速了解移植uboot以及linux到新板子上的ppt教程
查看>>
CentOS7 Windows双系统 修复引导
查看>>
ansible学习笔记二
查看>>
Python之路(第十四篇)os模块
查看>>