嵌套for循环的基础直角三角形——四个方向打印

简介: 嵌套for循环的基础直角三角形——四个方向打印

嵌套循环是一个很重要的循环格式。特别是对于后期的数组,排序,链表等等内容都有着直接的关系,所以这里必须要学明白,我们使用打印型号的方式来练习它。一定要熟练掌握。



外层i与内容j控制的轴向

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            // 内层循环控制列
            for (int j = 0; j < size; j++) {
                System.out.print("y轴* "+j);
            }
            System.out.println("x轴"+i); // 换行
        }
    }

效果:

可以看到X轴控制的是行数,Y轴控制的是列数。

这里可以理解成一个二维矩阵,矩阵就是:

在数学中,矩阵是一个按照长方阵列排列的复数或实数集合,其最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵和准对角矩阵,有特定的快速运算算法。

1、打印5x5星号矩阵

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            // 内层循环控制列
            for (int j = 0; j < size; j++) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
    }

二维矩阵的星号效果:

2、打印左下角直角三角形

这里需要控制内容的【j】来处理列的输出个数。

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            // 内层循环控制列
            for (int j = 0; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
    }

 

3、打印左上角直角三角形

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            // 内层循环控制列
            for (int j = size; j > i; j--) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
}

4、打印右上角直角三角形

右上角的直角三角形需要单独的使用一个内循环用来打补丁,我们可以看到右上角打印的话每一行需要递增一个,也就是正序,直接添加一个正序输出的空格即可。

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            for(int j = 0; j<i; j++){
                System.out.print("  ");
            }
            // 内层循环控制列
            for (int j = size; j > i; j--) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
    }

5、打印右下角的三角形

打印右下角的三角形需要再最初的时候就要打印空格来占位,占位的顺序是4/3/2/1,所以肯定是倒序输出。

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            for(int j = size-1; j > i; j--){
                System.out.print("  ");
            }
            // 内层循环控制列
            for (int j = 0; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
    }

最后我们可以看到右下角直角。

6、菱形打印

在右上角和右下角的代码补丁中将2个空格替换成一个空格即可。

public static void main(String[] args) {
        int size = 5;
        // 外层循环控制行
        for (int i = 0; i < size; i++) {
            for(int j = size-1; j > i; j--){
                System.out.print(" ");
            }
            // 内层循环控制列
            for (int j = 0; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
                // 外层循环控制行
        for (int i = 0; i < size; i++) {
            for(int j = 0; j<i; j++){
                System.out.print(" ");
            }
            // 内层循环控制列
            for (int j = size; j > i; j--) {
                System.out.print("* ");
            }
            System.out.println(); // 换行
        }
    }

效果:

大型菱形15x15

总结

学习Java的for循环嵌套是非常必要的,因为它可以帮助我们更有效地处理多维数据结构,比如二维数组、三维数组等。这种嵌套循环结构允许我们在每个维度上遍历数据元素,并对每个元素执行特定的操作。下面列举一些for循环嵌套学习的必要性:

  1. 提高编程技能:掌握for循环嵌套可以让我们编写出更复杂的程序,实现更高级的功能。这是提高编程技能的一个重要步骤。
  2. 处理多维数据结构:在实际编程中,我们经常需要处理多维数据结构,比如图像处理中的像素矩阵、游戏中的二维地图等。通过for循环嵌套,我们可以方便地遍历这些数据结构中的每个元素,进行各种操作。
  3. 优化算法性能:通过合理使用for循环嵌套,我们可以优化算法的性能。例如,在排序、搜索等算法中,使用嵌套循环可以降低时间复杂度,提高程序的执行效率。
  4. 解决实际问题:许多实际问题需要用到for循环嵌套来解决,比如打印乘法口诀表、生成杨辉三角等。掌握for循环嵌套可以帮助我们更好地解决这类问题。
  5. 增强逻辑思维能力:学习for循环嵌套需要理解循环的嵌套关系和执行顺序,这有助于增强我们的逻辑思维能力和空间想象力。

总之,学习Java的for循环嵌套是非常有必要的,它可以帮助我们提高编程技能、处理多维数据结构、优化算法性能、解决实际问题以及增强逻辑思维能力。

相关文章
|
4月前
|
语音技术
语音识别-------求1-100的和讲解,while循环猜数字的实例,用while设置while循环猜数字的案例,while循环的嵌套应用,while嵌套while如何去做,表白送花写法,九九乘法表
语音识别-------求1-100的和讲解,while循环猜数字的实例,用while设置while循环猜数字的案例,while循环的嵌套应用,while嵌套while如何去做,表白送花写法,九九乘法表
|
5月前
|
C语言
C语言---正方形图案--循环
C语言---正方形图案--循环
|
6月前
|
存储 机器学习/深度学习 人工智能
嵌套for循环的九九乘法表——四个方向打印
嵌套for循环的九九乘法表——四个方向打印
136 0
|
C语言
乘法口诀标的打印及解释
打印乘法口诀表可以说是c语言中一个很经典的一个简单程序了。 打印乘法口诀表的第一反应可能会是很难,怎么打印出这么多相乘的数呢。但是仔细想分析和考虑的话,其实很简单。那么我来说一下打印乘法口诀表的思路。
74 0
|
C++
C/C++两个内外for循环输出菱形
C/C++两个内外for循环输出菱形
75 0
学C的第二十四天【练习:1. 打印菱形;2. 打印自幂数;3. 求Sn=a+aa..n项之和;4. 喝汽水问题;5. 调整数组使奇数位于偶数前面;6. 打印X形图案;7……;8……;9……;10……】-2
5. 调整数组使奇数全部都位于偶数前面 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
126 0
输出三个乘法表,按照完整乘法表、下三角乘法表、上三角乘法表的顺序输出,每个表中间空一行。对于每个乘法表,首行升序输出的 11 到 99 数与数之间恰好有三个空格,接下来 10 行每栏内容都需要
输出三个乘法表,按照完整乘法表、下三角乘法表、上三角乘法表的顺序输出,每个表中间空一行。对于每个乘法表,首行升序输出的 11 到 99 数与数之间恰好有三个空格,接下来 10 行每栏内容都需要
73 0