数组
1、数组的定义及初始化:
数组可以理解为一个容器类
1.1、数组的定义:
type[] arrayName; //推荐使用
type arrayName[];
1.2、数组的初始化:
1.静态初始化
arrayName=new type[]{element1,element2,element3,element4};
如:
intArr=new int[]{5,6,7,9};
obj=new String[]{"java","你好"};
也可int[]a={5,6,7,9};
2.动态数组的初始化
动态数组只指定数组长度,由系统为每个元素指定初始值
int[] a=new int[];
1.3、数组中常见的两个异常:
1.访问指定的索引值超过数组长度
通过ArrayIndexOutOfBoundsException:N
2.当引用型变量没有任何实体指向时,还在用其操作实体。就会发生该异常。
如:arr = null;
System.out.println(arr[0]);
通过NullPointerException:N
<span style="font-size:24px;color:#3333ff;">import java.util.*;
class NoName3{
public static void printArray(int[]arr){
for(int i=0;i<arr.length;i++){
System.out.print("arr["+i+"]为:"+arr[i]+", ");
}
} //打印数组
public static void maopaoSort(int[]arr){
for(int x=0;x<arr.length;x++){
try{
for(int y=0;y<arr.length;y++){
if(arr[y]>arr[y+1]){
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}catch(ArrayIndexOutOfBoundsException N){
System.out.println("你输入的不合法");
}
}
}//冒泡排序由小到大
public static void main(String[]args){
int[]arr={7,9,3,14,3,32};
printArray(arr);
maopaoSort(arr);
printArray(arr);
}
}</span>
1.4数组的遍历:(foreach循环)
使用foreach遍历数组和集合无须获得数组的长度,无须根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合元素。
格式for(type variableName:array|collection){
//variableName自动迭代访问每个元素
}
<span style="font-size: 32px;">public class ArrayTest{
public static void main(String[] args){
String[] books={"nihao","我不好","你好"};
for(String book:books){
System.out.println("books为:"+book);
} <span style="color: rgb(51, 51, 255);">//book为循环变量</span>
}
}</span>
使用foreach循环迭代数组元素是,并不能改变数组元素的值,因此不要对foreach的循环变量进行赋值。