当前位置:   article > 正文

java循环在条件表达式_java基础 流程控制和条件语句,循环语句

java for 循环 带boolean条件表达式

顺序结构

程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束。

ecbde450f4a18a1c2f219538b9119708.png

d70aff86a9b57befa6ed4a344e6bd9be.png

if语句

if语句使用boolean表达式或boolean值作为选择条件,有三种结构形式: if翻译成中文,表示如果......,就干.......,

第一种结构形式:

if(boolean表达式)

{

条件执行体

}

if后面跟的{}表示一个整体—代码块,我们在这称为条件执行体,也就是说条件为true,就执行这一块代码块。

98820bc63f93ce3d6427f9dc9e535069.png

1d62e946a5627d3fa703be669539d083.png

if语句的使用注意:

1):在if(boolean表达式)后面,{}前面,是没有分号的.

51d7965865a22d8302092e43abd3ca65.png

2):如果if语句只控制一句话,那么可以不使用{}.企业规范:都要求,无论if控制几句话,统统使用花括号.

3):操作boolean类型的变量的时候,下列代码不专业.

99b580e4416f47a7ec0c07af2e0b365e.png

第二种结构形式:

if(boolean表达式){

条件执行体A

}else{

条件执行体B

}

309eb7d0e681bf63e8898c3ad4ef1adb.png

if-else语句和三元运算符:

从语义上二者的含义相同. 从本质上说,if-else是语句结构,三元运算符是一种运算符号. 三元 运算符必须有一个结果,表达式必须有结果,必须有返回. 而if-else,不能返回什么结果,只能控制语句的结构.

c132560c01603c7e58a439778131324a.png

注意: 1):不能在if(boolean表达式),使用分号. 2):不能直接使用else语句.

af9303eb6c6e7ae799f2d6b3afde6612.png

第三种结构形式:

if(boolean表达式A){

条件执行体

}else if (boolean表达式B){

条件执行体B

}else{

条件执行体C

}

使用注意:

1):不能在if(boolean表达式),使用分号.

2):不能在else if(boolean表达式),使用分号.

3):不能直接使用else if语句,必须先使用if语句.

4):此时的else语句,表示上述所有条件都为false 的时候才会执行的代码.

fe5994b404246e485cf2861092ab10b4.png

258facc60f2440c39795a4210b699c1c.png

switch语句

switch语句结构的格式如下:

switch(整型表达式){caseA值:

表达式结果等于条件1时,执行此语句;break;caseB值:

表达式结果等于条件2时,执行此语句;break;

...caseC值:

表达式结果等于条件N时,执行此语句;break;default:

以上值都不满足时,执行此语句;break;//一般不写

}

注意:case之后的表达式结果必须是常量。

e86813647d99bad9ad90340d5781dfd2.png

c5d5bb0bcecd7b57498f02343031cb9b.png

e7aa5f6c3d110210dd0e6178c479b979.png

d315416e48be67bb165806cdbe67bfa5.png

switch的使用细节和使用注意:

switch语句适用于对多个整型值进行匹配判断,从而实现条件的分支控制。 和if语句不同的是:if语句后面是根据boolean表达式判断的,所以表达式的结构可以任意写,而switch只是相当于做“表达式 == 数值”的boolean表达式判断。

,推出:其实if语句更强大,switch仅仅只是对整数类型的判断而已,使用更简单. 这里的数值的类型是除long之外的整型类型,也就是说switch支持的类型是byte,short,char,int。

本质:switch仅仅只能支持int类型.(byte,short,char,会自动提升为int类型)

switch语句选择的基本数据类型只有四种:byte、short、char、int,没有long。

支持的引用类型是以上四个基本数据类型的包装类(后讲),依次是Byte、Short、Character、Integer以及从Java5开始支持的枚举和Java7开始支持的String类。

case只是用来为switch选择一个执行代码的入口,如果一旦进入某个入口之后,后面的case实际上已经失去了判断的意义,也就是说代码在进入switch执行的时会把入口case之后的case统统忽略,会一直往下执行,直到遇到break或return。(穿透) 所以大家可以发现,每一个case后面没有{}这个符号来表示一个代码块。

default表示,所有的case的值都不正确,一般放在switch的最后,也不需要使用break语句,

5d31d244abd33efae35a626eb8a3a853.png

if和switch的选择:

if和switch都属于选择语句,也就是说功能是相似的.

if: 判断条件是boolean类型的.

