- 声明数组:int[] arr;
- 创建数组:
1. int[] arr = new arr[2];
arr[0] = 1;
arr[1] = 2;
2.int[] arr = {1,2};
3.int[] arr = new int[]{1,2};//匿名函数的创建
- 数组遍历
public class TextArray{
public static void main(String[] args){
int[] arr = {0,6,3,,8,2,1,7};
for(int i = 0;i<arr.length;i++){
System.out.println("arr["+i+"] = "+arr[i]);
}
//foreach
for(int j : arr){
System.out.println(j);
}
}
}
- 数组排序
1.选择排序:
比大小:选出最小的数,其他数来比,比他小的留下来作为最小数继续比
public static void main(String[] args) {
int[] arr = { 76, 81, 19, 24, 35 };
selectSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i < arr.length - 1)
System.out.print(",");
}
}
private static void selectSort(int[] arr) {
int temp; //缓存
int min; //最小值
int index;//最小值的索引
for (int i = 0; i < arr.length; i++) {
min = arr[i];
index = i;
//依次比较
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < min) {
min = arr[j];
index = j;
}
}
//位置置换
temp = arr[i];
arr[i] = min;
arr[index] = temp;
}
}
//输出:19,24,35,76,81
2.冒泡排序
小的数看作是"较轻的泡沫",从底部对其进行上浮操作
public static void main(String[] args) {
int[] arr = { 76, 81, 19, 24, 35 };
bubbleSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i < arr.length - 1)
System.out.print(",");
}
}
private static void bubbleSort(int [] arr){
int temp;
for (int i = 0; i < arr.length - 1; i++) {
/*
* 数组长度-1是为了保证不发生数组越界
* 而减-i则是因为每完成一次排序过程,该次比较中最大的数就会下沉到相对最后的位置,
* 那么就不需要进行重复而多余的比较工作了,-i就是为了避免这些多余的工作。
*/
for (int j = 0; j < arr.length - 1 - i; j++) {
if(arr[j]>arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}