学习目标:

熟练掌握 for 循环的使用

例题:

1、需求:打印直角三角形
代码如下:

// 左直角
for(int i = 0; i < 5; i++) {
for(int j = 0; j <= i; j++) {
System.out.print("*");
}
System.out.println(""); }
//右直角
for(int i = 0; i < 5; i++) {
for(int k = 0; k < 4 - i; k++) {
System.out.print(" ");
}
for(int j = 0; j <= i; j++) {
System.out.print("*");
}
System.out.println(""); }

运行效果:

*
**
***
****
*****
*
**
***
****
***** Process finished with exit code 0

2、需求:打印正三角形
代码如下:

// 正角三角形
for(int i = 0; i < 5; i++) {
// 打印 * 号前的空格,总共5行,第一行前面3个空格,第二行前面2个空格,随着行变化而变化
for(int k = 4; k > i; k--) {
System.out.print(" ");
}
// 打印 *
for(int j = 0; j <= i; j++) {
System.out.print("* ");
}
System.out.println("");
}

运行效果:

    *
* *
* * *
* * * *
* * * * * Process finished with exit code 0

3、需求:打印实心棱形
代码如下:

// 打印实心棱形
for(int i = 0; i < 4; i++) {
for(int k = 2; k >= i; k--) {
System.out.print(" ");
}
for(int j = 0; j <= i; j++) {
System.out.print(" *");
}
System.out.println();
}
for(int i = 3; i > 0; i--) {
for(int k = 0; k <= 3 - i; k++) {
System.out.print(" ");
}
for(int j = 0; j < i; j++) {
System.out.print(" *");
}
System.out.println();
}

运行效果:

    *
* *
* * *
* * * *
* * *
* *
* Process finished with exit code 0

3、需求:打印空心棱形
代码如下:

// 打印空心棱形
for(int i = 0; i < 4; i++) {
// 打印开头的空字符
for(int k = 3; k > i; k--) {
System.out.print(" ");
}
// 判断是否是第一行,如果是就打印2颗*,如果不是则打印1颗*
if(i > 0) {
System.out.print("*");
// 打印中间空格
for(int j = 0; j < i * 2 - 1; j++) {
System.out.print(" ");
}
System.out.print("*");
} else {
System.out.print("*");
}
System.out.println();
}
// 打印下面的倒三角
for(int i = 1; i < 4; i++) {
// 打印开头的空字符
for(int k = 0; k < i; k++) {
System.out.print(" ");
}
// 判断是否是第一行,如果是就打印2颗*,如果不是则打印1颗*
if(i < 3) {
System.out.print("*");
// 打印中间空格
for(int j = 1; j <= 5 - i * 2; j++) {
System.out.print(" ");
}
System.out.print("*");
} else {
System.out.print("*");
}
System.out.println();
}

运行效果:

   *
* *
* *
* *
* *
* *
* Process finished with exit code 0

总结:

以上就是for循环的应用了

