package struct;
public class TestDemo {
public static void main(String[] args) {
//打印三角形 5行
//先Window+R打开控制台,输入mspaint就可以打开画图工具
for (int i = 0; i <= 5; i++) {
for (int j = 5; j >=i; j--) {
System.out.print(" ");
//""这个双引号里要么有一个空格要么一个符号否则输出不会是三角行
}
for (int j = 1;j<=i;j++){//这个语句和上边完全相反
System.out.print("*");
}
for (int j = 1; j <i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
/*
上边的最近的两个for循环可以换成如下:
for(int j=1;j<2*i;j++){ //或者j<=2i-1
System.out.print("*")
}
第一个for: i = 1,2 3,4,5 //i=0不符合不走
j=1;j<2*i: 2i = 2,4,6,8,10 //第二个For会输出1,3,5,7,9
j=1;j<=(2*i-1): 2i-1 = 1,3,5,7,9 //第二个for会输出1,3,5,7,9次
综上所述:上面输出的次数恰好对应每行三角形输出的*
*/
//注意是2*i-1不是2i-1!!!!!
/**加等号和不加等号的区别
* 加等号的比不加等号的时候每一句循环的结果输出都多一次
* 比如j<=2*1输出语句会走2,4,6,8,10
* j<(2*i-1)0,2,4,6,8
*/
![]()
![]()
![]()