java 从零开始,学习笔记之基础入门<数组>(七)

时间:2023-02-26 21:01:57

数组

数组是用来存放多个相同类型的数据

数组的语法格式

数组类型[]  数组名=new  数组类型[数组的长度];

 

数组的声明有两种形式:

数组类型[]  数组名;

数组类型  数组名[];

Int[] is;   int is[];

数组的创建:

    //数组的创建 创建一个长度为5的整型的数组

    int[]ins = newint[4];

    floatflas[] =newfloat[10];

数组是用来存储一组相同数据类型数据的数据结构。

 

数组也是一种引用类型。

数组的元素可以是简单类型的数据,也可以是引用类型的数据。

数组里面存放的数据可以使类的对象或者接口对象或者是数组。

 

数组的声明不能指定数组的长度,而需要在数组的创建的时候指定数组的长度

    int[]is;

    int is2[];

    String[] str;

String strs[];

 

String[] s =new String[3];

创建完这个数组之后,那么在内存中就会给这个数组分配存储空间

S

S[0]=null

S[1]=null

S[2]=null

数组的赋值分两种:

     静态赋值:

     动态赋值:

 

如果创建的是一个引用类型的数组,在栈中存放的是数组对象

Stt

 

St1(地址 1)

 St2(地址 2)

Stt[0]=st1

Stt[1]=st2l

 

Stt表示的是Student类的数组,数组中包含St1和St2

 

 

       //引用数据类型数组的创建(类、接口、数组)

       //如果是创建一个类的数组

        Student[] sts = new Student[5];

        Student st1 = new Student();

        Student st2 = new Student();

        Student[] stt = {st1,st2};

 

  数组中元素的引用,数组索引从0开始到数组的长度减1

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5

    at com.softeem.array.Array02.main(Array02.java:21)

 

这属于数组下标越界异常

 

 

数组的遍历

   

//采用foreach语句对数组中的值进行输出

        //  for(数组类型  自定义名称:数组名){}

        //自定义名称在这里就代表数组的每一个元素

       

        for(String s:str){

        System.out.println(s);

        }

       

        int[] iii = {12,23,34,456};

        for(int u:iii){

        System.out.println(u);

 

数组拷贝

       //数组的拷贝

       //将一个数组中的值拷贝到另一个数组中去

       //1:两个数组必须是相同的类型

       //2:目的数组一定要大于或者等于原数组的长度,否则会丢失数据

       //3:如果目的数组长度大于原数组的长度,那么超出的范围以数组类型的默认值填充

      

       //数组的拷贝需要使用system类中的拷贝数组的方法

      

       String[] strs = {"light","road","floor","paper"};

       String[] copystrs =  new String[4];

//        src - 源数组。

//        srcPos - 源数组中的起始位置。

//        dest - 目标数组。

//        destPos - 目标数据中的起始位置。

//        length - 要复制的数组元素的数量。

      

       System.arraycopy(strs, 0, copystrs, 0, 4);

       //输出copystrs数组里面的值

       for(String sss:copystrs){

           System.out.println(sss);

       }

 

多维数组

   int[][]a = {{1,2},{10,2},{20,1}}

       //多维数组

       String[][] hh = null;

       String gg[][] = {{"1","2","3"},{"4","5","6"},{"a","b"}};

          

       for(String[] f:gg){

           for(String ss:f){

              System.out.println(ss);

           }