循环控制

for循环

语法:

for(循环初值;循环条件;步长)
{
语句; //循环体
}

例子:

import java.io.*;
public class Demo4
{
public static void main(String args[])
{
for(int i=0;i<10;i++)
{
System.out.println("12.3");
}
}
}

while循环

语法:特别说明while循环是先判断,再执行语句

while(循环条件)
{
语句; //循环体
}

例子:

import java.io.*;
public class Demo4
{
public static void main(String args[])
{
int i=0;
while(i<10)
{
System.out.println("12.1");
i++;
}
}
}

do while循环

语法:特别说明:do while是先执行再判断

do {
语句; //循环体
}while(循环条件);

例子:

import java.io.*;
public class Demo4
{
public static void main(String args[])
{
int i = 0;
do{
System.out.println("do while循环");
i++;
}while(i<10);
}
}

do while 和 while 的区别

import java.io.*;
public class Demo4
{
public static void main(String args[])
{
int i=0; while(i>10)
{
System.out.println("while循环");
i++;
}
for (i=0;i>10;i++)
{
System.out.println("for循环");
}
i = 0;
do{
System.out.println("do while循环");
i++;
}while(i>10);
}
} 输出结果:
D:\myJavaDemo>java Demo4
do while循环

  do while不管符不符合条件都会执行一次循环

案例:请编写一个程序,可以接受一个整数,表示层数,打印出金字塔     

当遇到一个题无从下手时,可以先拆解成简单的问题

public class Demo5
{
public static void main(String []args)
{
//死去活来-->打四层
int lay = 4; //表示有多少层
for (int i=1;i<=lay;i++)
{
//打印*
for(int k=lay-i;k>0;k--) //int k=1;k<=lay-i;k++
{
System.out.print(" ");
}
for (int j=1;j<=(i-1)*2+1;j++) //1-1,2-3,3-5
{
System.out.print("*");
} System.out.println(); //打印出换行符
}
}
}

  注意 System.out.println 和 System.out.print 不一样,前者会打出换行

案例二:将金字塔打印成镂空形状的

  • 提示:要想到对打印 * 的那条语句动手脚
  • 注意到只有第一层和最后一层打印的东西和原来完全相同,所以要做判断,判断是否是顶层或者底层,i表示层数——(i==1 || ==lay)
  • 然后进行*号的判断,前后的 * 号都要打出来,所以要判断 * 是否是第一个和最后一个,j表示要打印的是第几个 * ——(j==1 || j==(i-1)*2+1),剩下的要打印 空格
public class Demo5
{
public static void main(String []args)
{
int lay = 7;
for (int i=1;i<=lay;i++)
{
for(int k=lay-i;k>0;k--)
{
System.out.print(" ");
}
for (int j=1;j<=(i-1)*2+1;j++)
{
//判断盖层是否是顶层或者是底层
if(i==1||i==lay)
{
System.out.print("*");
}
else
{
//如果是第一个*和最后一个*号,都要打出来
if(j==1||j==(i-1)*2+1)
{
System.out.print("*");
}
else    //否则就打印空格
{
System.out.print(" ");
}
}
} System.out.println();
}
}
}

作业:打一个镂空的菱形

Java学习日记基础篇(三-下)——流程控制之循环控制的更多相关文章

  1. Java学习日记——基础篇(三-上)基本语法之运算符和流程控制

    运算符 算术运算符 听其名而知其意,就是用于计算的,java中常用的是: +   加 -    减 *    乘 /    除 %  取模,取余——%可以用来得到两个数相除的余数 小练习——写一个ja ...

  2. Java学习日记基础篇(六)—— 抽象类、接口、final

    抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { pub ...

  3. Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法

    面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...

  4. Java学习日记——基础篇(一)常识

    JAVA简介 Java的标准 Java是一种语言,一个平台包含JavaSE.JavaEE.JavaME三个版本 JavaSE标准版(属于Java的基础部分,可以开发C/S构架的桌面应用程序) Java ...

  5. Java学习日记基础篇(七) —— 数组、排序

    数组 为什么要有数组? 案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg.请问这六只鸡的总体重和平均体重是多少? public class test5 { ...

  6. Java学习日记——基础篇(二)基本语法

    变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main( ...

  7. Java学习日记基础篇(九) —— 集合框架,泛型,异常

    集合框架 有事我们会需要一个能够动态的调整大小的数组,比如说要添加新员工但是数组已经满了,并且数组的大小是在定义的时候定死的,所以我们就需要一个能够动态调整大小的数组或者用链表解决,而java中提供了 ...

  8. Java学习日记基础篇(八) —— 二进制、位运算、位移运算

    二进制 二进制是逢2进位的进位置,0,1是基本算符 原码反码补码 在基本数据类型那里,有详细解释 二进制的最高位数是符号位:0表示整数,1表示负数 正数的原码,反码,补码都一样 负数的反码 = 它的原 ...

  9. Java04-Java语法基础(三)流程控制

    Java04-Java语法基础(三)流程控制 一.数据类型的转换 1.自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换 double d1 = 3.14; int t1 = d1; 2 ...

随机推荐

  1. .Net DLL类库引用时没有注释信息

    自己编写的类库提供给别人引用时,别人获取不到DLL内部的方法.变量的注释信息,无法了解内部情况和使用方法. 原因:没有随DLL类库一同输出注释文档 解决方案: 在VS界面中选中提供给别人的类库项目 在 ...

  2. Extending WCF using IServiceBehavior, IOperationBehavior, and IParameterInspector

    [ServiceContract(Name = "PasswordGenerator")] public interface IPasswordGenerator { [Opera ...

  3. 图片上传怎么用File接受文件

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.——这才是真正的堪称强大!! - ...

  4. FLV 数据封装格式

    https://www.cnblogs.com/chyingp/p/flv-getting-started.html https://blog.csdn.net/ai2000ai/article/de ...

  5. 【转】SpringCloud学习笔记(一)——基础

    什么是微服务架构 简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进 ...

  6. 使用 JS 来动态操作 css ,你知道几种方法?

    JavaScript 可以说是交互之王,它作为脚本语言加上许多 Web Api 进一步扩展了它的特性集,更加丰富界面交互的可操作性.这类 API 的例子包括WebGL API.Canvas API.D ...

  7. JS中浏览器的数据存储机制

    一.JS中的三种数据存储方式 cookie.sessionStorage.localStorage 二.cookie 1.cookie的定义: cookie是存储在浏览器上的一小段数据,用来记录某些当 ...

  8. springboot 常见的启动器

    <!--pringBoot提供了一个名为spring-boot-starter-parent的工程, 里面已经对各种常用依赖(并非全部)的版本进行了管理 我们的项目需要以这个项目为父工程,这样我 ...

  9. leetcode-2-重复的DNA序列

    所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函 ...

  10. 【bzoj3238】差异 后缀树

    题目大意:给你一个字符串$S$,设$S_i$是串$S$第$i$长的后缀,求: $\sum\limits_{i=1}^{|S|} \sum\limits_{j=i+1}^{|S|} |S_i|+|S_j ...