for 循环打印直角三角形、正三角形、棱形的更多相关文章

  1. 使用Java的嵌套循环打印出平行四边形、等腰三角形、棱形、矩形的星星图案(Java工程师面试必备)

    第一遍是看了视频,听老师讲解嵌套循环的使用,然后到星星图形这一步,当时都觉得听明白了,但是自己去做,就是写不出来 第二遍看了赵老师的教程,看了好熟悉的感觉,还是自己写不出来 第三遍找网上关于图形的嵌套 ...

  2. 面试题-一个for循环输出一个棱形

    用一个for循环输出以下棱形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

  3. java基础08 双重循环打印图形

    public class Double01 { /** * 若有3个班级各4名学员参赛, * 如何计算每个班级参赛学员的平均分? */ public static void main(String[] ...

  4. for 循环打印图形

    public class For { public static void main(String[] args) { //"使用双层for循环打印图形时,外层管行,内层管列",那 ...

  5. C语言回滚(二)--循环打印

    //1.用循环打印 /* FFEFEDFEDCFEDCBFEDCBA */ #include <stdio.h> #include<stdlib.h> int main(){ ...

  6. 编程题:利用for循环打印 9*9 表?

    利用for循环打印 9*9  表? 1*1=1 1*2=2  2*2=4 1*3=3  2*3=6  3*3=9 1*4=4  2*4=8  3*4=12  4*4=16 1*5=5  2*5=10  ...

  7. Java多线程循环打印ABC的5种实现方法

    https://blog.csdn.net/weixin_39723337/article/details/80352783 题目:3个线程循环打印ABC,其中A打印3次,B打印2次,C打印1次,循环 ...

  8. 写一个方法,用一个for循环打印九九乘法表

    public class MultiplicationTable { /**  * @description 写一个方法,用一个for循环打印九九乘法表   * @author  wangkun  * ...

  9. 如何用一个for循环打印出一个二维数组

    思路分析: 二维数组在内存中默认是按照行存储的,比如一个二维数组{{1,2,3,},{4,5,6}},它在内存中存储的顺序就是1.2.3.4.5.6,也就是说,对于这6个数组元素,按照从0到5给它们编 ...

随机推荐

  1. java中的异常(Exception)

    基本概念 将程序执行中发生的不正常的情况称为"异常".开发中的语法错误和逻辑错误不是异常 执行过程中的异常事件可分为两大类 错误(Error):Java虚拟机无法解决的严重问题.例 ...

  2. vue3 区别于 vue2 的“与众不同”

    希望本篇文章能帮你加深对 Vue 的理解,能信誓旦旦地说自己熟练Vue2/3.除此之外,也希望路过的朋友可以帮助我查漏补缺.   区别 生命周期的变化 整体来看,变化不大,只是名字大部分需要 + on ...

  3. LGP3346题解

    广义 SAM 比较简单的题/fad 题意:树上所有路径一共能够组成多少个本质不同子串? 并且数据保证最多只有20个叶子节点. 我们先来考虑一下一种特殊情况: 对于路径 \([u,v]\),\(u\) ...

  4. calcite物化视图详解

    概述 物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图. 当用户查询的时候,原先创建的物化视图会注册到优化器中,用户的查询命中物化 ...

  5. 在/etc/docker/下 创建daemon.json重新加载后docker无法启动问题 /etc/docker/daemon.json编辑不了 找不到

    可能产生这个问题的原因至少有以下几个: 编辑daemon.json步骤不对:想要创建并编辑daemon.json,应该是先启动docker服务,此时系统自动产生/etc/docker目录,此时cat生 ...

  6. Java案例——冒泡排序

    排序:将一组数据按照固定的规则进行排列 冒泡排序:一种排序方式,对将要排序的相邻的数据进行两两比较,将较大的放在后面,依次对所有的数据进行操作,直到所有的数据按要求完成排序 冒泡排序原理: 1.如果有 ...

  7. 羽夏看Win系统内核——结语

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  8. 七天接手react项目 系列 —— 尾篇(antd 和 mobx)

    其他章节请看: 七天接手react项目 系列 尾篇 前面我们依次学习了 react 基础知识.react 脚手架创建项目.react 路由,已经花费了不少时间,但距离接手 spug_web 项目还有一 ...

  9. 图解CompletableFuture源码

    前言 关于CompletableFuture源码解析部分,整体上感觉还是写比较难的,不过为了推广到团队还是要好好搞一下的,我还是希望大家看到这边文章能学到点什么,废话不多说开始吧. 属性部分 首先看属 ...

  10. Blazor 003 : Razor的基础语法

    上文,我们通过剖析一个最简单的 Blazor WASM 项目,讲明白了 Razor 文件是什么,以及它被转译成 C#后长什么样子.也介绍了 Razor 中最简单的一个语法:Razor Expressi ...