更新进度有点慢哈……,下面开始说第四章数组和字符串。。
咱们先来说数组,数组里面有,数组的定义,数组的创建,数组的使用,数组的类型,数组的元素,还有数组的属
性等等。
数组就是用来存放具有相同类型的一组数据,数组和变量有什么区别呢?那我们就来区别一下。
变量是用来存放一个数据,而数组呢,是用来存放多个数据,变量有变量名,变量类型,变量值,数组中同样也存
在,数组名,数组类型,和数组内存放的值,数组名命名规则,数组的类型和咱们第二章讲的变量命名规则,类型
都一样。前提是数组中定义数组类型之后,数组中存放的所有数据类型必须均为此类型,不能一个int,一个
double。。。
数组有长度,也就是数组中存放数据的个数。
数组中的每个数据我们叫他为数组中的元素,每一个元素为一个数据。
1. 数组的定义及创建。
数组的定义是类型名加数字名,int []a, 数组的创建, a=new int[4],数组在定义的时候不分配内存空间,而
数组中创建时才分配内存空间,数组创建的是连续的的存储空间,而
数组的创建要涉及到数组的初始化问题。一般定义初始化简写成 int [] a = new int[4]。二维数组的创建分完
全创建和不完全创建。
不完全创建:int a[][];a=new int[3][] a[0]=new int[2]; a[1]=new int[1]; a[2]=new int[3];
完全创建:double d[][]; d=new double[3][3];
2. 数组的初始化
数组的初始化分两种格式:动态初始化和静态初始化
格式: 1. 元素类型[] 变量名 = new 元素类型[元素的个数] eg: int [] a = new int[10],定义一个数组
名为a的int类型数组,长度是10.
2. 元素类型[] 变量名 = {元素1,元素2...} eg: char [] b = {'a','b','c','d'};
定义一个数组名为b的char类型数组,元素分别为a,b,c,d。
第一种属于动态初始化,每new一次分配一次内存,共分配内存为10的空间,数组中若没初始化元素,则默认int类
型中元素都为0,在内存中的分配情况: 先定义一个为a的变量,然后连续分配10个内存
空间,将第一个元素的地址交给变量a里面,所以输出a也是内存空间的地址。
第二种属于静态初始化,静态初始化虽然没有new关键字,但是也是经历了创建过程,在对每个元素赋值的过程已
经默默进行了数组的创建。内存分配情况同样和第一种一样,
就是分配的空间大小根据实际元素的多少来系统自己判断。
3.获取每个元素
如何获取数组中的单个元素呢,java中提供了很多属性,数组的长度用 .length获取。获取某个位置上的数组元
素,通过数组下标来找到,数组名加元素位置,元素在数组中的
位置是从0开始的,也就是说如果数组长度为10,数组中元素 下标是0~9。a[0] 表示第一个元素,a[2]表示第三个
元素,,以此类推。
之前讲的都是一维数组,数组其实还有二维数组,多维数组。二维数组基本上不用,而多维数组用的可能性是0。
二维数组同样有一维数组的属性。
数组中还有一个很重要的一个内容,那就是排序,之后写完字符串会加排序算法,还有数组和字符串的案例!