网站首页 > java教程 正文
难度
初级
学习时间
30分钟
适合人群
零基础
开发语言
Java
开发环境
- JDK v11
- IntelliJ IDEA v2018.3
1.什么是流程控制语句?
源文件中的语句通常按照它们出现的顺序从上到下执行。但是,流程控制语句通过使用决策,循环和分支来分解执行流程,使你的程序能够有条件地执行特定的代码块。一共有决策语句(if-then,if-then-else,switch),循环语句(for,while,do-while)和分支语句(break,continue,return)三类。
第一句:
源文件中的语句通常按照它们出现的顺序从上到下执行。
什么是源文件?
在Java中,源文件就是Java类型的文件。
什么是语句?
以分号结尾的就是一条语句。上面有4条语句。
那什么又是“按顺序从上到下执行”?
我们来看一段示例代码:
这个程序输出的结果是:
输出的结果的顺序和它对应的输出语句顺序一致,也是从上到下,依次执行输出。
接着往下看下面一段话:
但是,流程控制语句通过使用决策,循环和分支来分解执行流程,使您的程序能够有条件地执行特定的代码块。
其中,我们的程序执行顺序是可以被控制的,也就是说原来显示输出的是“ABCD”,那么我可以让他只输出“AD”,怎么做到的呢,那就需要和流程控制语句的配合。流程控制语句有三类:
决策语句:if-then,if-then-else,switch
循环语句:for,while,do-while
分支语句:break,continue,return
接下来,本章讲解循环语句for。
2.while、do-while
前面我们学过while、do-while。
while语句的总结:
- while循环由循环条件和循环体构成
- while循环条件表达式的值只能是boolean类型
- while循环可以通过break跳出循环来结束循环
- while循环可以通过return返回方法值来结束方法,从而结束循环
- while循环可以通过continue跳过本次循环
- while循环可以通过循环条件表达式总是返回true来达到无限循环
do-while语句的总结:
- do-while循环由循环条件和循环体构成
- do-while循环无论循环条件是否成立,都将先执行一次循环体
- do-while循环条件表达式的值只能是boolean类型
- do-while循环可以通过break跳出循环来结束循环
- do-while循环可以通过return返回方法值来结束方法,从而结束循环
- do-while循环可以通过continue跳过本次循环
- do-while循环可以通过循环条件表达式总是返回true来达到无限循环
3.for
for又叫for循环。for循环由四部分组成。分别是初始化表达式、条件表达式、步进表达式、循环体。
for循环格式:
我们来一个例子演示一下for。
需求:
显示输出10遍“生日快乐”+次数。
思路:
- 通过for循环完成。
- 初始化表达式里面定义记录次数的变量count。
- 条件表达式是count<10。
- 步进表达式是累加count。
实现:
结果:
3.初始化表达式用逗号分隔定义多个相同类型的变量
特性:
for循环里面初始化表达式不只可以定义一个变量,还可以用逗号分隔写很多个相同类型的变量。
验证:
同时初始化2个变量。
实现:
结果:
4.初始化表达式可以不写
特性:
for循环里面初始化表达式可以不写。但是分号得留下。
验证:
- 不写for循环里面初始化表达式。
- 将count变量初始化动作放在main方法里面执行。
实现:
结果:
5.初始化表达式可以写其它内容
特性:
for循环初始化表达式可以写跟初始化不相关的内容。
验证:
- 在for循环初始化表达式中写上一段显示输出的代码。
实现:
结果:
6.初始化表达式只会被执行一次
特性:
for循环初始化表达式只会被执行一次。
验证:
- 在for循环初始化表达式中写上一段显示输出的代码。如果只显示输出一次,那么说明初始化表达式只会被执行一次;如果显示输出多次,那么说明初始化表达式不是只会被执行一次。
实现:
结果:
结论:
从执行结果来看,初始化表达式中的输出语句只被执行了一次。
7.条件表达式每次在循环体结束后执行
特性:
for循环条件表达式每次在循环体结束后执行。
验证:
- 在for循环循环体内将count设置为大于10的数,如果循环结束,说明for循环条件表达式每次循环体结束后都被执行,否则说明条件表达式只会被执行一次。
实现:
结果:
结论:
从执行结果来看,
第一次,count=0;count>3不满足;
第二次,count=1;count>3不满足;
第三次,count=2;count>3不满足;
第四次,count=3;count>3不满足;
第五次,count=4;count>3满足;此时执行if语句体,将count置为11。条件表达式的count<10不满足,返回false,循环结束。
综上所述,条件表达式每次在循环体执行结束后执行。
8.条件表达式省略不写就是无限循环
特性:
for循环条件表达式省略不写就是无限循环。
验证:
- 将for循环条件表达式置空。
实现:
结果:
结论:
从执行结果来看,count变量不断在累加,循环体不断在被执行,没有结束循环的条件,说明这就是一个无限循环。
9.步进表达式可以写多条语句
特性:
for循环步进表达式可以写多条语句。
验证:
- 初始化表达式声明两个变量
- 步进表达式对这两个变量同时递增或递减
实现:
结果:
结论:
从运行结果来看,x变量不断递增,y变量不断递减,最后循环也正常结束。说明步进表达式可以同时写多个语句。
10.步进表达式可以省略不写
特性:
for循环步进表达式可以省略不写。
验证:
- 初始化表达式声明两个变量
- 将这两个变量同时递增或递减对操作放进循环体里面
实现:
结果:
结论:
从运行结果来看,x和y在循环体里面递增和递减,并没有影响循环的正常执行。说明步进表达式可以省略不写。
11.步进表达式在循环体后执行
特性:
for循环步进表达式在循环体执行完毕后再执行。
验证:
- 初始化表达式声明两个变量
- 将这两个变量同时递增或递减对操作放进循环体里面
- 在步进表达式里面显示输出这两个变量
实现:
结果:
结论:
从运行结果来看,x和y先在循环体中显示输出一次,然后x和y在循环体里面递增和递减,接着x和y在步进表达式里面又被显示输出一次,步进表达式里面的显示输出在循环体的后面,说明了步进表达式是在循环体后执行。
12.初始化表达式、条件表达式、步进表达式全部省略不写就是无限循环
特性:
for循环中初始化表达式、条件表达式、步进表达式全部省略不写就是无限循环。
验证:
- 将初始化表达式、条件表达式、步进表达式全部置空。
- 在循环体内显示输出“我是无限循环”。
实现:
结果:
结论:
从运行结果来看,确实是无限循环,那么也验证了初始化表达式、条件表达式、步进表达式全部省略不写就是无限循环的特性。
总结:
- for循环由初始化表达式、条件表达式、步进表达式、循环体四部分组成。
- for循环初始化表达式只会被执行一次。
- for循环初始化表达式可以同时声明多个相同类型的变量。
- for循环初始化表达式可以省略不写。
- for循环初始化表达式可以写非赋值语句。
- for循环条件表达式只能接收boolean类型。
- for循环条件表达式第一次在初始化表达式后面执行。
- for循环条件表达式每次都会在循环开始前执行。
- for循环条件表达式可以循环省略不写,那就是无限循环。
- for循环步进表达式每次在循环体后执行。
- for循环步进表达式里面可以写非赋值语句。
- for循环步进表达式可以省略不写。
- for循环初始化表达式、条件表达式、步进表达式全部都可以省略不写,那就是无限循环。
- for循环完整执行顺序是初始化表达式最先执行,而且只会被执行一次,条件表达式每次在循环开始前执行,循环体在条件表达式后面执行,步进表达式在循环体后面执行。
至此,Java中流程控制语句中循环语句for相关内容讲解先告一段落,更多内容请持续关注。
附:流程控制语句表
答疑
如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。
上一章
“全栈2019”Java第二十六章:流程控制语句中循环语句do-while
下一章
“全栈2019”Java第二十八章:数组详解(上篇)
学习小组
加入同步学习小组,共同交流与进步。
- 方式一:关注头条号gorhaf,私信“Java学习小组”。
- 方式二:关注公众号gorhaf,回复“Java学习小组”。
全栈工程师学习计划
关注我们,加入“全栈工程师学习计划”。
版权声明
原创不易,未经允许不得转载!
猜你喜欢
- 2024-11-03 详细总结Java for循环的那些坑(java的for循环中是如何执行的)
- 2024-11-03 11.Java中的 while 循环(java的for循环语句)
- 2024-11-03 传说级大佬总结的几道Java循环练习题(适合新人)
- 2024-11-03 java中的while循环(javado while循环)
- 2024-11-03 Java流程控制语句之循环结构--初学者适用
- 2024-11-03 What?Java循环还能嵌套循环,说好的禁止套娃呢!「第12集」
- 2024-11-03 Golang for 循环(golangfor循环特性改变)
- 2024-11-03 JavaScript for 循环(javascriptfor循环数字累加)
- 2024-11-03 java循环的这4种遍历方式,有些16K的程序员可能是懵逼的
- 2024-11-03 用了那么久的 Java For 循环,你知道哪种方式效率最高吗?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)