嵌套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循环嵌套是非常有必要的,它可以帮助我们提高编程技能、处理多维数据结构、优化算法性能、解决实际问题以及增强逻辑思维能力。

相关文章
|
2月前
|
存储 机器学习/深度学习 人工智能
嵌套for循环的九九乘法表——四个方向打印
嵌套for循环的九九乘法表——四个方向打印
33 0
|
6月前
|
C语言
乘法口诀标的打印及解释
打印乘法口诀表可以说是c语言中一个很经典的一个简单程序了。 打印乘法口诀表的第一反应可能会是很难,怎么打印出这么多相乘的数呢。但是仔细想分析和考虑的话,其实很简单。那么我来说一下打印乘法口诀表的思路。
29 0
|
6月前
链表翻转循环和递归写法(画图分析)
链表翻转循环和递归写法(画图分析)
20 0
|
7月前
|
C++
C/C++两个内外for循环输出菱形
C/C++两个内外for循环输出菱形
42 0
|
10月前
Leecode 1111. 有效括号的嵌套深度
Leecode 1111. 有效括号的嵌套深度
25 0
|
11月前
labview程序结构for循环while循环n层叠平铺定时顺序结构求和总和平方和根
labview程序结构for循环while循环n层叠平铺定时顺序结构求和总和平方和根
119 0
|
11月前
|
算法 C语言
C语言练级之路num4(有关各种菱形的打印)(用的都是基础的算法),会了这些图形的打印,从此再无你不会用的循环,给你理解的透透的
1.第一题(边框菱形的打印) 2.第二题边框 菱形的进阶 3.第三题(数字菱形的打印) 4.第四题:(空心菱形) 5.第五题(实心菱形): 6.第六题:(外带一个杨氏三角的再一次打印)
|
11月前
|
C语言
C语言 输出三角形数列 for循环
C语言 输出三角形数列 for循环
(C语言)玩转for循环(利用for循环打印多种图形)利用指针操作数组以及多组输入去最大最小值之后求其平均值
(C语言)玩转for循环(利用for循环打印多种图形)利用指针操作数组以及多组输入去最大最小值之后求其平均值
|
开发者 Python
嵌套打印三角形 | 学习笔记
快速学习 嵌套打印三角形
56 0