数组
数组是一个变量,存储相同数据类型的一组数据
声明一个变量是在内存空间化出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间
数组在存储数据的时候,需要结合隐式转换考虑
如:int类型的只能放byte,short,int,char
double类型的可以放除了布尔类型和char类型的其他六种基本数据类
格式:
1.数据类型 [ ] 变量名;
int [ ] arry ;
2.数据类型 变量名 [ ];
int arry [ ] ;
方括号和变量名的位置可以互相交换,不影响
完整格式:
数据类型[ ] 数组名=new数据类型[]{元素1.元素2,元素3、、、}
数据类型[] 数组名={元素1......}
数组的基本要素:
标识符:数组的名称
数组元素:数组中存放的数据
元素下标:对数组元素进行编号,数组下标从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
数组的访问和地址:
直接访问定义好的数组,输出不了数组中存储的内容,只会输出当前数组的地址。
访问格式:
数组名 索引;
arry[索引];
索引,数组的下标,角标。特点是从0开始,逐个+1增长,连续不间断
向数组中存储:
数组名[索引] = 数据/变量;
注意:如果数组中有原有值,一旦重新赋值,原有值就会消失。
数组的遍历:
使用for循环语句,如arry[5];
for(int i = 0; i < 5;i++){
Systrm.out .println( arry[ i ] );
}
这里如果数组的长度过长,循环条件中边界的条件可以优化为更为简单的
engh使用计算数组长度的一个方法:数组名.lengh
for(int i = 0; i < arry.lengh ;i++){
Systrm.out .println( arry[ i ] );
}
效果一样,更加的方便
快捷生成方式
数组名.fori
增强for循环遍历数组;
弊端:无法使用索引下标,当需要使用下标时还是需要用原始循环
这里面的score表示socreArray中的每一个元素
for (int score : scoreArray) {
if(max < score){
max = score;
}
}
数组动态初始化:
数据类型[ ] 数组名 = new 数据类型[数组长度];
int [ ] arr = new int [3];
动态初始化和静态初始化的区别:
动态初始化:手动指定数组长度,由系统给出默认初始化值。
在只明确元素的个数,不明确具体数字,推荐使用动态初始化
静态初始化:手动指定数组元素,系统会根据元素的个数,计算数组的长度
需求中已经明确了要操作的具体数据,直接静态初始化即可
数组中各个数据类型默认初始化的值:
整数类型 :0
小数类型 :0.0
字符类型 :’/u0000'显示出来的是空格
布尔类型:false
引用数据类型:null