数组遍历案例
数组基础:
Java中的数组也是对象。它们需要声明,然后创建。为了声明一个包含整数数组的变量,我们使用以下语法:
int[] arr;
注意没有大小,因为我们还没有创建数组。
arr = new int[10];
这将创建一个大小为10的新数组。我们可以通过打印数组的长度来检查大小:
System.out.println(arr.length);
我们可以访问数组并设置值:
arr[0] = 4;
arr[1] = arr[0] + 5;
Java数组基于0,这意味着数组中的第一个元素在索引0处被访问(例如:arr[0],它访问第一个元素)。另外,作为一个例子,大小为5的数组只会上升到索引4,因为它是基于0的。
int[] arr = new int[5];
//accesses and sets the first element
arr[0] = 4;
我们还可以创建一个具有同一行值的数组:
int[] arr = {1, 2, 3, 4, 5};
不要尝试在没有循环的情况下打印数组,它会打印一些讨厌的东西。若要打印数组,请使用以下代码:
for (int i=0; i < arr.length; i++) {
System.out.println(arr[i]);
}
数组理解案例:
for循环遍历数组:
public class continuenotes {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {1,2,3,4,5,6};//定义数组
//使用for循环遍历数组的元素
for(int i = 0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
}
效果图如下:
进阶学习:
- 获取数组中元素的最值:
package notes;
public class continuenotes {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {1,2,3,4,5,6};//定义一个数组
int max = Max(arr);//调用获取元素最大值的方法
System.out.println("Max="+ max);//打印最大值
}
static int Max(int[] arr) {
int max =arr[0];//定义变量max记住最大值,并首先假设第一个值为最大值
//下面为一个for循环遍历数组的使用
for (int x = 1;x <arr.length;x++) {
if (arr[x]>max) {//比较arr[x]的值是否大于max
max = arr[x];//条件成立,将arr[x]的值赋给max
}
}
return max;//返回最大值max到main,
}
}
效果图如下:
- 对数组中的元素进行排序,冒泡排序
package notes;
public class continuenotes {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {5,3,4,9,2,6};//定义一个数组
System.out.print("冒泡排序前的数字:");
mpq(arr);//调用打印数组元素的mpq方法(排序前)
px(arr);//调用排序方法
System.out.print("冒泡排序后:");
mpq(arr);//调用打印数组元素的mpq方法(排序后)
}
//定义打印数组元素的方法
public static void mpq(int[] arr) {
//循环遍历数组的元素
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i] + "");//打印元素和空格
}
System.out.print("\n");
}
//定义对数组排序的方法px
public static void px(int[] arr) {
//定义外层循环
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;
}
}
System.out.print("第"+(i+1)+"轮排序后:");
mpq(arr);//每轮结束打印数组元素
}
}
}
运行如图:
- 多维数组
我不会