流程控制与异常处理.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:35 大小:199KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

流程控制与异常处理.ppt

流程控制与异常处理.ppt

预览

免费试读已结束,剩余 25 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录2.1分支结构if…else语句(双分支结构)if(布尔表达式){语句1;}else{图2-2双分支结构流程图语句2;}嵌套if语句(嵌套结构)嵌套if语句是指在if语句中又包含if语句。多选择if语句(多分支结构)if(布尔表达式1){语句1;}elseif(布尔表达式2){语句2;}......elseif(布尔表达式n){语句n;}else{语句n+1;}例如,下面的程序实现输入成绩mark,输出对应的等级:优(90≤mark≤100)良(80≤mark<90)中(70≤mark<80)及格(60≤mark<70)不及格(mark<60)案例2-1求一元二次程的根设计程序求一元二次方程的根,要求输入二次方程的三个系数,能够判断是否为二次方程,如果是二次方程,根据判别式,按不同的情况求出方程的根。switch语句switch(表达式){case常量表达式1:语句1;[break;]case常量表达式2:语句2;[break;]......case常量表达式n:语句n;[break;][default:语句n+1;[break;]]}使用switch语句需要注意以下几个问题:switch之后括号内的表达式必须兼容int,可以是byte、short、int、char以及枚举类型,不能是长整型或其他任何类型。在case后的各常量表达式的值不能相同,否则会出现错误。在case后,允许有多个语句,可以不用{}括起来。每种情况执行完,一般使用break跳出switch结构,否则程序继续向下执行。case和default语句的先后顺序可以变动,而不会影响程序执行结果。但把default语句放在最后是一种良好的编程习惯。default子句可以省略不用。例如,对于前面的输入成绩输出等级的问题,我们也可以使用switch语句解决案例2-2求下一天日期输入一个日期,求下一天的日期。for循环for(表达式1;表达式2;表达式3){语句;//循环体}案例2-3求素数设计程序,求2-100之间的所有素数,5个一行。while循环while(布尔表达式){语句;//循环体}循环嵌套循环是可以嵌套的,即在一个循环语句的循环体中又包含循环语句。外层循环每循环一次,内层循环都要从头循环到最后(条件不满足为止)。例如,输出如图2-10所示的九九乘法表。案例2-4求Sin(x)设计程序求sin(x),当第n项的精度小于10-5时结束计算。要求用两种方法:一重循环和二重循环。do…while循环do{语句;//循环体}while(布尔表达式);例如,如下程序求Fibonacci数列前15项,数列a0=0,a1=1,an=an-2+an-1:案例2-5进制转换设计一个程序,能够将十进制整数转换成其他进制(二进制、八进制和十六进制)表示的整数,也能将其他进制表示的整数换为十进制整数。迭代循环for(类型变量:可迭代的表达式){语句;}例如:随机产生20个1到100之间的整数,求大于50的数的个数2.3异常处理Java把异常当作对象来处理。Throwable类是所有异常和错误的超类,它有两个子类:Error(错误)和Exception(异常)。从程序设计的角度来看,这些类可以分为以下几类:程序无法捕获和处理的错误(称为错误)——Error类及其子类。描述的是内部系统错误,如内存溢出、链接错误等。这些异常发生时,Java虚拟机会终止线程。程序能捕获和处理的异常(称为检查性异常或非运行时异常)——Exception及子类中的非RuntimeException异常。可以捕获处理也可以不捕获处理的异常(称为非检查性异常或运行时异常)——RuntimeException及其子类。例如,除零、不合适的类型转换、下标越界、空指针等。虽然这类异常也是由Exception派生而来,但这类异常在程序中可以捕获处理,也可以不捕获处理。这些异常一般是由程序逻辑错误引起的,应该从逻辑角度尽可能避免这类异常的发生。在调试程序时,经常会遇到这类异常,熟悉这些异常,对调试程序非常有利。例如,下面的程序运行后会发生运行时异常:packagejava2_3_1.exam;publicclassExam1{publicstaticvoidmain(Stringargs[]){inta[]={1,2,3,3};for(inti=0;i<5;i++){System.out.println("a["+i+"]="+a[i]);}}}异常处理机制处理异常的程序结构try{……//程序块}catch(异常类型e){……//对异常的处理}f