依据需求的不同会产生不同的程序结构,从而导致程序的执行流程是也不同的。我们把这一现象称之为程序的流程控制结构。
在程序的执行过程中,按照程序语句自上而下逐行执行程序的现象。
是最简单的程序流程控制结构。
在程序的执行过程中先去判断条件是否成立,再根据条件的成立与否决定去执行对应的代码。
上图代表的就是选择结构。
菱形里面写的就是判断条件,并且判断条件是boolean类型的表达式,true(成立)、false(不成立)。
矩形中括号代表的是判断体,这里面写的就是如果布尔表达式为true后即将要执行的语句。
意义:if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。
三目运算符->语法格式:条件 ? 结果1 : 结果2
当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。根据条件的成立与否进行2选1。
多选择结构是根据多个条件的成立与否进行结果的选择,就是说这种结构可以检测到多种可能的情况。
if 语句后面可以跟 else if…else 语句。
表达式可以是byte、short、int、char,在JDK1.7以后支持String
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量
变量:存放数据的,并且存放的数据是可以发生改变
常量:存放数据,并且存放的数据是不可以发生改变 final
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现,才会跳出 switch 语句。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现break 语句。
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支,可以在任何位置,但建议在最后一个default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
当做等值操作时,则就可以使用switch case选择结构
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
也就是说,使用switch-case的,都可以改写为if-else。反之不成立。
在Java中,按照一定次数重复地去执行程序,直至达到次数上限,将重复的代码只编写一次,然后再重复执行即可,这样的程序结构就是循环结构。
减少代码的冗余性(重复性)
最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
执行一次循环后,更新循环控制变量,再次检测布尔表达式。循环执行上面的过程。
先判断循环条件,如果循环条件为true,则执行循环体,然后再判断循环条件…一直到循环条件为false时,则结束当前整个while循环。
先执行循环体,然后再判断循环条件,如果循环条件为true,则再执行循环体…一直到循环条件为false时,则结束当前整个do while循环
while先判断后执行。dowhile是先执行后判断!
do…while总是保证循环体会被至少执行一次!这是它们的主要差别。
for循环和while循环:先判断,如果条件为true,则再执行循环体
do while循环:先执行循环体,然后再判断循环条件
当循环次数固定时,建议:使用for循环
当循环次数不固定时,建议:使用while循环、do while循环
先判断,然后再执行,建议:使用while循环
先执行,然后再判断,建议:使用do while循环
for(;;){ //称为外层循环
for(;;){ //称为内层循环
}
}
外层循环每执行一次,内层循环执行若干次
break 表示中断,在循环中遇到break,则结束当前整个循环,执行循环外面的语句