1、什么是数组?
数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。
2、数组的特点
3、数组的声明
4、数组的格式
元素类型[ ] 数组名 = new 元素类型 [元素个数或数组长度]
元素类型 数组名[ ] = new 元素类型 [元素个数或数组长度]
int[] intArray=new int[4]; int intArrays[]=new int[4];
int[] intArray={1,2,3,4}; String[] strArray= {"Java","C","C++",".NET"};
int intArrays[]=new int[4]; intArrays[0]=1; intArrays[1]=2; intArrays[2]=3; intArrays[3]=4;
6、二维数组
二维数组其实是一位数组的嵌套(每一行看做一个内层的一维数组)
示例:
int[][] arr = {{1, 2}, {3, 4}, {5, 6}};//创建静态二维数组 int[][] arr1 = new int[3][2];//创建动态二维数组 arr1[0] = new int[]{1, 2}; arr1[1] = new int[]{3, 4}; arr1[2] = new int[]{5, 6};
7、数组的注意事项
8、数组的优缺点
优点:
缺点:
1、求数组中最大值
int arr[] = {1, 8, 7, 4, 5, 9}; int k = arr[0]; for(int i=0; i<arr.length; i++){ if(arr[i]>k){ k = arr[i]; } } System.out.println(k);
2、求数组中的最小值
int arr[] = {1, 2, 7, 4, 0, 9}; int k = arr[0]; for(int i=0; i<arr.length; i++){ if(arr[i]<k){ k = arr[i]; } } System.out.println(k);
3、数组排序
int[] a={1,4,-1,5,0}; Arrays.sort(a);//数组a[]的内容变为{-1,0,1,4,5} for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); }
4、数组成员10个,找出数组中最大数连同位置一起输出
int[] n = new int[]{1, 2, 3, 4, 5, 6, 0}; int max = n[0]; int index=0; for (int i = 0; i < n.length;i++){ if(max<n[i]){ max=n[i]; index=i; } } System.out.println("最大值是:"+max); System.out.println("最大值位置是:"+index);
5、冒泡排序
冒泡排序就是重复的遍历要排序的数列,每次比较相邻的两个元素,如果他们的顺序不满足排序条件就把他们交换过来。遍历数列的工作是重复地进行直到不再需要交换(排序已完成)。
算法原理:(比如从小到大排)
//冒泡排序法 int arr[] = {1, 9, 7, 4, 0}; for(int i=0; i<arr.length-1;i++){ for(int j=0; j<arr.length-1;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } //以下代码是将数组中的所有元素输出到控制台 for(int i=0; i<arr.length; i++){ System.out.println(arr[i]); }