/*
循环嵌套
1,将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环
2,外层循环:循环结构B
内层循环:循环结构A
3, 内层循环遍历了一遍,只相当于外层循环执行了一次
假设外层循环执行m次,内层循环执行n次,则内层循环的循环体执行m*n次
*/
import java.util.*;
class ForTest2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//打印图形,矩形,三角形,平行四边形,菱形
//打印字符*来塑造图形实体,打印空值来塑造边界
for (int i = 1; i <= 100;i++ ){
System.out.print("@");
}
//输出一行100个@
for (int i = 1;i <= 10 ;i++){
for (int j = 1;j <= 20 ;j++ ){
System.out.print("@");
}
System.out.println();
}//输出矩形,长20,宽10
for (int i = 1;i <= 20 ;i++){
for (int j = 1;j <= i;j++ ){ //调用i是因为i递增的性质,外层i也可以递减,内层调用方式也会随之变化
System.out.print("@");
}
System.out.println("");
}//输出直角三角形
for (int i = 1;i <= 20 ;i++){
for (int j = 20;j >= i;j-- ){
System.out.print("@");
}
System.out.println("");
}//输出倒直角三角形
for (int i = 1;i <=20;i++ ){
for (int j = 20;j >= i ;j-- ){
System.out.print(" ");
}
for (int k = 1;k <= i ;k++ ){
System.out.print("*");
}
System.out.println();
}//输出直角三角形
for (int i = 1;i <=20;i++ ){
for (int k = 1;k <= i ;k++ ){
System.out.print(" ");
}
for (int j = 20;j >= i ;j-- ){
System.out.print("*");
}
System.out.println();
}//输出直角三角形
for (int i = 1; i <= 20; i++) {
for (int j = i; j <= 20; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
System.out.println();
}
//输出等腰三角形
for (int i = 1;i <=20;i++ ){
for (int j = 20;j >= i ;j-- ){
System.out.print(" ");
}
for (int k = 1;k <= 20 ;k++ ){
System.out.print("*");
}
System.out.println();
}//输出平行四边形
for (int i = 1; i <= 20; i++) {
for (int j = i; j <= 20; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
System.out.println();
}//输出菱形上半部分
for (int i = 1; i <= 20; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
for (int j = 39; j >= 2 * i - 1; j--) {
System.out.print("*");
}
System.out.println();
}//输出菱形下半部分
/*输出
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
*/
for (int i = 1;i <= 5;i++ ){
for (int j = 4;j >= i;j--){
System.out.print(" ");
}
for (int j = 1;j <= i;j++){
System.out.print("* ");
}
System.out.println();
}//输出上半部分
for (int i = 4;i >= 1;i-- ){
for (int j = 4;j >= i;j--){
System.out.print(" ");
}
for (int j = 1;j <= i;j++){
System.out.print("* ");
}
System.out.println();
}//输出下半部分
//输出中空菱形,相当于四个直角三角形的组合,上下部分各两个对称三角形
for (int i = 1;i <= 5 ;i++ ){
for (int j = 5;j >= i;j--){
System.out.print("*");
}
for (int j = 1;j < 2 * i - 1;j++){
System.out.print(" ");
}
for (int j = 5;j >=i;j--){
System.out.print("*");
}
System.out.println();
}//输出上半部分
for (int i = 2;i <= 5 ;i++ ){
for (int j = 1;j <= i;j++ ){
System.out.print("*");
}
for (int j = 9;j >2 * i - 1 ; j--){
System.out.print(" ");
}
for (int j = 1;j <= i;j++ ){
System.out.print("*");
}
System.out.println();
}//输出下半部分
//输出心形图案,分三部分,第一部分为两个等腰三角形并列,第二部分为矩形,第三部分为倒立等腰三角形,修改参数调整图案轮廓
for (int i = 1;i <= 5;i++ ){
for (int j = 9;j >= 2 * i;j--){
System.out.print(" ");
}
for (int j = 1;j <= 4 * i ;j++){
System.out.print("*");
}
for (int j = 20;j >=4 * i + 1;j--){
System.out.print(" ");
}
for (int j = 1;j <= 4 * i ;j++){
System.out.print("*");
}
System.out.println();
}//第一部分两个等腰三角形并列
for (int i = 1;i <= 5 ;i++){
for (int j = 1;j <= 40 ;j++ ){
System.out.print("*");
}
System.out.println();
}//第二部分矩形
for (int i = 1; i <= 10; i++) {
for (int j = 1; j < 2 * i; j++) {
System.out.print(" ");
}
for (int j = 39; j >= 4 * i - 1; j --) {
System.out.print("*");
}
System.out.println();
}//第三部分倒立等腰三角形
}
}