1.数组的定义
int[] ages; //第一种方式 推荐使用第一种定义方式
int ages[] //第二种方式
2.数组的初始化
(1)静态初始化
数组初始化之后,才能使用,数组长度已经固定,不能改变,除非再次初始化,也就是说数组是定长。
int nums=new int{1,2,3}; //new 关键字:在堆空间开辟一块内存区域,用来存储数据。
注意:若地址无引用,会被垃圾回收装置回收。
(2)动态初始化
语法:数组元素类型[] 数组名 =new 元素类型[length]
int[] ages=new int[10]
3.遍历数组元素
package HelloWorld;
public class ArrayListDeme {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] ages= {1,5,7,8,9};
int[] ages1=new int[] {1,2,7,5};
for(int i=0;i<ages1.length;i++) {
System.out.println(ages1[i]);
}
}
}
4.数组常见异常
NullPointerException :空异常,引用异常
ArrayIndexOutOfBoundsException:越界异常,索引
5.获取数组中最大与最小的元素
package HelloWorld;
public class ArrayListDeme {
static int getMax(int[] ages) {
int i;
for(i=0;i<ages.length-1;i++) {
ages[i+1]=ages[i]>ages[i+1]?ages[i]:ages[i+1];
}
return ages[ages.length-1];
}
static int getMin(int[] ages) {
int i;
for(i=0;i<ages.length-1;i++) {
ages[i+1]=ages[i]>ages[i+1]?ages[i+1]:ages[i];
}
return ages[ages.length-1];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] ages= {10,5,7,8,9,19,17};
int[] ages1= {10,5,7,8,9,19,17};
int max =getMax(ages);
int min =getMin(ages1);
System.out.println("最大值"+max+"最小值"+min);
}
}
6.逆序排列数据
package HelloWorld;
public class ArrayDome {
static String[] Array(String[] array) {
String[] array1=new String[array.length];
for(int i=array.length-1;i>=0;i--) {
array1[array.length-1-i]=array[i];
}
return array1;
}
public static void main(String[] args) {
String[] array= {"a","b","c","d","e"};
array=Array(array);
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
}
}
7.判断一个数在数组中第一次出现的位置
package HelloWorld;
public class IndexOf {
static int indexOf(int[] arrs,int key) {
for(int i=0;i<arrs.length;i++) {
if(arrs[i]==key)
return i;
}
return -1;
}
public static void main(String[] args) {
int[] arrs={4,8,7,5,8,6};
int i=indexOf(arrs,8);
System.out.println("第一次出现的位置"+(i+1));
}
}