在程序开发中,数组的应用非常广泛,灵活的使用数组对实际开发非常重要。数组的常见操作有数组的遍历,最值的获取,数组的排序等。
Java不同数据类型元素的默认值
数据类型默认初始值byte,short,int,long0float,double0.0char一个空字符,即’\u0000’blooeanfalse引用数据类型null,表示变量不引用任何对象基本语法结构如下: 数组类型 【】 数组名 = new 数组类型 【数组长度】; 数组类型 【】 数组名 = new 数组类型 {数组元素0,数组元素1,·····}; 数组类型 【】 数组名 = {数组元素0,数组元素1,······};
在操作数组时,经常需要依次访问数组中的每个元素,这种操作称为数据的遍历。 例如:
public class Example { public static void main (String[] args) { int[] arr = {1,2,3,4,5}; //使用for循环遍历数组的元素 for(int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } }运行结果如下:
定义了一个临时变量max,用于记住数组的最大值。首先假设数组中第一个元素arr[0]为最大值,然后使用for循环对数组进行遍历,在遍历的过程中只要遇到此max值还大的元素,就将该元素赋值给max。 运行结果如下:
冒泡排序:不断的比较数组中相邻的两个元素,较小者向上浮,较大者往下沉,整个过程和水中气泡上升原理相似。 第一步 从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。 第二步 除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一步相似,这样就可以将数组中第二大的数放在倒数第二个位置。 第三步 依次类推,持续对越来越来少的元素重复上面的步骤,直到没有任何一对元素比较为止 例如:
public class Example { public static void main (String[] args) { int[] arr = {4,2,5,6,8,9,10}; //定义一个int[] 数组 //事先将数组打印出来 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println(); //用于换行 //开始冒泡排序 for (int i = 1; i < arr.length; i++) { for (int j = 0; j < arr.length - i; j++) { if(arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } //打印排序后的数组 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } }运行结果如下
以二维数组为例:
通过一个图来表示这种情况
int arr [] [] arr [0] arr [1] arr [3] arr [0] [0] arr [0] [1] arr [0] [2] arr [0] [3] arr [1] [0] arr [1] [1] arr [1] [2] arr [1] [3] arr [2] [0] arr [2] [1] arr [2] [2] arr [1] [3]第二种方式与第一种方式类似,只是数组中每个元素的长度不确定。
int arr [] [] arr [0] arr [1] arr [3] arr [0] [0] arr [1] [0] arr [1] [1] arr [2] [0] arr [2] [1] arr [2] [2]此二维数组定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9},通过如下图表示:
int arr [] [] arr [0] arr [1] arr [3] 1 2 3 4 5 6 7 8 9运行结果: 定义了两个变量sumhe groupSum,其中sum用来记录公司的总销售额,groupSum用来记录每个销售小组的销售额。通过嵌套循环for统计销售额时,外层循环对三个销售小组进行遍历,内层循环对每个小组员工的销售额进行遍历。