java中的数组

Java 中的数据类型有2类
1.基本数据类型
2.复合数据类型
3.14.什么是数组?
相同数据类型的数据按照顺序组成的复合数据类型就是数组。
  1.相同数据类型的数据----将来被保存到数组中的数据都是同一类型。
  【男澡堂子里都是男的】
  2.按照顺序
  3.复合数据类型
3.15.如何定义一个一维数组?
  格式: 数据类型 数组名称[ ];
   数据类型 [ ]数组名称;
   数组的定义与变量的定义相似,只是需要”[ ]”与变量区分,因此上”[ ]”就是数组的标志。
   名称的前面/后面出现一个“[ ]”就是一维数组,有两个”[ ][ ]”就是二维数组,两个以上就是多维数组。
3.16.如何创建一个一维数组?
创建数组实际上就是为数组开辟指定的存储空间,用来保存一组数组。
   1.先定义,后创建
  定义:(1)数据类型 数组名称[ ]
             (2)数据类型 [ ]数组名称;
   创建:数组名称 = new 数据类型[指定的存储空间];
   指定的存储空间是一个整数int
   2.定义+创建
            (1) 数据类型 数组名称[ ] = new 数据类型[指定的存储空间];
            (2) 数据类型 [ ]数组名称 = new 数据类型[指定的存储空间];
例如:

public  class  ShuZuDemo1{
	public static  void main(String args[]){
		//格式: 数据类型  数组名称[];
 		//定义--数据类型  []数组名称;
		int shuzu1[];
        char []shuzu2;
		//1.先定义,后创建
   		//数据类型  数组名称[];
   		//数据类型  []数组名称;
   		//数组名称 = new 数据类型[指定的存储空间];
		//指定的存储空间是一个整数int
		int shuzu3[];
		shuzu3=new int[4];
		char []shuzu4;
		shuzu4 = new char[5];
		//shuzu4 = [5]new char;//错误
		//shuzu4 = new char[];//错误
		//shuzu4 = new char[2.5];//错误

		//2.定义+创建
   		//数据类型  数组名称[ ] = new 数据类型[指定的存储空间];
   		//数据类型  [ ]数组名称 = new 数据类型[指定的存储空间];
		int shuzu5[]=new int[4];
        char []shuzu6=new char[5];
	}
}

3.17.如何为一维数组赋值?
    1.逐个赋值—就是挨个为数组的每一个存储空间存放数据值。
       因为是按照顺序存放数据的,顺序是从0开始的,每一顺序编号就是一个数组的存储空间,这个顺序编号就叫下标。
        当保存在数组中的数据超过数组指定的存储空间就是会出错。
        java.lang.ArrayIndexOutOfBoundsException:
        格式: 数组名称[下标] = 数据值;
    2.直接赋值—就是在创建数组的时候将数据值保存到数组中。
        2.1 new 数据类型[ ]{数据值1,数据值2,…,数据值n};
        //创建数组的时候不能指定存储空间
        2.2 数据类型 数组名称[ ]={数据值1,数据值2,…,数据值n};
例如:

public  class  ShuZuDemo2{
	public static  void main(String args[]){
		char shuzu1[]=new char[5];
		//1.逐个赋值---就是挨个为数组的每一个存储空间存放数据值。
  		//因为是按照顺序存放数据的,顺序是从0开始的,
		//每一顺序编号就是一个数组的存储空间,这个顺序编号就叫下标。
		//当保存在数组中的数据超过数组指定的存储空间就是会出错。
		//java.lang.ArrayIndexOutOfBoundsException: 5
		//格式: 数组名称[下标] =  数据值;
		 shuzu1[0]='A';
		 shuzu1[1]='B';
		 shuzu1[2]='C';
		 shuzu1[3]='D';
		 shuzu1[4]='E';
		//shuzu1[5]='F'; //java.lang.ArrayIndexOutOfBoundsException: 5
		//2.直接赋值---就是在创建数组的时候将数据值保存到数组中。
		//2.1 new 数据类型[]{数据值1,数据值2,...,数据值n};
		 int shuzu2[];
		 shuzu2 = new int[]{100,200,300};
        //创建数组的时候不能指定存储空间
		//double shuzu3[]=new double[4]{12.5,23.8,456.7,23.9};//错误
		//2.2 数据类型  数组名称[]={数据值1,数据值2,...,数据值n};
		 char  shuzu4[]={'a','b','c','d','e'};	
	}
}

3.18.如何从一维数组中取值?
  只要我们能够得到数组的存储位置,就可以得到数组中的数据值。
  格式:数组名称[下标]
  shuzu1[2]—从shuzu1这个数组中得到第3个位置中保存的数据值。
