程序如果只是逐条地顺序执行,那程序的行为恐怕要简单得多了,但也会失去大部分的强悍功能和精彩。
正是” 分支“打破了顺序执行的呆板局面,给程序注入了真正的生命力。
java中的分支主要由 选择 和 循环语句提供,其语法基本与 c 语言相同。
if…else… 恐怕是最为我们熟悉的了。它有多种表现形式。
if(条件) 语句;
if(条件){
语句1;
语句2;
…
有的编码规范上要求,即便是只有一条语句,也要放在大括号中。
if(条件){
else {
if(条件){
else if(条件2){
else if(条件3){
else{
下面以多种风格求 a,b,c三个数中最大的数。
这种方式简明易懂,只用 if 没有 else
逻辑上先假设 a 是最大的,然后谁比它大,谁就成为新任盟主。
这种方法也很容易理解。要注意是大于等于,不是大于哦,如果出现了相等数字 ….
其实这还是有个 bug 的, 假如 3 个数字相等, 就会输出 3 次的。
这种方法有点点绕人,当待比较的数字更多的时候,简直就灾难了…
这样也挺好吧? 不会担心数字重复的问题。
如果有很多个else if 这样的逻辑分支,多数情况可以用 switch 语句来代替,代码更清楚一些。
如下的代码把分数转化为评语。
注意,switch 的括号内只能是可枚举的类型,比如:int char 等。用 String 类型是不可以的。
初学者还要注意,每个 case 块内,不要忘记了 break 语句,否则,程序在执行完该块的内容后还会继续执行下一块中的代码,这往往不是我们所希望的。
java 与 c 语言一样,提供了 while for 等循环构造手段。
最简单的循环莫过于”死循环”。可以通过 while(true) 来实现。
下面的代码打印出 10000 以内 5 的幂。
死循环一般总是要配合 break 语句,以便在适当的时机跳出循环外。
这个跳出条件也可以转化为” 不跳出条件“,直接写在 while 的括号中。
观察这里的 x ,如果你写过很多循环逻辑,就会发现规律:
这里的变量总是执行:初始化,控制跳出时机,改变自身 这3件事情。
for 语句就可以把这 3 件事情 收纳于一身。
上面的代码逻辑用 for 表示起来就会更加简洁:
但,一般情况下,我们更愿意用 for 循环来表达已知次数的循环。
如下代码求出一个数组中的最大值。
我们需要注意,for 循环中的控制变量 i 的作用域范围仅仅限于 for 语句块内。
也就是说,如果紧跟着还有一个 for 语句,它也可以再定义 变量 i, 不必要换另一个名字。
在循环中,总可以通过 break 语句提前跳出来,也可以通过 continue 语句越过本轮循环,跳到下一轮(但不跳出循环)。
下面的代码模拟的是一个叫做”拍七”的小游戏。
这个游戏要求大家从1 到 100 轮流报数,但碰到含有 7 或 7 的倍数的数字要跳过去。
return 语句
除了选择和循环, return 语句也是常用的流程控制手段。
下面的代码,把判断一个数字是否为素数封装为一个方法来调用。
所谓素数就是除了 1 和它本身外,再没有其它数字可以整除它。
Original: https://www.cnblogs.com/gyhang/p/8728908.html
Author: 可雷曼土
Title: java入门(4)–流程控制
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577473/
转载文章受原作者版权保护。转载请注明原作者出处!