Java基础(二)---数组简介

本篇对数组进行一个简单的介绍:数组(Array)

1.概念:

数组:同一种类型数据的0到多个数据的组合,可以是基本数据类型,也可以是引用数据类型

注:数组类型是引用数据类型时,数组名保存的是一段内存空间的地址,真正的元素保存在那段内存空间中

2.数组的数据类型:就是数组中元素的数据类型

3.数组中的内容:

(1)元素(Element):数组中的各个数值称为元素

(2)索引(index):数组中各个元素的编号;从0开始,最大值是---数组的长度-1

(3)数组的长度(length):数组中元素的个数

4.为什么要使用数组:

(1)减少定义变量名

(2)方便对一组数据进行操作

5.定义数组的格式(即初始化数组的方式)

(1)定义时不指定初始值,只指定数组的长度(动态初始化)

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

例:定义一个可以存放5个int型数据的数组  int[] arr = new int[5];

(2)定义时就指定初始值(静态初始化)

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

例:定义一个数组  int[] arr = new int[]{1,2,3};  简化写法:  int[] arr = {1,2,3};

6.数组的遍历(traversal):即依次访问数组中每个元素的机制

注:数组的长度使用数组的长度属性:length(数组的长度也是数组中元素的个数)

7.数组中最常见的异常

(1)数组索引越界异常(运行时期异常,在编译阶段不检查)

java.lang.ArrayIdexOutOfBoundsException

原因:访问到了数组中不存在的索引而引发的异常

注:报错信息中心会提示报错的索引值,可根据报错信息对代码进行修改

(2)空指针异常(运行时期异常,在编译阶段不检查)

java.lang.NullPointerException

原因:引用没有指向数组,却在操作数组中的元素

即:数组类型的变量,不再指向内存中的数组,而是指向null值;此时用数组名[索引值]就会出现空指针异常

原文地址:https://www.cnblogs.com/cc-ccblog/p/9868297.html

时间: 2024-11-12 23:23:01

Java基础(二)---数组简介的相关文章

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];    

Java基础:数组

转载请注明出处:jiq?钦's technical Blog 一.数组初始化 无论如何,当你要实例化一个数组对象的时候,必须要指定其大小. 不能在提供了initializer的情况下再去指定数组的维度!!! 正确的初始化方式有: 方式1:Int[][] array =new int[][]{{1,2},{3,4},{5},{2,4,2,1}}; 方式2:Int[][] array ={{1,2},{3,4},{5},{2,4,2,1}}; 方式3: Int[][] array =new int[

java 基础概念 -- 数组与内存控制

问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. 问题2: Java数组的初始化方式 有哪几种? 两种:动态初始化 和 静态初始化.动态初始化 指的是 仅仅指定数组的长度,不指明每个数组的元素.  静态初始化 指的是 详细指定数组的每个元素. 问题3: Java 的基本类型数组 和 应用类型数组 之间,在初始化时的内存分配机制有什么差别? Jav

Java 基础 (二)

接上 Java 基础(一) 大纲:(1)类的高级特性 (2)集合类 (3)异常处理 (4)输入/输出 (5)Swing程序设计 抽象类:只申明方法的存在,而不去实现它的类:抽象类不能被实例化,也就是说不能创建其对象; 语法格式如下: abstract class 类名 { 类体 } 在抽象类中创建,没有实际意义,必须在子类中重写的方法为抽象方法:抽象方法只有方法的申明,没有方法的实现: 基本定义格式如下: abstract <返回值> 方法名(参数列表) PS:抽象方法不能用Private和S

6、JAVA基础-二维数组 及 面向对象理解

1:二维数组(理解) (1)元素是一维数组的数组. (2)格式: A:数据类型[][] 数组名 = new 数据类型[m][n]; B:数据类型[][] 数组名 = new 数据类型[m][]; C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}}; D:数据类型[][] 数组名 = {{...},{...},{...}}; (3)案例(掌握): A:二维数组的遍历 B:二维数组的求和 C:杨辉三角形 2:两个思考题(理解) (1)Java中的参数传递

java基础二 &lt;流程控制语句, 方法,数组,java内存结构&gt; 未完待续...

话不多说,直接上干货... 一:流程控制语句 break :  结束当前循环 continue:  结束本次循环,继续下次循环 return:  结束方法 二: 方法 1.方法的特点: 定义在类中的,有特定功能的函数. 方法与方法之间是平级的,不能在方法中定义方法.方法只能够调用方法. 2.方法的重载: 在同一类中,方法名相同,参数列表不同(个数不同,对应的类型不同). 与返回值类型无关. 对应的类型不同的话,与顺序有关系 与形式参数的变量名无关 3.方法的重写: 子类可继承父类中的方法,而不需

java基础 ---- 二维数组

--------   多维数组 之二维数组 三维以上的就很少使用了主要使用的就是二维数组,从j内存的分配原理角度来讲只有一位数组 -------  二维数组 一维数组的就是用下标标识数组元素的位置 二维数组实际上就是一个一维数组,他的每一个元素又是一个一维数组 ---  存储分布 实现方式 原文地址:https://www.cnblogs.com/obge/p/10741016.html

Java基础总结--数组

---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容器2.数组可以开始从0自动编号--进而可以通过下标方便的访问每个数据3.数组本质就是对象,数组名就是存储该数组对象的地址,数组的元素相当于对象的成员变量--会被进行默认初始化4.数组声明和初始化格式--*直接声明并初始化(静态初始化方式) int[] arr = {1,2,3};*先创建再初始化 i

Java基础之数组(六)

数组变量属引用类型,数组可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组中的元素可以是任何数据类型,包括基本类型和引用类型. Java语言中声明数组时不能指定其长度(数组中元素的个数),声明数组时,仅创建一个引用变量,该变量存在栈中,并没有在堆中分配内存,此时引用变量的值为null. 数组对象的创建,new 数组元素的类型[数组元素的个数],创建数组对象时,才在堆中分配内存,因此也可以指定数组元素的个数,同时将对象的堆内存地址赋值给数组引用变量.创建时,没有初始化数组元素,此时为默

Java 基础:数组

一.数组声明: int[] x; int x[]; 在Java中一般使用前者,机把int[]看做一个类型,C++中只能后者 二.数组初始化: 直接提供值: int[] x = {1, 3, 4}; int[][] y = { {1, 2, 3}, {4, 5} }; 各个维度的长度信息直接根据提供的值得出.这种使用大括号包裹的值序列作为数组看待,仅仅在数组初始化时才成立,其他情况均认为语法错误. 赋值初始化: 1.默认数组对象: int[] x = new int[5]; Integer[] y