数组:用于存储多个数据类型相同的数据。
每个数据都是数组中的一个元素,在数组中,是通过下标来获取和存储元素的。
数组的最大下标=数组的长度-1.
以下是数组的声明和赋值(以int型为例)
1) int[] nums = new int[5]; //数组的声明
2) int nums[] = new int[5]; //数组的声明(不推荐使用)
3) int[] nums = {1,4,5,6,7}; //声明并赋值
4) int[] nums = new int[]{1,4,5,6,7}; //声明并赋值
注意:1)对于定义的一个数组,不仅可以存放定义的数据类型的元素,也可以存放该类型可兼容的数据类型。eg:一个存放double类型元素的数组,也可以存放float类型的数据。
2)数组的长度一旦制定后,就不可以再次修改,如果下标越界将会出现异常,这也是我们学到现在见到的第一种异常。如下图
以下是数组的应用:
对于一个已经声明并赋值的int型数组;int[] nums = new int[]{1,12,4,55,6};
1)数组的遍历
for(int i = 0; i < nums.length; i++){
System.out.println(nums[i]);
}
或
for(int i = 0; i < nums.length; i++){
int temp = nums[i]
System.out.println(temp);
}
或
for(int temp :nums){
System.out.println(temp);
}
后面两种其实是相同的,jdk1.5以后,可以用第三种方法遍历。
2)数组的最值(以输出数组中最大值为例)
int max = nums[0];
for(int i = 1;i < nums.length; i++){
if(max < nums[i]){
max = nums[i];
}
}
System.out.println("该数组中的最大值是:"+max);
3)数组的排序(将数组nums从小到大排列)
for(int i = 0; i < nums.length - 1; i++){
for(int j = 0; j < nums.length - 1 - i; j++){
if(nums[j] > nums[j +1]){
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
System.out.println("以下是排好顺序的数组");
for(int temp : nums){
System.out.println(temp);
}
注:对于数组的排序,本例用的是冒泡排序,当数组中有n个元素时,要进行(n-1)轮比较。