7.2

来源:互联网 发布:少林足球影评知乎 编辑:程序博客网 时间:2024/05/06 13:28

(1)  数组的概念:

相同数据类型的元素组成的集合[1,6,23,54,87]   [1.5,3.0,4.6,23.7]

       (2)特点:

数组的长度:通过(arr.length)来调用

       (3)定义格式

              A: int[]arr = new int[5];

              B: int arr[]= new int[5];

 

              推荐是用A方式,B方法要能看懂

       (4)一维数组的初始化

              A:静态初始化:声明数组分配空间并赋值

                     举例:int[] arr = new int[]{2,3,5,1,7,4};

                     简化版:int[] arr = {2,3,5,1,7,4};

错误写法:arr = {1,2,3,45,6,9};

              B:动态初始化:就是动态的从键盘上录入数据

                     举例:int[] arr1 = new int[5];

错误写法:int[5] arr1 = new int[];

C:无论动态、还是静态初始化数组,一定在创建的时候,就指明了数组的长度

(5)如何引用数组元素:数组名+数组下标

(6)如何遍历数组

for(int i = 0;i<arr.length;i++){

             System.out.println(javaScore[i]);

      }

(7)Java的内存分配

              A: 栈区

              B: 堆区 

              C: 方法区          

D: 静态域

画图:内存的基本结构



(8)数组内存图

              一维数组的内存结构:画图,下面三段代码在内存中的结构

int[] scores = newint[4];

scores[0] = 89;

scores[3] = 90;

 

String[] strs1 =new String[]{“AA”,”BB”};

 

String[] strs =new String[4];

strs[0] ="AA";

strs[1] ="BB";

 

              注意:

                     a:局部变量的概念:

                     b:栈内存和堆内存的区别

                           

                                分别写出各类型变量的默认值

                                         

                                垃圾回收器的回收机制


       (9)二维数组

A:声明并初始化

//一维:int a[];

 

//动态int[] a = newint[5];

                                     a[0]=1;

                                     a[1]=2;

                                     a[2]=3;

                                     a[3]=4;

                   a[4]=5;      

 

//静态int a[]= new int []{1,2,3}

 

//二维://4行3列,数组长度为4,每个元素是一维数组,长度为3

//动态第一种

int a[][] = {{1,2},{3,4,5},{7,8,9},{15,45}};

//动态第二种

Int a[][]=new int [4][3];

//静态初始化

int[ ][ ] score = new int[ ][ ] { {89,79},{76,86},{59,68} };

 

 

B:如何引用二维数组的元素

用数组名[下标][下标]调用 

C:二维数组的长度:

数组名.length  行长度

数组名[下标].length  列长度

D:遍历二维数组

              int[][] a=newint [][]{{1,2,3},{1,5,7},{4,8,9}};

       for(int i=0;i<a.length;i++){

           for(int j=0;j<a[i].length;j++){

              System.out.print(a[i][j]);

           }

           System.out.println();

       }

          

E:

String[][] names;

names = newString[6][5];

 

String[][] names;

names = newString[2][];

names[0] = newString[5];

names[1] = newString[3];

 

int[][] i = new int[3][];

i[0] = new int[3];

i[1] = new int[2];

i[2] = new int[4];

i[1][0] = 90;

i[2][1] = 100;

 

 

 

 

数组的常见异常:

                   //1.数组下标越界的异常的代码举例

int a[]=new int[5];

a[0]=1;

                                     a[1]=2;

                                     a[2]=3;

                                     a[3]=4;

                                     a[4]=5; 

System.out.println(a[6]);

                   //2.空指针的异常的代码举例

                   //第一种:

         int a[]=new int[5];

a[0]=1;

                                     a[1]=2;

                                     a[2]=3;

                                      

System.out.println(a[4]);

                                              

                   //第二种:

boolean a[]=new boolean[5];

System.out.println(a[4]);

                           

                   //第三种:

String a[]=new String[5];

System.out.println(a[4]);

       (10)数组的常用算法

              A:求数组元素的最大值、最小值、和、平均数,写出代码

             

B:数组的复制和反转:

A:                  int[] array1, array2;

array1 = new int[] { 2, 3, 5, 7, 11, 13,17, 19 };

array2 = array1;

 

B:                int[]array1;

int[] array2;

array1 = new int[] { 2, 3, 5, 7, 11, 13,17, 19 };

array2 = new int[array1.length];

for (int i = 0; i < array2.length; i++){

array2[i] = array1[i];

}

for (int i = 0; i < array2.length; i++){

if (i % 2 == 0) {

array2[i] = i;

}

}

 

数组的反转:写出代码

int []array1 = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };

for(int i=0;i<array1.length/2;i++){

           int temp =array1 [i];

           array1 [i]=array1 [array1.length-1-i];

           array1 [array1.length-1-i]=temp;

       }

       for(inti=0;i< array1.length;i++){

          

              System.out.println(array1 [i]+”,”);

           }

 

 




原创粉丝点击