java学习笔记六——数组
2016-11-30 09:22
218 查看
达人科技 2016-11-29 21:20
Java数组要求所有数组元素具有相同的数据类型。因此,数组元素的数据类型是唯一的。
数组定义如下:
通常我们都使用第一种方式。注意:数组的定义不能指定数组长度,只有在初始化时才指定长度。
数组初始化:
动态初始化时必须为数组指定长度,系统会自动为数组每个元素指定默认值,默认值与数组元素类型有关,具体如下:
整数类型(byte、short、int、long),默认值为0
浮点类型(float、double),默认值为0.0
字符类型(char),默认值为'\u0000‘
布尔类型(boolean),默认值为false
引用类型(类、接口和数组),默认值为null
下标从0开始,最后一个下标是length-1,即数组总长度-1。当下标大于等于数组长度时会产生数组下标越界异常(java.lang.ArrayIndexOutOfBoundsException)。
区别在于,前者i表示数组下标,后者表示数组元素。再看下面的例子:
而且,foreach语句一般不能修改元素,否则很容易出错。而且,foreach的效率略低于for语句,当数据量越大时效果越明显,当嵌套循环越多时越明显。
不过foreach编程时会方便一点,所以当数据量不是特别大时,使用foreach会方便点。
最后,给出一种效率最高的方法:
就是把获取数组长度放在了for语句的语句1的位置,这样就不必每次循环都去读取数组长度了。
数组类型
数组是一种常见的数据结构,可用于存放多个数据,每一个数组元素存放一个数据,通常可以通过下标进行访问其元素。Java数组要求所有数组元素具有相同的数据类型。因此,数组元素的数据类型是唯一的。
数组定义如下:
type arrayName; //推荐使用 type arrayName; //不推荐使用
通常我们都使用第一种方式。注意:数组的定义不能指定数组长度,只有在初始化时才指定长度。
数组初始化:
int intArr = new int{1,2,3,4,5}; //静态初始化 int intArr2 = {1,2,3,4,5}; //静态初始化的简化版,通常使用这种 int intArrDy = new int[5]; //动态初始化
动态初始化时必须为数组指定长度,系统会自动为数组每个元素指定默认值,默认值与数组元素类型有关,具体如下:
整数类型(byte、short、int、long),默认值为0
浮点类型(float、double),默认值为0.0
字符类型(char),默认值为'\u0000‘
布尔类型(boolean),默认值为false
引用类型(类、接口和数组),默认值为null
使用数组
访问数组
数组最常用的用法是访问数组,包括对数组元素的读取和赋值。使用下标访问数组元素,如下:int intArr = {1,2,3,4,5}; intArr[4] = intArr[0] + intArr[1]; System.out.println(intArr[4]); //3
下标从0开始,最后一个下标是length-1,即数组总长度-1。当下标大于等于数组长度时会产生数组下标越界异常(java.lang.ArrayIndexOutOfBoundsException)。
遍历数组
通常有两种方法遍历数组,如下:int intArr = {23,43,65,87,87}; //使用for语句 for (int i = 0; i < intArr.length; i++) { System.out.println(intArr[i]); //遍历打印数组元素 } //使用foreach语句 for (int i : intArr) { System.out.println(i); //遍历打印数组元素 }
区别在于,前者i表示数组下标,后者表示数组元素。再看下面的例子:
String strArr = {"aaa","bbb","ccc"}; //使用for语句 for (int i = 0; i < strArr.length; i++) { System.out.println(strArr[i]); //遍历打印数组元素 } //使用foreach语句 for (String string : strArr) { System.out.println(string); //遍历打印数组元素 }
而且,foreach语句一般不能修改元素,否则很容易出错。而且,foreach的效率略低于for语句,当数据量越大时效果越明显,当嵌套循环越多时越明显。
不过foreach编程时会方便一点,所以当数据量不是特别大时,使用foreach会方便点。
最后,给出一种效率最高的方法:
String strArr = { "aaa", "bbb", "vvv" }; for (int i = 0, len = strArr.length; i < len; i++) { System.out.println(strArr[i]); }
就是把获取数组长度放在了for语句的语句1的位置,这样就不必每次循环都去读取数组长度了。
相关文章推荐
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- java数组学习笔记二:
- JAVA 学习笔记 (数组)
- Java学习笔记-数组与ArrayList
- Java学习笔记---5.Java数组和方法
- Java 数组 容器 学习笔记
- JNI学习笔记5——本地方法处理java数组/引用问题/缓存jfieldID/jmethodID
- Java基础学习笔记(二)数组,包装类
- JAVA学习笔记——数组
- JAVA学习笔记(4)数组(简)
- java数组学习笔记
- 【Java学习笔记】数组的相关事项
- java学习笔记---数组
- Java学习笔记003——继承、抽象类、类相等测试、泛型数组列表、可变参数方法
- Java学习笔记2 - 数组的基本操作
- java学习笔记之数组
- Java学习笔记——数组
- java学习笔记04--数组
- java学习笔记04--数组
- java学习笔记04--数组