switch: 判断条件是 整数表达式 == int类型的值.

发现,switch只能适合对整数的值做判断,如果是一其他类型的判断,只能使用if语句. 选择:如果是对整数表达式判断等于多少,首选使用switch. 其他情况,使用if语句.

循环结构

循环语句:

1):while语句

2):do while语句

3):for语句

三种,可以完成相同的功能. 仅仅只是语法上有差异.

while循环:

格式: while(boolean表达式) { 循环体s }

while循环特点:先判断表达式,若为true就执行循环体,否则,跳过循环体。

5babe593f9f2008eee21a60c046eb763.png

37ae945513cd12bf9e5a081948b11836.png

5c677db7b736dae743e3425ba6190928.png

811ba2246f1edb435051041b5687061d.png

do while循环:

do{

循环体语句

}while(boolean表达式);

do while循环特点:先执行一次循环体,再判断表达式,若为true就执行循环体,否则,跳过循环体。 也就是说do while是先执行后判断,即使判断条件为false,该循环至少会执行一次。

21dfd73a18fbf28c361ced15a9cffd7b.png

b24de24ed3ce082524616a84c5d4c704.png

for循环:

for(初始化语句;boolean表达式;循环后操作语句)

{

循环体语句

}

4ce50d4098f4df06f725fe7e2175a625.png

初始化语句:表示对循环进行初始化,只在循环开始时执行一次,定义一个变量,并赋值。

boolean表达式:表达式为false时,循环终止,为true,才执行循环体。 循环后操作语句:循环每次迭代之后会调用该语句,一般的该语句都是递增或递减操作。

555ecf6ad2209ae74b59d9b52e8c7d4f.png

5437ecab9289c4d4e41e634aa848df29.png

死循环和循环语句对比

145b30b045926798a073e4b133c6e67d.png

5194139c32fad66856111fd82dd73750.png

循环语句都一样,仅仅只是语法结构上不一样而已.

提示: 三大循环,是可以互换的,一般情况下,要是指定次数的循环,选用for循环要方便点。

一般的,习惯上选择i、j、k作为循环变量。

从性能上分析:for循环性能更高. 因为:变量定义在for循环里面,for循环执行完毕,就会释放该变量的存储空间.

d9468d76df8fdec9c2f6e31b17e807e8.png

嵌套循环

若外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要 m *n次。

嵌套循环注意:1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。2.循环嵌套结构的书写,最好采用“右缩进”格式,以体现循环层次的关系。3.尽量避免太多和太深的循环嵌套结构

75ad8f58420c267236b89f60efc2668d.png

嵌套循环性能优化

5a3bed23fbc8d4b1b7dc0e2f3183889c.png

1054a5b252a8bf9063d3dee411919870.png

5184d899351e4062dbfa1d3bc8e1ce27.png

100b7b9c3c5b13f8a6e029e3a7a1fe9c.png

嵌套循环案例

输出矩形图案*****

*****

*****

5cb65da68f22615af242d69b6b9eea17.png

输出三角形图案*

**

***

****

*****

07b999e49f29144e7fe15e37921f55f7.png

输出九九乘法表

ee51aaae2760a91771cc162ef0cddf5e.png

控制循环结构语句

break:终止当前所在的循环. stop

break之后的语句执行不了,所以不能编写.

80f8f88c9f760473e91734b7a7f559ac.png

44085c1fb8fc2f93645d067c0effb6ca.png

15a2f40ef169a004760772a918e13006.png

continue语句: 继续的意思. skip.

跳过当前的循环,进入下一次循环操作.

continue之后的语句执行不了,所以不能编写.

784bc352e2515592206c41eb48f101f2.png

2d66bd464f8045682c6fe2cbe0c03263.png

return:

表示结束循环所在的方法,方法都结束了,循环结构自然也就结束了。

注意:break、continue、return后面的语句永远没有机会执行,所以不能再跟任何语句,否则编译失败。-------------------------------------------------------break和return都能结束当前循环:

如果循环之后的操作还得执行:break;

0c5360d35d23a57afb018f1522e8286e.png

控制外层循环:

此时就得使用标签了,标签就是给某个循环起的别名,不过该别名得满足标识符的规范。

若要控制外层循环,就在break或continue后面跟上循环的别名就OK了

如:break ; continue ;

6683c7e3178091da6068cde8db5592bc.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/938890
推荐阅读
相关标签
  

闽ICP备14008679号