java中关于数组知识的小总结
2016-09-12 11:15
197 查看
C/C++与java虽然有很多相似的地方,但是也有一些差异,数组就是一个很明显的例子;今天我们就来谈谈java中的数组相关的知识:
先介绍一维数组
1:数组定义
在java中数组定义的方法有两种,我们先以一维数组为例:
int a[]; 或者 int[] a;
【注意】其中类型和数组名自己确定,但是要注意这里和C/C++中的区别,在C/C++中数组定义的时候可以指定大小,
但是在java中数组定义的时候不能指定大小,此时a仅仅是一个引用,代表一个数组名,但是并没有对应的内
存空间;
2:产生数组空间
产生数组空间的方法有两种:在定义时直接赋值或者通过new运算符分配空间
在定义时直接赋值:
int a[]={1,2,3};
通过new运算符分配空间:
int[] a=new int[10];
3:数组初始化
组初始化也有两种方式:动态初始化和静态初始化
静态初始化:又程序员显示的指定每个数组元素的初值,数组的大小又系统决定,使用静态初始化只指定数组元素初值
而不指定数组长度,如下 :
int a[]=new int []{10,20,30,40};
或者:
int a[]={10,20,30,40};
动态初始化:程序员只指定数组长度,数组初值又系统指定:
int[] a=new int[5];
【注意】那么我们来讨论一下系统会给数组指定哪些初值呢?来看一个程序:
public static void main(String[] args) {
int[] a=new int[5];
for(int i:a)
System.out.print(i+" ");
}
结果:
0 0 0 0 0
从这个例子可以看出,对于int类型,系统会自动指定为0,具体来说,系统按照如下规则指定初值:
(1)整数类型(byte,short,int,long)数组元素的值为0;
(2)浮点类型(float,double)数组元素的值为0.0;
(3)字符类型char的数组元素值为'\u0000';
(4)布尔类型boolean数组元素的值是false;
(5)类、接口和数组属对象类型,其数组元素的值为null。
对于二维数组,java和C/C++也有区别,在java中,二位数组不一定是矩形的,形式更加灵活,二位数组的每一个元素都是一维数组,
每个以为数组可以指定自己的元素个数而不受其他数组影响;如下图:
int a[][]=new int[2][];
![](https://img-blog.csdn.net/20160912121021584?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
先介绍一维数组
1:数组定义
在java中数组定义的方法有两种,我们先以一维数组为例:
int a[]; 或者 int[] a;
【注意】其中类型和数组名自己确定,但是要注意这里和C/C++中的区别,在C/C++中数组定义的时候可以指定大小,
但是在java中数组定义的时候不能指定大小,此时a仅仅是一个引用,代表一个数组名,但是并没有对应的内
存空间;
2:产生数组空间
产生数组空间的方法有两种:在定义时直接赋值或者通过new运算符分配空间
在定义时直接赋值:
int a[]={1,2,3};
通过new运算符分配空间:
int[] a=new int[10];
3:数组初始化
组初始化也有两种方式:动态初始化和静态初始化
静态初始化:又程序员显示的指定每个数组元素的初值,数组的大小又系统决定,使用静态初始化只指定数组元素初值
而不指定数组长度,如下 :
int a[]=new int []{10,20,30,40};
或者:
int a[]={10,20,30,40};
动态初始化:程序员只指定数组长度,数组初值又系统指定:
int[] a=new int[5];
【注意】那么我们来讨论一下系统会给数组指定哪些初值呢?来看一个程序:
public static void main(String[] args) {
int[] a=new int[5];
for(int i:a)
System.out.print(i+" ");
}
结果:
0 0 0 0 0
从这个例子可以看出,对于int类型,系统会自动指定为0,具体来说,系统按照如下规则指定初值:
(1)整数类型(byte,short,int,long)数组元素的值为0;
(2)浮点类型(float,double)数组元素的值为0.0;
(3)字符类型char的数组元素值为'\u0000';
(4)布尔类型boolean数组元素的值是false;
(5)类、接口和数组属对象类型,其数组元素的值为null。
对于二维数组,java和C/C++也有区别,在java中,二位数组不一定是矩形的,形式更加灵活,二位数组的每一个元素都是一维数组,
每个以为数组可以指定自己的元素个数而不受其他数组影响;如下图:
int a[][]=new int[2][];
相关文章推荐
- java语句及数组知识总结
- 黑马程序员_Java第17天知识总结_集合框架的工具类_Collections_Arrays_将数组变成list集合_集合变数组_高级for循环_可变参数
- JAVA----关于数组模拟链表的练习总结
- 黑马程序员_Java第21天知识总结对象流_管道流_RandomAccessFile_数据流_字节数组流
- 关于一些JAVA的基础知识总结
- java 自我知识总结(八)数组的复制
- java基础知识要点总结之几个重要关键字(关于static、this、final、)
- Java【多线程知识总结(7)】多线程同步问题-关于synchronized代码块和synchronized方法的应用
- 1.21 Java基础总结 数组知识
- 初学java——关于数组容易忽视的地方总结
- java基础知识总结(4)(Random、数组)
- Java【多线程知识总结(7)】多线程同步问题-关于synchronized代码块和synchronized方法的应用
- 黑马程序员 Java基础知识总结-数组
- Java基础知识 十七 (关于反射一些方法的总结)
- 关于Java中的继承,包括重写、构造器、访问权限、构造过程等知识总结
- 关于Java中IO流部分的知识总结
- Java 将文件转为字节数组知识总结及实例详解
- Java基础知识总结(数组)
- 关于java的总结,和知识框架
- 关于java数组排序的总结