例如:`

char shuzu1[]={'A','B','C','D','E'};
System.out.println("取出数组中的最后一个值---"+shuzu1[4]);

3.19.一维数组的length属性
length表示指定空间大小
例如:

     //length表示指定空间大小
     int shuzu1[]=new int[4];
     shuzu1[0]=66;
     shuzu1[2]=88;
     System.out.println("shuzu1的length属性---"+shuzu1.length); 
     //length表示数组元素个数【指定空间大小】
     int shuzu2[]={1,2,3,4,5,6,7};

3.20.数组的内存结构

3.21.循环遍历一维数组
例如:for循环遍历

public class Bian{
  public static void main(String args[]){
  int shuzu1[]={1,2,3,4,5,6};
  //for循环遍历数组
  for(int i=0;i<shuzu1.length;i++){
   System.out.println("shuzu1--"+shuzu1[i]);
         }
       }
 }      

例如:while循环遍历

   //while遍历数组
     int b =0;
     while(b<shuzu1.length){
     System.out.println("shuzu1--"+shuzu1[b]);
     b++;
   }

例如:do{} while()遍历:

           //do{} while()遍历数组
           int k=0;
           do{
            System.out.println("shuzu1--"+shuzu1[k]);
           k++;
           }while(k<shuzu1.length);
           System.out.println("shuzu1--"+shuzu1[k]);

3.22.增强的for循环遍历一维数组
   增强的for循环格式:
   for(数组的数据类型 变量名称 : 被遍历的数组名称){
   循环体;
    }
例如:

public class For{
  public static void main(String  args[]){
  int shuzu1[]={6,5,4,3,2,1};
  for (int value:shuzu1){
   System.out.println("int 数组 shuzu1--"+value);
        }
     }
}

3.23.如何定义一个二维数组?
    (1)格式: 数据类型 数组名称[ ][ ];
    (2) 数据类型 [ ][ ]数组名称;
3.24.如何创建一个二维数组?
二维数组可以保存一个类似表格一样的数据,所以我们可以认为二维数组就是一个表格。
   1.先定义,后创建
    定义:(1)数据类型 数组名称[ ][ ];
    定义 (2) 数据类型 [ ][ ]数组名称;
    创建: 数组名称=new 数据类型[表格行][行中的列];
例如:

  int  shuzu1[][];
  shuzu1 = new int[2][3];

    2.定义+创建
    数据类型 数组名称[ ] = new 数据类型[表格行][行中的列];
    数据类型 [ ]数组名称 = new 数据类型[表格行][行中的列];
例如:

int  shuzu1[][]=new int[2][3];

3.25.如何为二维数组赋值?
    1.逐个赋值—就是挨个为数组的每一个存储空间存放数据值。
例如:

   int  shuzu1[][]=new int [2][3];
   shuzu1[0][0]=10;
   shuzu1[0][1]=20;
   shuzu1[0][2]=30;
   shuzu1[1][0]=40;
   shuzu1[1][1]=50;
   shuzu1[1][2]=60;


   2.直接赋值—就是在创建数组的时候将数据值保存到数组中。
    2.1 new 数据类型[ ][ ]{{数据值1,数据值2,…数据n},{数据值1,数据值2,…数据n}};
    //创建数组的时候不能指定存储空间
    2.2 数据类型 数组名称[ ]={{数据值1,数据值2,…数据n},{数据值1,数据值2,…数据n}};
例如:

int shuzu2[][]=new int[][]{{10,20,30},{40,50,60}};
int shuzu3[][]={{50,100,100},{60,70,80}};

3.26.如何从二维数组中取值?
    只要我们能够得到数组的存储位置,就可以得到数组中的数据值。
    格式:数组名称[行][列];
    shuzu1[2][3]—从shuzu1这个数组中得到第3行,第4列中保存的数据值。
3.27.二维数组的length属性 – 行数
例如:

public class ShuZu2{
     public static void main(String args[]){
     int  shuzu1[][]=new int [2][3];
     shuzu1[0][0]=10;
     shuzu1[0][1]=20;
     shuzu1[0][2]=30;
     shuzu1[1][0]=40;
     shuzu1[1][1]=50;
     shuzu1[1][2]=60;
     int shuzu2[][]=new int[][]{{10,20,30},{40,50,60}};
     int shuzu3[][]={{50,100,100},{60,70,80}};
     System.out.println("shuzu1的length==="+shuzu1.length);
     System.out.println("shuzu2的length==="+shuzu2.length);
     System.out.println("shuzu3的length==="+shuzu3.length);
    }
}

3.28.循环遍历二维数组
使用双层循环结构,外层控制行,内层控制列

public class ShuZu3{
      public static void main(String args[]){
      int  shuzu [][]={{10,20,30,40},{100,200,300,400},{50,20,40,60}};
      for(int i=0;i<shuzu.length;i++){
      for(int k=0;k<3;k++){
      System.out.println("shuzu的值==="+shuzu[i][k]);
            }
         }
      }
}

3.29.基本数据类型与复合数据类型的区别?
   1 .基本数据类型只在内存栈去保存数据
   2.复合数据类型在内存的栈区和堆区都有保存数据,栈区保存数据堆   区的存储位置,堆区则保留真实的数据值。
   3 .由于计算执行的时候,总是先从内存栈区获取数据,因此基本数据类型的执行速度要比复合数据类型的执行速度快。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值