数组
- 数组的概念:
- 数组的好处:
- 可以自动给数组中的元素从0开始编号,方便操作这些元素。
- 数组的格式:
- 常规初始化格式:元素类型+
[]
+数组名 = 元素类型+[]
+元素类型+{元素,元素,...}
。
- 静态初始化方式:元素类型+
[]
+数组名 = {元素,元素,...}
。
- 栈内存:
- 存储的都是局部变量。而且变量所属的作用一旦结束,该变量就自动释放。
- 堆内存
- 堆内存的特点:
- 每一个实体都有首地址值。
- 堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。
- 垃圾回收机制。
- 数组中的常见问题:
// int [] arr = new int [3];
// System.out.println(arr[3]);//ArrayIndexOutOfBoundsException
//当访问到数组中不存在的角标时,就会发生该异常。
// arr=null;
// System.out.println(arr[0]);//NullPointerException
//当引用型变量没有任何实体指向时,还在用其操作实体,就会发生该异常。
public class ArrayDemo2 {
public static void main(String[] args) {
int[] arr = {45,60,105,89,48,58};
int max =getMax(arr);
System.out.println("max="+max);
}
public static int getMax(int[] arr){
int max=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
}
public class ArrayDemo3 {
public static void main(String[] args) {
int[] arr= {5,15,20,35,108,205};
selectSort(arr);
for(int i=0;i<arr.length;i++){
if(i!=arr.length-1){
System.out.print(arr[i]+",");
}else{
System.out.print(arr[i]);
}
}
}
public static void selectSort(int[]arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
}