一维数组的定义:
动态初始化数组: int[] arr = new int[10];
静态初始化数组: int[] array = new int{1,2,3,4,5}; | int[] array ={1,2,3,4,5};
int[] array,arrays;
注意:错误写法 array = {1,2,3,4,5};
正确写法 array = new int []{1,2,3,4,5};
多维数组的定义:
int[][] arr = new int[3][3];
int[][] arr = {{1,2,3}, {4,5,6}, {7,8,9}};
数组的基本使用:
public class SortArray {
public static void main(String[] args) {
int[] arr = new int[]{-10, 89, 35, 12, 99, 100};
arrayMax(arr); //最大值
arrayMix(arr); //最小值
arraySum(arr); //总和
arrayMean(arr); //平均值
arrayCopy(arr); //复制
arrayInversion(arr); //倒序
arrayInversion2(arr); //倒序2
arrayBubble(arr); //冒泡排序
arraySelectoron(arr); //选择排序
yangHuiTriangle(); //杨辉三角
}
private static void arrayMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
System.out.println(max);
}
private static void arrayMix(int[] arr) {
int mix = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] < mix) {
mix = arr[i];
}
}
System.out.println(mix);
}
private static void arraySum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println(sum);
}
private static void arrayMean(int[] arr) {
int mean = 0;
for (int i = 0; i < arr.length; i++) {
mean += arr[i];
}
mean /= arr.length;
System.out.println(mean);
}
private static void arrayCopy(int[] arr) {
int[] arr2 = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
arr2[i] = arr[i];
}
outPrint(arr2);
}
private static void arrayInversion(int[] arr) {
int[] arr2 = new int[arr.length];
int flag = arr.length - 1;
for (int i = 0; i < arr.length; i++) {
arr2[flag--] = arr[i];
}
outPrint(arr2);
}
private static void arrayInversion2(int[] arr) {
for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
arr[x] = arr[x] ^ arr[y];
arr[y] = arr[x] ^ arr[y];
arr[x] = arr[x] ^ arr[y];
}
outPrint(arr);
}
private static void arrayBubble(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
arr[j] = arr[j] ^ arr[j + 1];
arr[j + 1] = arr[j] ^ arr[j + 1];
arr[j] = arr[j] ^ arr[j + 1];
}
}
}
outPrint(arr);
}
private static void arraySelectoron(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int temp = i;
for (int j = i; j < arr.length; j++) {
if (arr[temp] > arr[j]) {
temp = j;
}
}
if (temp != i) {
arr[temp] = arr[temp] ^ arr[i];
arr[i] = arr[temp] ^ arr[i];
arr[temp] = arr[temp] ^ arr[i];
}
}
outPrint(arr);
}
private static void yangHuiTriangle() {
int[][] yh = new int[10][];
for (int i = 0; i < yh.length; i++) {
yh[i] = new int[i + 1];
}
for (int i = 0; i < yh.length; i++) {
for (int j = 0; j < yh[i].length; j++) {
yh[i][0] = yh[i][i] = 1;
if (i > 1 && j > 0 && j < i) {
yh[i][j] = yh[i - 1][j] + yh[i - 1][j - 1];
}
}
}
for (int i = 0; i < yh.length; i++) {
for (int j = 0; j < yh[i].length; j++) {
System.out.print(yh[i][j] + "\t");
}
System.out.println();
}
}
private static void outPrint(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print( arr[i] + "\t");
}
}
}