java中的数组

java中的数据类型

1.基本数据类型
            byte  short int long float double  boolean char
 2.复合数据类型【引用数据类型】
            数组  类  接口  

1.什么是数组?

相同数据类型的数据值,按照顺序,组成的复合数据类型

2.如何定义一个一维数组?

 格式:数据类型  数组名称[];
            数据类型  []数组名称;
 例如:int intarray1[];       
            char []chararray1;  
            “[]”数组的标志。

3.如何创建一个一维数组? 

 创建数组就是指定数组的存储单元的个数。
 创建数组是在定义数组之后。
 格式:数组名称 = new 数据类型[存储单元的个数];
 例如:intarray1 =  new int[4];
            chararray1 = new char[5];

4.如何为一维数组赋值?

 为数组赋值其实就是将具体的数值保存在数组的指定位置上。
 1.逐个赋值--按照指定位置将具体的数值保存在数组中。
    格式:数组名称[指定位置] = 具体的数值;
    指定位置就是我们常说的下标,从0开始数。
    数组中的第一个数据存储单元,对应的下标是0;
    数组中的第二个数据存储单元,对应的下标是1;
     ......
    注意: 1.被保存在数组中数据值,要与数组的数据类型匹配。
             2.被保存在数组中数据值个数,不能超过创建数组时指定的存储单元的个数。
    例如:
            //intarray1[0]=123.5;
            intarray1[0]=123;
            intarray1[1]=345;
            intarray1[2]=567;
            intarray1[3]=789;
            //java.lang.ArrayIndexOutOfBoundsException: 4
            //intarray1[4]=999;
   2.直接赋值--定义数组创建数组,为数据中保存数据值,一句话完成
     一句话 = 定义数组 + 创建数组 +保存数据值;
     格式1: 数据类型  数组名称[]=new 数据类型[]{数据值1,数据值2,...数据值n}
     数据类型  []数组名称=new 数据类型[]{数据值1,数据值2,...数据值n}
     注意:被保存在数据中数据值,要与数组的数据类型匹配。
     原本需要设置数组存储单元的个数的地方,现在一定不能设置了
     例如:
            char  chatarray4[]=new char[]{'H','E','L','L','O'};    
            char  []chatarray5=new char[]{'H','E','L','L','O'};
     格式2: 数据类型  数组名称[]={数据值1,数据值2,...数据值n}
     数据类型  []数组名称={数据值1,数据值2,...数据值n}    
     注意:被保存在数据中数据值,要与数组的数据类型匹配。
     例如:
            char  chatarray2[]={'A','B','C'};
            char  []chatarray3={'H','E','L','L','O'};

5.如何从一维数组中取值?

根据数据在数组中的位置来将数据值取出。
数据在数组中的位置--下标,从0开始
格式:数组名称[下标];
例如:System.out.println(chatarray3[4]);
如果我们需要将数组中的所有值逐个取出,怎么弄?
将数组中的所有值逐个取出---遍历数组
循环修改数组的下标值。
例如:

//for循环遍历数组
for(int i=0;i<5;i++){
	System.out.println("for循环遍历数组--"+chatarray3[i]);
}
//while循环遍历数组
int j=0;
while(j<5){
	System.out.println("while循环遍历数组--"+chatarray3[j]);
	j++;
}
//do{}while()循环
int k=0;
do{
	System.out.println("do{}while循环遍历数组--"+chatarray3[k]);
	k++;
}while(k<5);


6.一维数组的length属性

1.先定义,后创建,接着再赋值构建起来的数组,那么这种方式构建的数组的length属性,表示的是创建数组时,指定的数组存储单元的个数。

例如:
char  chararr1[]; //定义数组
chararr1=new char[5];//创建数组
chararr1[0]='A';
chararr1[1]='B';
//保存在chararr1中的元素个数是---2
//chararr1中指定的存储单元个数是---5
System.out.println("length==="+chararr1.length);

2.通过直接赋值构建起来的数组,那么它的length属性,表示的是存储在数组中的元素个数。

例如:
char  chararr2[]={'A','B','C'};
//保存在chararr2中的元素个数是---3
//chararr2中指定的存储单元个数是---3
System.out.println("length==="+chararr2.length);

         因为有了数组的length属性,所以我们在遍历数组的时候,就不需要自己手动去数数组中元素的个数。

例如:
//for循环遍历数组
for(int i=0;i<chatarray3.length;i++){
	System.out.println("for循环遍历数组--"+chatarray3[i]);
	}
//while循环遍历数组
int j=0;
while(j<chatarray3.length){
	System.out.println("while循环遍历数组--"+chatarray3[j]);
	j++;
}
//do{}while()循环
int k=0;
do{
	System.out.println("do{}while循环遍历数组--"+chatarray3[k]);
	k++;
}while(k<chatarray3.length);

7.增强的 for 循环遍历一维数组

格式: for(数组的数据类型  保存从数组中取出的数据值变量:需要被遍历的数组名称){
        使用取出的数据值变量
     }

 

例如:
for(char value:chatarray3){
	System.out.println("增强的 for 循环===="+value);
}


    8.数组的内存结构 


 

9.如何定义一个二维数组?

 格式:数据类型  数组名称[][];
            数据类型  [][]数组名称;
 例如:  char chararr1[][];

10.如何创建一个二维数组?

二维数组就相当于一个表格,表格有行和列组成

格式:数组名称 =new 数据类型[行数][行中的列数];
例如:chararr1=new char[2][5];

11.如何为二维数组赋值?

1.逐个赋值--将相当于给表格中的每一个单元格赋值
   格式:chararr1[行下标][列下标] = 具体数据值;
   例如: chararr1[0][0]='H';
            chararr1[0][1]='E';
            chararr1[1][0]='W';
            chararr1[1][1]='O';
 2.直接赋值--定义+创建+赋值
    格式1: 数据类型  数组名称[][]=new 数据类型[][]{{值1,值2},{值1,值2},...{}};
               数据类型  [][]数组名称=new 数据类型[][]{{值1,值2},{值1,值2},...{}};

    格式2: 数据类型  数组名称[][]={{值1,值2},{值1,值2},...{}};
               数据类型  [][]数组名称={{值1,值2},{值1,值2},...{}};  

               例如:char char2[][]={{'A','B','C'},{'E','F','G'}}; 

12.如何从二维数组中取值?

   格式: 数组名称[行下标][列下标];
   例如: System.out.println(char2[1][0]); // E

13.循环遍历二维数组

使用循环的嵌套来遍历二维数组

例如:

//for循环遍历
for(int i=0;i<2;i++){
	for(int j=0;j<3;j++){
		System.out.pritnln(char2[i][j]);
	}
}

14.二维数组的length属性--表示的是行数

 例如:  System.out.println((char2.length);//2

15.Arrays类

是一个数组的帮助类,里面提供了一组静态方法,来帮助我们灵活使用数组。
1.数组转字符串  Arrays.toString(array);
2.填充数组  Arrays.fill(array,数据值);
                    Arrays.fill(array, 开始位置,结束位置, 数据值); //部分填充
3.数组元素排序  Arrays.sort(array); 默认升序排列
                           Arrays.sort(array, 开始位置, 结束位置); //部分排序
4.数组复制 int[] arrayCopy = Arrays.copyOf(array, 3);

 


 

       


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值