、使用 使用 for 循环语句,在控制台打印出一个五行的三角形,效果 循环语句,在控制台打印出一个五行的三角形

、使用 使用 for 循环语句,在控制台打印出一个五行的三角形,效果 循环语句,在控制台打印出一个五行的三角形

https://blog.csdn.net/qq_47896523/article/details/122619000
这里有很多种案例自己看看

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {  // 控制行数
            for (int j = 1; j <= i; j++) {  // 控制每行输出的数量
                System.out.print("*");
            }
            System.out.println();  // 换行
        }
    }
}

public class Star {
    public static void main(String[] args) {
       for (int i = 1; i <= 5; i++) {
          for (int j = 1; j <= i; j++) {
              System.out.print("* ");
          }
          System.out.println();
        }
    }
}

外层循环控制行数,内层循环控制每一行中输出的星号数量。在第一行输出一个星号,第二行输出两个星号,以此类推,最后一行输出五个星号,就可以得到一个五行的三角形。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7752311
  • 这篇博客也不错, 你可以看下单例模式中的懒汉式、饿汉式、双重检查、静态内部类的理解
  • 除此之外, 这篇博客: 类的6个默认成员函数:构造函数、析构函数、拷贝构造函数、重载运算符、三/五法则中的 成员初始化的顺序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 列表初始化中有一个容易出错的地方——成员初始化的顺序,可以看到,我这里初始化列表的顺序是year,day,month。但是实际上初始化的顺序和初始化列表中顺序毫无关联,初始化的顺序是按照参数在类中声明的顺序的, 也就是下面的year,month,day(如图)。
    在这里插入图片描述
    一般来说,初始值列表的初始化顺序不会影响什么,就如上面的代码,结果依然符合我们的预期:
    在这里插入图片描述

    不过如果一个成员是用另一个成员来初始化的,那么这两个成员的初始化顺序就很关键了,具体是什么意思呢?举个例子,将初始值列表做出如下更改:

    Date(const int& year, const int month)
    	:_year(year),
    	_day(month),
    	_month(_day)
    	{
    	}
    

    查看结果:

    int main()
    {
    	int i = 2020;
    	Date d2(i, 4);
    	cout << d2.getmoth() << endl;
    	cout << d2.getday() << endl;
    	return 0;
    }
    
    

    形式上初始值列表的顺序来讲:

    1. 先用形参month初始化成员_day
    2. 再用初始化成功的_day去初始化成员_month

    但实际上真的是这样吗? 我们来看看运行结果:

    在这里插入图片描述
    可以看到初始化成功的只有成员_day,实际上,初始化的顺序是按照参数在类中的声明顺序来的:

    1. 也就是先用形参year初始化成员_year
    2. 再用成员_day初始化成员_month但由于此时成员_day尚未被形参month初始化,因此成员_month值是未定义的。
    3. 接下来用形参month初始化成员_day

    从而生成了上图的结果。


  • 您还可以看一下 李月喜老师的企业微信开发自建内部应用开发篇课程中的 开发文档如何阅读,如何寻求帮助,如何找到同行小节, 巩固相关知识点