博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Java入门笔记] Java语言基础(四):流程控制
阅读量:6111 次
发布时间:2019-06-21

本文共 3010 字,大约阅读时间需要 10 分钟。

hot3.png

流程控制指的是在程序运行的过程中控制程序运行走向的方式。主要分为以下几种:

顺序结构

顺序结构,顾名思义,是指程序从上往下逐步顺序执行。中间没有任何的判断和跳转。

分支结构

Java提供两种分支结构:if和switch,其中if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,而switch语句则是使用整数,String类型,枚举类型。

if语句

if语句使用布尔表达式或者是布尔值进行判断来进行分支的控制,主要有下面三种结构:

if语句

if(条件){    //语句}

 

执行走向

083939_B1Zb_2263361.png

例:

int score = 65;if(score >= 60){    System.out.println("您及格了");}

 

if…else语句

if ( 条件 ) {         //语句1   } else {        //语句2 }

 程序执行走向

083939_JLop_2263361.png

例:

int score = 65;if(score >= 60){    System.out.println("您及格了,恭喜");} else {    System.out.println("没及格,打扫厕所三个月");}

 

if…else if语句

复制代码

if ( 条件 ) {      //语句   } else if ( 条件 ) {      //语句  } else {      //语句  }

复制代码

 程序走向图

083939_CT0O_2263361.png

例:

对学员的结业考试成绩评测

 成绩>=90 :优秀

 成绩>=80 :良好  

 成绩>=60 :中等

 成绩<60   :差

复制代码

int score = 70;    //考试成绩if ( score >= 90 ) {      System.out.println("优秀");} else if (score >= 80 ) {      System.out.println("良好");} else if (score >= 60 ) {      System.out.println("中等");} else {      System.out.println("差");}

复制代码

 

在if语句中包含了另外一个if语句

复制代码

If(条件1){ if(条件2){   if(条件3){     }else{   }  }…......}

复制代码

 

 

通常情况下,这几种判断语句的语句块都有{}括号包裹,但如果语句只有一句,可以不使用花括号,例如

boolean b = true;if(b)    System.out.println("可以不使用花括号");else    System.out.println("建议打上花括号");

 

如果判断语句中只有一个语句,是可以不使用花括号的,但是建议大家依然使用花括号。

switch语句

复制代码

switch (表达式)  //计算表达式的值{  case 常量 1:  //如果等于常量1    语句;    break;  case 常量 2:  //如果等于常量2    语句;    break;  default:  //如果没有找到匹配的值    语句    break;}

复制代码

 

 

和if语句不同的是,switch语句的表达式中可以传的是byte、short、int、long、String类型的值。

复制代码

String s = "及格了";switch(s){  case "及格了":    System.out.println("表现不错");    break;  case "不及格":    System.out.println("打扫厕所");    break;  default:    System.out.println("没来考试吗?把家长叫来");    break;}

复制代码

 

复制代码

int i = 1;switch(i){  case 1:    System.out.println("获得第一名");    break;  case 2:    System.out.println("获得第二名");    break;    case 3:    System.out.println("获得第三名");    break;  default:    System.out.println("您不是前三名");    break;}

复制代码

 

使用时注意break语句,如果漏掉的话,嘿嘿!

switch和多重if的比较

相同点:

  都可以实现多分支结构

不同点:

  switch:只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断

  多重if:处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况

 

循环结构

循环语句也称作迭代语句,循环语句可以在满足条件的情况下反复执行某一段代码,循环语句包括:

while循环

while ( 循环条件 ) {  //符合条件,循环继续执行;否则,循环退出       循环操作  //循环中被重复执行的操作}

 

特点:先判断,再执行

083939_lUbA_2263361.png

例句:打印出30个Hello

int i = 1;while(i <= 30){    System.out.println("Hello");    i++;}

 do-while循环

do {    循环操作  //先执行一遍循环操作} while ( 循环条件 );  //符合条件,循环继续执行;否则,循环退出

特点:先执行,再判断

083939_eDRF_2263361.png

//不管有没有及格,先打扫一遍厕所,再看他到底有没有及格。int i = 65;do{    System.out.println("倒霉,要打扫厕所");} while(i < 60)

 死循环问题:所有的循环控制语句,如果没有一个退出的条件,将会进入到一个死循环状态,上面一个例子,如果i小于60,将会一直在“打扫厕所”,无法继续往下执行。

for循环

for(参数初始化; 条件判断; 更新循环变量){    循环操作;}

 

特点:先初始化参数,在判断条件,如果成立,执行循环体,然后更新循环变量,再回到条件判断,不成立则直接退出循环。

for (int i = 0 ;  i  < 100 ;  i++) {  System.out.println("我最棒");}

控制循环结构

break语句

在某些时候,我们需要在某种条件出现时强行终止循环,便可以使用break来完成这个功能。比如:

083939_SsdZ_2263361.png

for(int i = 1; i <= 10; i++){    if(i == 8){        break;    }    System.out.println("完成一圈");}

 

上面一个例子,本该完成10圈,但是到地8圈的时候坚持不下了,break了,后面剩下的便不会再执行。

083939_O2kA_2263361.png

continue语句

continue和break的功能有点类似,区别是continue只是跳过这一次循环,后面的循环依然会执行。例如:

083939_5Ewv_2263361.png

for(int i = 1; i <= 10; i++){    if(i == 8){        continue;    }    System.out.println("完成一圈");}

 本该跑10圈,而他实际上只跑了9圈。

083939_R6av_2263361.png

 

转载于:https://my.oschina.net/u/2263361/blog/681311

你可能感兴趣的文章
Docker - 创建支持SSH服务的容器镜像
查看>>
[TC13761]Mutalisk
查看>>
三级菜单
查看>>
Data Wrangling文摘:Non-tidy-data
查看>>
加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
查看>>
while()
查看>>
常用限制input的方法
查看>>
Ext Js简单事件处理和对象作用域
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
12.通过微信小程序端访问企查查(采集工商信息)
查看>>
WinXp 开机登录密码
查看>>
POJ 1001 Exponentiation
查看>>
HDU 4377 Sub Sequence[串构造]
查看>>
云时代架构阅读笔记之四
查看>>
WEB请求处理一:浏览器请求发起处理
查看>>
Lua学习笔记(8): 元表
查看>>
PHP经典算法题
查看>>
LeetCode 404 Sum of Left Leaves
查看>>
醋泡大蒜有什么功效
查看>>
hdu 5115(2014北京—dp)
查看>>