Java SE 第31-34讲 数组(Array)
- 包装类(Wrapper Class)。针对于原生数据类型的包装。所有的包装类(8 个)都位于java.lang 包下。Java 中的 8 个包装类分别是:Byte, Short, Integer, Long, Float, Double, Character, Boolean。他们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换。
public class IntegerTest
{
public static void main(String[] args)
{
int a = 10;
Integer integer = new Integer(a);//原生数据类型包装成包装类
int b = integer.intValue();//使用引用名.类型Value();取出
//byteValue、floatValue、doubleValue等等
System.out.println(a == b);
}
}
数组(Array):相同类型数据的集合就叫做数组。
一、如何定义数组:
1. type[] 变量名 = new type[数组中元素的个数];
可以按照下列方式定义长度为 10 的数组:
int[] a = new int[10]; //第一种
2.type[] 变量名 = {new type[]}{逗号分隔的初始化值列表};
int[] a = new int[]{1,2,3};//第二种
或者
int[] a = {1,2,3,4};//第三种
-
数组中的元素索引是从 0 开始的。
对于数组来说,最大的索引等于数组的长度 – 1。 -
Java 中的每个数组都有一个名为 length 的属性,表示数组的长度。length 属性是 public,final,int 的。数组长度一旦确定,就不能改变大小。
//数组的赋值
int [] a = new int [100];
for(int i = 0;i < a.length; i++)
{
a[i] = i + 1;
}
//遍历数组
for(int i = 0;i < a.length; i++)
{
System.out.println(a[i]);
}
- int[] a = new int[10],其中 a 是一个引用,它指向了生成的数组对象的首地址,数组中每个元素都是 int 类型,其中仅存放数据值本身。
P数组里面存放的是最后对象的引用;引用指向生成的对象
- 二维数组。二维数组是一种平面的二维结构,本质上是数组的数组。二维数组的定义方式:type[][] a = new type[2][3];
第一个是行第二个是列
例如:int[] a =new int[2][3];
可以理解为定义了一个int类型的二维数组,数组有两行三列。
可以定义规整的数组,也可以定义不规整的数组
规整:int [][] a = new int [2][3];
不规整:int [][] a = new int [3][];
a[0] =new int [6];
a[1] =new int [2];
a[2] =new int [3];
- 三维数组。三维数组是一种立体结构,本质上是数组的数组的数组。
定义方式: type[][][] a = new type[2][3][4];
对于数组内容的比较一定不要用equals()方法
引用类型没给赋初值时内容为null
import Java.util.Arrays包可以用Arrays.equals(a,b)比较两个数组的内容是否相同。
在Java.lang包中的 arraycopy 类可以拷贝数组 System.array(a,0,b,0,4);
用法参考帮助文档