java提供的4种基本控制语句结构_JAVA-基础-控制结构

本文详细介绍了JAVA中的四种基本控制结构:顺序控制、分支控制(if、switch)、循环控制(while、do..while、for)以及break和continue的使用。通过实例和执行逻辑图,帮助理解各种控制结构的工作原理及其应用场景。
摘要由CSDN通过智能技术生成

一、控制结构

控制结构是控制程序如何运行的特殊的语句结构。

控制结构分为 顺序控制结构 分支控制结构 循环控制结构。

二、顺序控制结构

除了分支控制结构 和 循环控制结构之外的语句都是按照顺序控制结构运行的。即,语句由上到下,由左到右依次执行。

三、分支控制结构

1.if判断

i. if语句

if可以实现判断,通过判断的结构决定是否执行某段代码。

基本结构:

50c3ec8c071472f4eba121663b2f5fd8.png

执行逻辑图:

b906bee30d53aaf47a684ffdfc9ec041.png

ii. if..else..语句

基本结构:

789a199cba2d6b724d17f075f706adcd.png

执行逻辑图:

96759fdaaf9eb86e0be85cdd92249317.png

iii. if..else if..else语句

基本结构:

2763596165f93fb1f17b3ecea5aca068.png

执行逻辑图:

57938268ea97978264ca2c709cb99c19.png

2. switch..case..语句

i. switch..case..

根据输入项的值的不同,走不同分支代码。

输入项的值只能是byte/short/char/int,jdk7之后,支持String。

基本结构:

0a30cd8027e3eb6aabf18500e4ee73f8.png

执行逻辑图:

f68bcb9fa09c459c8757ec5d7271fcae.png

case用来实现匹配,case是进入的位置,一旦匹配成功,则从当前case位置进入,执行之后的代码,之后的所有case和default也会被执行。

switch中也可以带一个default,则前面所有的case如果都匹配不成功,由default进行匹配。

如果不想之后的case和default执行,需要通过break跳出switch。

四、循环控制结构

1. while循环

i. while

语法结构:

1 while(判断条件){2 执行的内容3 改变条件的语句4 }

循环的三要素:判断的条件 执行的内容 改变条件语句

执行逻辑图:

cae89878ed720ce8d7d3ae2adc1f8313.png

2.  do...while  & while...do

语法结构:

72661fe003c74c4e79274ca9d405e70c.png

执行逻辑图:

864dd75872455641902ea63b5d2a2b66.png

while 和 do..while的区别,在于while先判断后执行,while中的代码不一定能够执行到,但do..while是先执行后判断,无论如何,do中代码至少会执行一遍。do..while是可以用while替代的,但while不一定能被do..while替代.

2.for循环

i.for

判断条件  执行的代码  改变条件的语句

基本的语法结构:

8accf356f4024f0545b0b0092db2e31c.png

执行逻辑图:

d0a631dac54caae8410fb8e8f0b5abae.png

for循环相对于while循环,将循环要素提取到for的小括号中管理,使循环的代码结构更加清晰,便于开发维护。

while和for本质上等价的,但for结构更加清晰,通常代码也更少,是开发中最常用的循环方式。

for中的三个条件并不需要都存在,可以根据需要空置。

for(;;){} //等价于死循环

3.break continue

i. continue

继续当前循环

一旦循环中遇到continue,则本次循环continue之后的代码不再执行,回到循环开始位置继续下一次循环。

ii. break

跳出当前循环

一旦循环中遇到break,则从break位置开始跳出整个循环语句,之后的循环不再执行。

1b9e71476ab5ff7ac7e1ad61b6bc488f.png

iii. break tag

在多层循环时,可以通过break tag 方式,指定在break时要跳出的是哪一层循环。

这种写法会造成程序的可阅读性大幅度降低,不推荐使用。

如果想要跳出多层许愿,需要一层一层break跳出。

案例:

1 importjava.util.Scanner;2 /**

3 continue break4 */

5 public classDemo05{6 public static voidmain(String args[]){7 //1.计算1-100的偶数和

8 /*

9 int sum = 0;10 for(int i=1;i<=100;i++){11 if(i%2==0){12 sum+=i;13 }else{14 continue;15 }16 System.out.println("当前的sum为"+sum);17 }18 */

19

20 //2.计算1-100的偶数和,如果和大于了500,则不再继续循环

21 /*

22 int sum = 0;23 for(int i=1;i<=100;i++){24 if(i % 2 == 0){25 sum += i;26 }else{27 continue;28 }29 if(sum > 500){30 break;31 }32 System.out.println(sum);33 }34 */

35

36 //3.break tag语法

37 /*

38 int x = 1;39 tag1:for(;x>0;){40 System.out.println("外层循环开始。。");41 for(int i = 0;i<10;i++){42 System.out.println(i);43 if(i == 5){44 break tag1;45 }46 }47 System.out.println("外层循环结束。。");48 }49 System.out.println("最外层..");50 */

51

52 //4.break tag的替代写法

53 boolean outBreak = false;54 for(;;){55 System.out.println("外层循环开始。。");56 for(int i = 0;i<10;i++){57 System.out.println(i);58 if(i == 5){59 outBreak = true;60 break;61 }62 }63 if(outBreak){64 break;65 }66 System.out.println("外层循环结束。。");67 }68 System.out.println("最外层..");69 }70 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值