Java基础语法之控制流程

Posted auditoryfeather

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础语法之控制流程相关的知识,希望对你有一定的参考价值。

Java基础语法之控制流程

技术图片

语言的流程控制提供了对程序步骤的基本方法。

三大流程控制语句:顺序、选择、循环

复合结构

复合结构是以一个区块为单位的,由"{"开始"}"结束。复合语句会为局部变量创建一个作用域,该作用域会成为程序的一部分。在这个作用域中变量能够被创建使用,如果这个变量在这个作用域外使用,会发生程序错误。复合结构内可以嵌套多个复合结构。

判断结构

判断结构会根据不同的条件结果执行不同的代码块。

If结构

技术图片

if结构中的条件结构是一个布尔值,在条件满足也就是true时执行大括号中的代码块,如果条件不满足就是结果为false时则不执行大括号中的代码块,直接执行if结构后的代码。

技术图片

在if结构中的代码量很少的情况我们可以省略大括号。不是很建议使用,这样容易连你自己都分不清楚是不是if结构中的语句更别说其他程序员的后期维护。

If-else结构

技术图片

技术图片

if-else结构同理如果条件满足执行1,否则执行代码块2。

Demo

我们可以尝试编写一个小程序。

根据相应的考试成绩输出响应的评价,成绩大于等于90分输出优,大于等于80且小于等于90输出良,大于等于60且小于80输出中,小于60则输出不及格。

看到题目可能会疑惑,不管是if结构或者if-else结构都需要繁琐并且代码量很大才能完成。接下来看看代码:

技术图片

其中的Scanner input = new Scanner(Systrm.in);是什么呢,他是一个输入语句他的名字是input,只需要记住,我后面的文章会详细讲解。

这段代码的执行过程是

????开始提示输入成绩,然后他会更具你输入的成绩进行判断,只能输入double类型的数据。

这也不是if结构或者if-else结构啊,慢慢往下看!

多重if

技术图片

当我们要同时判断多个条件是就需要这个多重if-else结构了。

嵌套if

技术图片

顾名思义嵌套if结构就是将if结构套在if结构里面。

Demo

上面的那个小Demo也可以用嵌套if结构完成。

技术图片

会很复杂,代码量也会相对程度的加大一点。

所以针对不同的问题选择不同的解决方案很重要。

switch结构

技术图片

switch结构是一种多选一的选择结构。简单说一下switch是什么样的执行模式:

先计算switch表达式的值,如果值与case后面的常量表达式相同,就执行case后面的语句直到遇到break语句,否则继续执行下一个case中的语句一直到有break语句。

要是没有常量表达式与表达式的值相同,那么直接执行default语句后面的语句然后结束结构执行结构之后的语句。

没有default语句并且没有常量表达式与表达式的值相同时switch结构不会做任何处理直接执行结构之后的代码。

循环结构

循环结构的循环方式是用一个条件来判断是否反复的执行循环结构中的语句。

while循环

技术图片

根据循环条件判断是否继续执行语句。

Demo

技术图片

这是一个简单的1~10相加的循环。

首先判断sum是否小于等于10,满足条件则执行while结构的代码块。

num+=sum;è

num = num + sum;è

num = 0 + 1;è

sum+1;è

0 + 1 = 1=sum;

然后再次进行判断sum是否小于等于10,满足条件继续执行while结构中的代码块,直到sum不满足条件结构结束执行输出语句。

那么如果条件一直满足,那就会进入死循环,一直循环执行while结构中的代码块,直到关闭程序。死循环是个很严重的问题,在真正的开发中这种循环会让你的电脑死机可能你好几天的劳作就会化为灰烬!

do-while循环

技术图片

do-while结构和while结构的区别

????while结构:先判断在执行

????do-while结构:先执行在判断

也就是说do-while结构不管条件满不满足先执行一遍其中的代码块,然后再判断是否继续执行下一次循环。

for循环

技术图片

for结构是最常用的循环结构,用来重复执行其中的代码块。

表达式1是初始化表达式用于完成变量的初始化,表达式2用于控制循环条件,表达式3是循环操作后表达式可以改变循环条件。

Demo

1~10求和其实用for循环更方便。

技术图片

技术图片

会长时间不间断跟新我所学到的知识。

错误希望指正。

我们会变得更好,加油!

我们评论区里见!

以上是关于Java基础语法之控制流程的主要内容,如果未能解决你的问题,请参考以下文章

03_Java基础语法_第3天(ScannerRandom流程控制语句)_讲义

JavaSE第03篇:Java基础语法之运算符分支结构

Java基础语法 - 流程控制语句

Java开发技术栈:Java基础语法流程控制语句运算符

基础补充——流程控制

阿花宝宝 Java基础笔记 之 流程控制