5.Java语言数组知识点总结

版权声明:原创,转载请说明,谢谢! https://blog.csdn.net/ajia5216/article/details/81842142

数组

1.容器的概念:

容器是将多个数据存储到一起,每个数据称为该容器的元素。

生活中的容器:水杯,衣柜,教室。

2.数组的概念:

              数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。

1.所有元素类型必须一致

2.一旦创建长度不能改变

3.数组的定义:(三种定义方式)

       1.方式一:

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

int[] arr = new int[3];

  1. 长度自己指定

2.方式二:

              数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};

              int[] arr = new int[]{1,2,3,4,5};

长度自动识别

       3.方式三:

                     数据类型[] 数组名 = {元素1,元素2,元素3...};

                     int[] arr = {1,2,3,4,5};

       4.总结:

                     数组存储的数据类型: 创建的数组容器可以存储什么数据类型。

[] : 表示数组。

数组名字:为定义的数组的变量名,满足标识符规范,可以使用名字操作数组。

new:关键字,创建数组使用的关键字。

数组存储的数据类型: 创建的数组容器可以存储什么数据类型。

[长度]:数组的长度,表示数组容器中可以存储多少个元素。

注意:数组有定长特性,长度一旦指定,不可更改。

4.数组的访问:

       1.格式:

                     数组名[索引];索引从0开始

       2.索引:

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引 (index),可以通过数组的索引访问到数组中的元素。

       3.访问:

                     数组名[索引] = 数值;表示给数组元素赋值

                     变量 = 数组名[索引]  表示取出数组元素赋值给变量

       4.数组的内存图解:int[] array = new int[4] 四个元素

 

 
 


                    

 

       5.注意:

数组越界:索引超过长度(索引最大是长度-1)

空指针:数组内容被清除,数组名=null

5.数组的遍历:

       通过for循环遍历,次数为数组长度。

 

 
 


       初始化循环变量从零开始,循环条件可为1)< 数组名.length 2)<=数组名.length-1

6.数组作为方法参数和返回值:

       1.数组作为方法参数传递:

传递的参数是数组内存的地址。

       2.数组作为方法返回值

 

 
 


                     返回的是数组的首地址

7.数组的最大值获取:

              获取数组中的最大值,就像是打擂台一样,最后选出最大值。

              //首先创建一个擂台,擂台就是一个数组

              int[] array = {10,50,20,40,100,80}

//然后让一个人先上台,等待其他人上台比试

int max = array[0];

//等待全部人上台比试

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

       //如果有人比第一个人厉害,那么他就是暂时的擂主

       if(array[i]>max){

       max = array[i];

}

}

//比试结束,擂主选出,输出最大值

System.out.println(max);

8.数组的反转原理:

一串数字,第一个数字和最后一个数字交换位置,第二个数字和倒数第二个数字交换位置....

第一种方式:

int[] array = {1,2,3,4,5,6};

//获取两个索引,一个是第一个元素的索引,一个是在最后一个元素的索引

int min = 0;

int max = array.length-1;

//最小的索引+1,最大的索引-1进行交换,可以用循环实现

//交换先定义一个中间转换量

int temp = 0;

while(min < max ){

       //交换位置,用到中间变量转接数值

       temp = arrary[min];

       array[min] = array[max];

array[max] = temp;

}

              第二种方式:

                     int[] array = {1,2,3,4,5,6};

                     //交换中间变量

                     int temp = 0;

                     //获取数组长度,用.length属性获取

                     //遍历数组长度的一半,通过.length-1-i获取对用的后面需要交换位置的元素

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

                 //array[i]和array[array.length-i]交换

                  temp = arrary[i];

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

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

                      }

猜你喜欢

转载自blog.csdn.net/ajia5216/article/details/81842142