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("");
}
}
}

最新文章

  1. 如何在腾讯开放平台的云服务器上安装php和memcache 一
  2. Mini projects #6 ---- Blackjack
  3. javascript之小积累-.-添加form表单查询的enter键支持
  4. 3、颜色的字符串、十进制、十六进制相互转换(color convert between dec、hex and string )
  5. C# ASP.NET Webservice调用外部exe无效的解决方法
  6. Oracle学习过程(随时更新)
  7. GPL,LGPL和BSD等协议注意事项
  8. prototype对象的真正作用
  9. Building Redis for use on Cygwin(转)
  10. oracle__wm_concat函数
  11. Linux学习之在搭建java开发环境
  12. Spring 中出现Element : property Bean definitions can have zero or more properties. Property elements correspond to JavaBean setter methods exposed by the bean classes. Spring supports primitives, refer
  13. linux知识汇总
  14. 基于Mycat实现读写分离
  15. jquery中找到元素在数组中位置,添加或者删除元素的新方法
  16. JavaScript中该如何[更好的]做动效
  17. python&#39;s output redirect
  18. 位集合(BitSet)| Java数据结构
  19. castle activerecord 学习过程出现的问题
  20. git上了github又要上码云。

热门文章

  1. #161: 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件
  2. !!!常用JS代码块 (jquery)
  3. leetcode141
  4. 更改mysql 和jinkins目录
  5. python装饰器补漏
  6. jquery 中后代遍历之children、find区别
  7. R语言-散点图阵
  8. 服务器解析慢,可以安装nscd解决
  9. [剑指Offer]5-替换空格
  10. EntityFramework 基础提供程序在 Open 上失败