JAVA数组详情
什么是数组
数组就是:存储一组数据类型相同的数据元素
数组在内存中空间是连续的,长度初始好,就不能再做改变
数组是属于应用类型的(对象),所以也就可以即存储基本数据类型,还可以存储引用类型
数组的声明:
int [] a; //这是声明了一个属性为int整数型的数组
数组的创建,因为数组的长度是不能改变的,也就意味着数组在创建时,就规定好了数组的长度
创建的数组在不给于赋值的话,当然会有默认值(初始值)
创建类型 |
默认值 |
整数型 |
0 |
浮点型 |
0.0 |
char |
空格 |
布尔型 |
false |
引用类型 |
null |
数组的创建
数组的创建共有三种方式:
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
/*方式一*/
int[] a = new int[10];//这是创建了一个为10的动态数组
System.out.println(Arrays.toString(a));//这是利用java的类来实现的,方便快捷
//Arrays.toString()是将数组以字符串的形式进行输出打印出来
/*方式二*/
int[] b = new int[]{1, 2, 3, 4, 5}; //在创建数组时已经给数组赋好了值
System.out.println(Arrays.toString(b));
/*方式三*/
String[] c = {"a", "b", "c", "d", "e"};//在创建时直接赋好值,这个简便 最常用
System.out.println(Arrays.toString(c));
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/32718f5722484345bbf5cc5f106b72d1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif6L6w5LiO5pmo5pum,size_20,color_FFFFFF,t_70,g_se,x_16)
数组的访问
数组是通过索引来访问,数组的第一值的编号是0,数组编号从0开始到数组长度减一结束
public class Demo {
public static void main(String[] args) {
String[] a = {"a", "b", "c", "d", "e"};
System.out.println(a[0]);//访问的是数组中的第一个位置的值
System.out.println(a[4]);//访问时时数组中的最后一个位置的值
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/4effc4a6737a4c4192c9fe6ebaa6f649.png)
数组的报错(ArrayIndexOutOfBoundsException)
这是数组的越界报错,在运行时遇到这个报错就是你要访问数组的位置超过了数组的长度
public class Demo {
public static void main(String[] args) {
String[] a = {"a", "b", "c", "d", "e"};
System.out.println(a[5]);//数组的访问在这里就越界了
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/e675df10e83c4710b52317caf919dae5.png)
数组的遍历
数组的遍历也是数组的迭代
数组的遍历,也是有两种方式的,一种一般for循环,另一种增强for循环
for循环,增强for循环看这详说循环
public class Demo {
public static void main(String[] args) {
String[] a = {"a", "b", "c", "d", "e"};
/*方式一*/
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
/*方式二*/
/*for(声明一个变量,用来接收每次从数组中取出的元素 : 需要遍历的数组){
每循环一次,从数组中取出一个元素,赋给定义的变量,直到元素遍历完成
}
*/
for (String x : a) {
System.out.println(x);
}
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/ba0e3fa1df1f4a0a8c56839df31cabb9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif6L6w5LiO5pmo5pum,size_20,color_FFFFFF,t_70,g_se,x_16)