java入门(4)–流程控制

程序如果只是逐条地顺序执行,那程序的行为恐怕要简单得多了,但也会失去大部分的强悍功能和精彩。

正是” 分支“打破了顺序执行的呆板局面,给程序注入了真正的生命力。

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球