for,while,do-while

>完整的循环应该包含以下四个部分:

初始化语句:初始化工作,在循环体开始之前执行

条件表达式:一个boolean表达式,决定是否执行循环体

循环体:反复执行的部分

循环变量控制语句(迭代语句):在循环体执行完之后执行,然后再去判断循环条件,一般用来控制循环条件中的变量,使循环在合适的时候结束

###for循环
>格式 for(初始化表达式;条件表达式;循环变量控制语句){
循环体语句;
} 特殊格式 for(;;){ }
>for运行的顺序: 1.执行初始化表达式,只执行一次,通常是定义循环变量语句
2.判断循环条件:为真就往下执行;为假就结束循环
3.执行循环体语句
4.执行循环变量控制语句,一般是循环变量的自增或自减
5.回到第2步,重复这个过程,直到为假时结束
>for循环注意事项: 1.循环变量通常定义为int型,因为最常用的就是int型
2.循环条件判断的结果是boolean类型值
3.小括号中的分号不能写成中文的分号
4.如果循环体只有一条语句的话,可以省略大括号,但建议写全
5.循环变量控制语句不必每次改变1,根据情况,可以是任意值 ###While循环
>格式 [初始化语句]
while(条件表达式){
循环体语句;
[循环变量控制语句]
} 特殊格式 while(true){
if(...){//退出循环;break}
}
>执行流程: 1.执行初始化语句(如果有的话)
2.判断条件表达式真假:如果真,往下执行;如果假,结束循环
3.执行循环体语句
4.执行循环变量控制语句(如果有的话)
5.返回第2步,重复执行,直到条件为假,结束循环 >循环变量的使用问题 for循环的循环变量,一般情况下在循环外是不能访问到的,
因为它的作用域是在for循环的{}之内,
但是可以通过把循环变量定义在外边来实现这个功能;
或者定义计数器
for(int i = 0;i<10;i++){
...
}
System.out.println(i);//NG报错 /*正确模式
int i = 0;
for(;i<10;i++){
...
}
System.out.println(i);//OK
*/
# while循环本身就把循环变量定义在循环之外,所以没有这个问题
int i = 0;
while(i<10){
...
i++;
}
System.out.println(i); >for 和 while的应用场景 for循环和while循环一般情况下是可以互换的.
1.当明确知道循环的范围的时候,通常使用for
2.当不明确循环次数的时候,for和while都可以,通常使用while ###do-While循环 [初始化语句]
do {
循环体语句;//至少被执行一次
[循环变量控制语句]
}while(条件表达式);
>eg1:

     //在控制台上依次打印1-10
public class PrintDemo{
public static void main(String[] args){
for(int i = 1;i<=10;i++){
System.out.println(i);
}
}
} >eg2: //求1-10的和
public class SumDemo{
public static void main(String[] args){
int sum=0;
for(int i = 1;i<=10;i++){
sum+=i;
}
System.out.println(sum);
} } >eg3: //求水仙花数:位数,各个位上数字的立方和等于这个数本身,例:153 public class FlowerDemo{
public static void main(String[] args){
int sum=0;
for(int i = 100;i<=999;i++){
int bai = i / 100;
int shi = i /10 %10;
int ge = i %100 %10;
if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i){
System.out.println(i);
}
}
}
}
>eg4: //统计1000以内,同时是3,5,7的倍数的数有多少个?
/*
在1-100之间,若是3的倍数,则在它之后输出中文“三”,
若是5的倍数,则在它之后输出中文“五”,
若是7的倍数,则在它之后输出中文“七”
*/ public class Multiple_3_5_7{
public static void main(String[] args){
for(int i= 1;i<=100;i++ ){
System.out.print(i);
if (i % 3 == 0){
System.out.print(" 三 ");
} if(i % 5 == 0){
System.out.print("五");
}
if(i % 7 == 0){
System.out.print("七");
}System.out.println("");
}
}
}

循环结构-for,while,do-while的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. Swift -运算符和循环结构

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #4dbf56 } p.p2 { margin: 0.0px 0. ...

  3. 浅析PHP中for与foreach两个循环结构遍历数组的区别

    遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...

  4. PHP流程控制之循环结构

    计算机程序最擅长的功能之一就是按规定的条件,重复执行某些操作.循环结构可以减少源程序重复书写的工作量,即在给定条件成立时,反复执行某程序段,直到条件不成立为止.给定的条件称为循环条件,反复执行的程序段 ...

  5. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  6. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  7. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

  8. Java 第8章 循环结构进阶

    循环结构进阶 什么是二重循环? 二重循环的执行顺序是什么?

  9. luogg_java学习_03_流程控制及循环结构

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 程序流程控制 顺序结构 分支结构:if-else,sw ...

  10. C语言中的循环结构与选择结构

    1. 为什么使用循环? 重复执行某段代码 2. while(条件){ 循环体: } 当条件成立的时候就执行循环体,条件不成立,就退出循环,继续执行while后面的语句 3. for ( 初始表达式 : ...

随机推荐

  1. 转载:指针delete后要设置为NULL

    本文来自:http://rpy000.blog.163.com/blog/static/196109536201292615547939/ 众所周知,最开始我们用new来创建一个指针,那么等我们用完它 ...

  2. leetcode279

    动态规划 public class Solution { public int NumSquares(int n) { var list = new List<int>(); list.A ...

  3. JPA中建立数据库表和实体间映射小结

    在JPA中,映射数据库表和实体的时候,需要注意一些细节如下, 实体类要用@Entity的注解: 要用 @Id 来注解一个主键: 如果跟数据库相关联,要用@Table注解相关数据库表: 实体类中字段需要 ...

  4. source tree图谱

    参考: https://www.jianshu.com/p/0e64ad60899e

  5. docker mysql Exit 1

    用laradock启动mysql时,state总是 Exit 1 ,docker-compose build后也没有效果 这时应该在-/.laradock/data(.env的DATA_PATH_HO ...

  6. unable to auto-detect email address

    git错误:unable to auto-detect email address 2017年11月14日 08:51:08 陈君豪 阅读数:7914   idea 用git更新的时候报错,详细错误信 ...

  7. 基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |

    来源商业新知网,原标题:让聊天机器人完美回复 | 基于PaddlePaddle的语义匹配模型DAM 语义匹配 语义匹配是NLP的一项重要应用.无论是问答系统.对话系统还是智能客服,都可以认为是问题和回 ...

  8. hdu5698瞬间移动-(杨辉三角+组合数+乘法逆元)

    瞬间移动 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  9. 数据导入Excel时,出现ole error 800AC472这个错误,怎么解决。

    我也出现过这个问题 在生成报表的时候不要动EXCEL中的任何单元格 让它完成保存就可以了 或者是把office 2003 删除下载一个office 2000就可以解决 据说是版本兼容的问题 不是高手 ...

  10. springboot整合mybatis遇到的那些坑

    1.接口类(指*Mapper.java)在spring中注册的问题 当控制台打印如下信息: A component required a bean named '*Mapper' that could ...