java 中双重for循环
时间: 2024-03-08 16:41:00 浏览: 76
在Java中,双重for循环是一种嵌套的循环结构,它可以用来遍历二维数组或执行需要两个循环变量的操作。在双重for循环中,外层循环控制行数,内层循环控制列数。
例如,如果我们想在控制台上打印一个5x5的矩形,可以使用双重for循环如下:
```java
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
}
```
上述代码中,外层循环变量`i`控制行数,内层循环变量`j`控制列数。内层循环在每一行中打印5个星号,并在内层循环结束后换行。
相关问题
java双重for循环
Java中的双重for循环是指在一个for循环内嵌套另一个for循环,通常用于处理二维数组或者嵌套的数据结构。其基本语法如下:
```
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
// 循环体
}
}
```
其中,外层循环控制行数,内层循环控制列数。在循环体中可以对二维数组或者嵌套的数据结构进行操作。
例如,以下代码演示了如何使用双重for循环来遍历一个二维数组并输出其中的元素:
```
int[][] arr = {{1,2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
```
输出结果为:
```
1 2 3
4 5 6
7 8 9
```
java中双重for优化案例
以下是一个Java中双重for循环优化的示例代码:
```java
int[][] matrix = new int[1000][1000];
long startTime = System.currentTimeMillis();
// 双重for循环
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
matrix[i][j] = i * j;
}
}
long endTime = System.currentTimeMillis();
System.out.println("双重for循环执行时间:" + (endTime - startTime) + "ms");
startTime = System.currentTimeMillis();
// 优化后的双重for循环
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
matrix[i][j] = i * j;
matrix[j][i] = i * j;
}
}
endTime = System.currentTimeMillis();
System.out.println("优化后的双重for循环执行时间:" + (endTime - startTime) + "ms");
```
在上述代码中,我们使用双重for循环来遍历一个1000x1000的矩阵,并将i*j的值赋给矩阵中对应位置的元素。为了优化双重for循环,我们将内层for循环中的赋值语句i*j的值赋给matrix[i][j]和matrix[j][i]两个位置,从而减少内层for循环的循环次数。通过对比两次for循环的执行时间,可以看出优化后的双重for循环执行时间更短,代码效率更高。