import java.util.Arrays;
import java.lang.System;
import java.util.Scanner;
public class ArrayDemo{
/*
//排序算法
//定义方法
public static void quickSort(int[] arr,int low,int high){
int i,j,temp,t;
if(low>high){
return;
}
i=low;
j=high;
//temp就是基准位
temp = arr[low];
while (i<j) {
//先看右边,依次往左递减
while (temp<=arr[j]&&i<j) {
j--;
}
//再看左边,依次往右递增
while (temp>=arr[i]&&i<j) {
i++;
}
//如果满足条件则交换
if (i<j) {
t = arr[j];
arr[j] = arr[i];
arr[i] = t;
}
}
//最后将基准为与i和j相等位置的数字交换
arr[low] = arr[i];
arr[i] = temp;
//递归调用左半数组
quickSort(arr, low, j-1);
//递归调用右半数组
quickSort(arr, j+1, high);
}
*/
public static void main (String[] args){
//声明数组
/*
//第一种方法
int[] array=new int[5];
array[0]=0;
array[1]=1;
array[2]=2;
array[3]=3;
array[4]=4;
//第二种方法
//int[] array=new int[]{1,2,3,4,5};
//第三种方法
int [] array={1,2,3,4,5};
for(int i=0;i<array.length;i++){
System.out.print("a["+i+"]:"+array[i]+"\t");
}
*/
/*
//求平均分
int [] arr=new int[5];
Scanner sc=new Scanner(System.in);
int sum=0;
for(int i=0;i<arr.length;i++){
System.out.println("请输入第"+(i+1)+"门分数");
arr[i]=sc.nextInt();
sum+=arr[i];
}
System.out.println(sum/(double)(arr.length));
*/
/*
//冒泡排序
int[] array=new int[]{2,5,4,6,8,7,9,10,22,21,1};
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length-1-i;j++){
if(array[j]>array[j+1]){
//引入新变量
//int temp=array[j];
//array[j]=array[j+1];
//array[j+1]=temp;
//按位异或交换
//array[j]=array[j]^array[j+1];
//array[j+1]=array[j]^array[j+1];
//array[j]=array[j]^array[j+1];
//加法排序
array[j]=array[j]+array[j+1];
array[j+1]=array[j]-array[j+1];
array[j]=array[j]-array[j+1];
}
}
}
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
*/
/*
//选择排序
int [] array=new int[]{2,5,4,6,8,7,9,10,22,21,1};
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]>array[j]){
int temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
*/
/*
//插入排序
int[]arr=new int[]{1,2,4,5,3};
int j;
for(int i=0;i<arr.length-1;i++){
int k=i;
//当i=3时,j=arr[4]=3
j=arr[i+1];
while(k>=0&&arr[k]>j){
arr[k+1]=arr[k];
k--;
}
//把3赋值给arr[2]
arr[k+1]=j;
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
*/
/*
//快速排序
//方法在最上面
int[] arr = {10,7,2,4,7,62,3,4,2,1,8,9,19};
quickSort(arr, 0, arr.length-1);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
*/
/*
//二维数组
int [][]arr=new int[3][];
arr[0]=new int[5];
arr[1]=new int[4];
arr[2]=new int[3];
arr[0][0]=1;
arr[0][1]=2;
arr[0][2]=3;
arr[0][3]=4;
arr[0][4]=5;
arr[1][0]=6;
arr[1][1]=7;
arr[1][2]=8;
arr[1][3]=9;
arr[2][0]=10;
arr[2][1]=11;
arr[2][1]=12;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
*/
/*
//数组的拷贝
int[][]intArray={{1,2},{1,2,3},{3,4}};
int[][]intArrayBak=new int[3][];
System.arraycopy(intArray,0,intArrayBak,0,intArray.length);
intArrayBak[2][1]=100;
for(int i=0;i<intArray.length;i++){
for(int j=0;j<intArray[i].length;j++){
System.out.print(intArray[i][j]+"\t");
}
System.out.println();
}
for(int i=0;i<intArrayBak.length;i++){
for(int j=0;j<intArrayBak[i].length;j++){
System.out.print("sadas"+intArrayBak[i][j]+"\t");
}
System.out.println();
}
*/
}
}
–代码中为学习数组需要用到的代码,包括一维数组和二维数组的定义,四种常用排序,数组的打印,求平均分等简单的代码