Java学习日记基础篇(三-下)——流程控制之循环控制
循环控制
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学习日记基础篇(三-下)——流程控制之循环控制的更多相关文章
- Java学习日记——基础篇(三-上)基本语法之运算符和流程控制
运算符 算术运算符 听其名而知其意,就是用于计算的,java中常用的是: + 加 - 减 * 乘 / 除 % 取模,取余——%可以用来得到两个数相除的余数 小练习——写一个ja ...
- Java学习日记基础篇(六)—— 抽象类、接口、final
抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { pub ...
- Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法
面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...
- Java学习日记——基础篇(一)常识
JAVA简介 Java的标准 Java是一种语言,一个平台包含JavaSE.JavaEE.JavaME三个版本 JavaSE标准版(属于Java的基础部分,可以开发C/S构架的桌面应用程序) Java ...
- Java学习日记基础篇(七) —— 数组、排序
数组 为什么要有数组? 案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg.请问这六只鸡的总体重和平均体重是多少? public class test5 { ...
- Java学习日记——基础篇(二)基本语法
变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main( ...
- Java学习日记基础篇(九) —— 集合框架,泛型,异常
集合框架 有事我们会需要一个能够动态的调整大小的数组,比如说要添加新员工但是数组已经满了,并且数组的大小是在定义的时候定死的,所以我们就需要一个能够动态调整大小的数组或者用链表解决,而java中提供了 ...
- Java学习日记基础篇(八) —— 二进制、位运算、位移运算
二进制 二进制是逢2进位的进位置,0,1是基本算符 原码反码补码 在基本数据类型那里,有详细解释 二进制的最高位数是符号位:0表示整数,1表示负数 正数的原码,反码,补码都一样 负数的反码 = 它的原 ...
- Java04-Java语法基础(三)流程控制
Java04-Java语法基础(三)流程控制 一.数据类型的转换 1.自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换 double d1 = 3.14; int t1 = d1; 2 ...
随机推荐
- 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
C:\Windows\system32>cd C:\Program Files\mysql-8.0.18-winx64\bin\ C:\Program Files\mysql-8.0.18-wi ...
- DropDownList下拉控件
<asp:DropDownList ID="DropDownList1" runat="server" Width="177px" ...
- linux环境weblogic的安装及新建域
环境:inux 64位,jdk 64位, jdk 安装用户应使用weblogic.若使用其他用户安装,须将jdk安装目录整体授权给wblogic用户 安装包:wls1036_dev.zi ...
- VSCode 搭建 React Native 环境
安装 React Native Tools 在插件市场搜索 react 找到 React Native Tools 进行安装: 创建的react-native的工程拖入vscode中 点击F5即可运行 ...
- 在pivotal cloud foundry上申请账号和部署应用
Created by Wang, Jerry, last modified on Jul 04, 2016 URL: http://run.pivotal.io/ maintain your mobi ...
- java 扫描微信公众号二维码,关注并登录逻辑
场景:户扫描微信公众号的二维码,关注后自动登录网站,若已关注则直接登录. 逻辑: 系统生成带参数的临时二维码:参数 scene_str 自定义为唯一值(可以是uuid),临时二维码的生成方式参照官方接 ...
- Python基础Day7
七步记忆法: ① 预习(30min) ② 听课 (重点) ③ 课间练习 ④ 下午或者晚上练习(大量练习.重复练习)⑤ 晚上睡觉前的回忆 ⑥ 第二天早晨回顾 ⑦ 每周总结,自己默写方法 一.enumer ...
- [ipsec][strongswan] strongswan源码分析--(四)plugin加载优先级原理
前言 如前所述, 我们知道,strongswan以插件功能来提供各种各样的功能.插件之间彼此相互提供功能,同时也有可能提供重复的功能. 这个时候,便需要一个优先级关系,来保证先后加载顺序. 方法 在配 ...
- git命令——git add
如何理解git add git add命令本身并不复杂,字面意义上理解是“将一个文件添加到项目中“.但是这种理解有缺陷,有时候可能会出现某个文件同时存在暂存区域 和 非暂存区域(staged and ...
- 有关Error during sbt execution: No Scala version specified or detected的解决方案--SBT
sbt 全称为 Simple Build Tool,是 Scala 项目中的标准构建工具,类似于 Java 下的 Maven/Groovy 中的 Gradle. 项目的构建 项目依赖自动化管理 提供统 ...