文档章节

控制流程(异常处理)

微尘鉴
 微尘鉴
发布于 2016/02/22 14:47
字数 732
阅读 27
收藏 1

1.条件语句if语句和switch语句

 if语句:再来看一个示例代码,该代码的功能是实现将百分制的成绩转换为ABCE,代码如下:--适合做区间判别

int score = 87;
if(score >= 90){
  System.out.println(‘A’);
} else if(score >= 80){
  System.out.println(‘B’);
} else if(score >= 70){
  System.out.println(‘C’);
} else if(score >= 60){
  System.out.println(‘D’);
} else{
  System.out.println(‘E’);
}

 switch语句:switch关键字的中文意思是开关、转换的意思,switch 语句在条件语句中特别适合做一组变量相等的判断,在结构上比if 语句要清晰很多。

 根据月份获得每个月的天数,不考虑闰年

int month = 10;
int days = 0;
switch(month){
 case 2: days = 28; break;
 case 4:
 case 6:
 case 9:
 case 11:
    days = 30;break;
 default:days = 31;
}
System.out.println(days);

 小结:if 语句可以实现程序中所有的条件,switch 语句特别适合一系列点相等的判别,结构显得比较清晰,而且执行速度比if 语句要稍微快一些,在实际的代码中,可以根据需要来使用对应的语句实现程序要求的逻辑功能。

 

2.循环语句:while语句 do-while 语句和for 语句

while(循环条件){

    循环体;

}

do-while 语句由关键字do while 组成,是循环语句中最典型的先循环再判断的流程控制结构,这个和其它个循环语句都不相同。

do-while 语句的语法格式为:

do{

  循环体;

}while(循环条件);

如果需要中断外部的循环,则可以使用语法提供的标签语句来标识循环的位置,然后跳出标签对应的循环。示例代码如下:

 1)Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如:

label:
for(int i=0;i<10;i++){
  for(int j=0;j<10;j++){
       System.out.println("i="+i+",j="+j);
       if(j==5)
          break label;
    }
}

 2)我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。

public class Test {
    public static void main(String[] args) {
        int arr[][]={{1,2,3},{4,5,6,7},{9}};
        boolean found=false;
        for(int i=0;i<arr.length&&!found;i++){
            for(int j=0;j<arr[i].length;j++){
                System.out.println("i="+i+",j="+j);
                if(arr[i][j]==5){
                    found=true;
                    break;
                }
            }
        }
    }
}

该示例代码中,通过组合使用break 以及一个标识变量,实现跳出外部的循环结构。

-------------------------------------------------------------------------------------------------------

 小结

在实际的代码中,可以根据需要使用break continue 语句调整循环语句的执行,break 语句的功能是结束所在的循环,而continue 语句的功能是跳过当次循环未执行的代码,直接执行下一次循环。

 

 

 

© 著作权归作者所有

微尘鉴
粉丝 8
博文 80
码字总数 30075
作品 0
海淀
高级程序员
私信 提问
读>之动态计算目标地址

<<IDA pro权威指南>> p348页,另一种技巧常用于面向Windows的恶意软件中,它配置一个异常处理程序,并有意触发一个异常,然后在处理异常时操纵进程的寄存器状态。 下面的例子被tElock反逆向工...

余青木
2015/03/29
307
0
Node.js 框架对比之 Express VS Koa

背景 上图是一个典型的采用 Node.js 开发 web 应用的前后端结构,下面介绍一下 Node 服务层在其中的作用以及使用 Node.js 的一些优劣。 Node 服务层作用: 请求代理 传统做法是后端提供 api ...

大灰狼的小绵羊哥哥
2018/10/12
0
0
异步编程解决方案

前言 本文节选朴灵《深入浅出的nodejs》第四章异步编程,整理加分析而得。 异步编程难点 1 异常处理 我们通常用try catch进行异常捕获,但是异步编程包括两个阶段,提交请求和处理,而方法通...

Tolonger
2017/10/31
0
0
Python学习笔记-异常

Python的运行时错误称为异常 1.语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译。 2.逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生存、计算或者输出结...

谢育政
2017/06/13
0
0
远程桌面控制(Spring+Netty+Swing)

【目录】 1.前言 2.初现端倪 3.款款深入 4.责任细分 5.功能层级图 6.项目结构 7.关键类设计 8.一些设计想法 9.未解决问题 10.一点心得 11.效果演示 12.讨论 13.GitHub源码 前言 远程桌面控制...

农码人生
2018/08/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

插入排序算法

《Java算法总纲目录》 1、定义     元素被分为有序区和无序区两部分。最初有序区只有一个元素。每次从无序区中选择一个元素,插入到有序区的位置,直到无序区变空。 2、代码 public c...

木九天
30分钟前
3
0
ApacheCN 翻译/校对/笔记整理活动进度公告 2019.10.18

注意 请贡献者查看参与方式,然后直接在 ISSUE 中认领。 翻译/校对三个文档就可以申请当负责人,我们会把你拉进合伙人群。翻译/校对五个文档的贡献者,可以申请实习证明。 请私聊片刻(52981...

ApacheCN_飞龙
32分钟前
4
0
Hands-on! 如何给 TiDB 添加新系统表

作者:黄东旭 “TiDB,你已经是一个成熟的数据库了,该学会用自己的 SQL 查自己的状态了。” 对于一个成熟的数据库来说,通过 SQL 来查询系统本身的状态再正常不过,对于 MySQL 来说 INFOMA...

TiDB
38分钟前
4
0
SpringBoot admin+Eureka+钉钉通知

SpringBoot admin+Eureka+钉钉通知 一、效果 登录账号+密码 监控服务 查看实时日志 钉钉通知 二、什么是Spring Boot Admin ? Spring Boot Admin是一个开源社区项目,用于管理和监控SpringB...

小白的成长
41分钟前
27
1
docker-rabbitmq

docker pull rabbitmqmkdir -p /rabbitmqdocker run -d \--name rabbitmq \--hostname rabbitmq \-v /rabbitmq:/var/lib/rabbitmq \-e RABBITMQ_DEFAULT_USER=root \-e RA......

李琼涛
43分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部