循环结构-for,while,do-while
2024-10-19 07:31:48
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("");
}
}
}
最新文章
- 如何在腾讯开放平台的云服务器上安装php和memcache 一
- Mini projects #6 ---- Blackjack
- javascript之小积累-.-添加form表单查询的enter键支持
- 3、颜色的字符串、十进制、十六进制相互转换(color convert between dec、hex and string )
- C# ASP.NET Webservice调用外部exe无效的解决方法
- Oracle学习过程(随时更新)
- GPL,LGPL和BSD等协议注意事项
- prototype对象的真正作用
- Building Redis for use on Cygwin(转)
- oracle__wm_concat函数
- Linux学习之在搭建java开发环境
- 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
- linux知识汇总
- 基于Mycat实现读写分离
- jquery中找到元素在数组中位置,添加或者删除元素的新方法
- JavaScript中该如何[更好的]做动效
- python&#39;s output redirect
- 位集合(BitSet)| Java数据结构
- castle activerecord 学习过程出现的问题
- git上了github又要上码云。