一、数组的常见操作
(一)遍历数组元素
1.数组遍历:就是将数组的每个元素分别获取出来的过程,这就是遍历。
2.分析思路:
通过循环,访问到数组中所有元素的索引,0~length-1.
通过索引,访问到对应的元素,数组名[索引]。
public class Demo01 {
public static void main(String[] args) {
//遍历数组元素
int[] arr = {1,2,3,4,5,6,7,8,9};
//遍历数组
//穷举法
//System.out.println(arr[0]);
//System.out.println(arr[1]);
//System.out.println(arr[2]);
//System.out.println(arr[3]);
//System.out.println(arr[4]);
//System.out.println(arr[5]);
//for循环遍历
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i]);
}
}
}
(二)数组获取最值
1.给定一个数组,求出数组元素的最大值
2.分析思路
1)定义变量,保存数组0索引上的元素,int max = arr[0];假定0索引位置就是最大值。
2)遍历数组,获取出数组中的每个元素
3)将遍历到的数组和保存的0索引上的值得变量进行比较。
4)如果数组元素的值大于了变量的值,变量记录新的值
5)数组循环遍历结束,变量保存的就是数组中的最大值。
示例:
public class Demo02{
public static void main(String[] args) {
int[] arr={234,32,546,8,32,8,34,7,6};
int max = arr[0];
for(int i=1;i<arr.length;i++){
if(max<arr[i]){
max=arr[i];
}
}
System.out.println(max);
}
}
(三)数组的翻转
1.数组中对称位置的元素进行交换{10,0,2,40,50}反转后{50,40,30,20,10}
2.分析思路
定义头和尾两个索引变量,同时向中间移动,交换变量指定位置元素
示例:
public class Demo04 {
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6,7};
for(int i=0,j=arr.length-1;i<j;i++,j--){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]);
}
System.out.println();
}
}
(四)冒泡排序
1.目标:通过冒泡排序算法将数组中的元素进行升序排序
2.原理:比较两个相邻的元素,将较大的元素交换至右端,如果前面元素比后面的元素大,交换他们的位置,反之不换
3思路:
依次比较相邻的两个数,将小的放在前面,大数放在后面。
冒泡排序要分多趟,每一趟都会确定一个较大的值放在后面
public class Demo05 {
public static void main(String[] args) {
int[] arr={5,3,7,8,2,9,6};
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;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.println(arr[i]);
}
}
}