您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 第三章Java基础程序设计(4)
Java基础程序设计一.程序的结构1.顺序结构程序自上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的结束。顺序结构是在程序设计中最常用的结构,在程序中扮演了非常重要的角色,因为大部分的程序基本上是依照由上而下的流程来设计的。2.选择结构选择结构是依据条件成立与否决定要执行哪些语句的一种结构,其流程如下:truefalse【例】publicclassIfDemo{publicstaticvoidmain(Stringargs[]){intx=3;//定义整型变量3inty=10;//定义整型变量10System.out.println(=====比较开始=====);if(xy){System.out.println(x比y大!);}if(xy){System.out.println(x比y小!);}System.out.println(=====比较完成=======);}};运行结果:3.循环结构循环结构是根据判断条件的成立与否决定程序段落的执行次数,而这个程序段落就判断条件语句1语句2语句3称为循环体。循环结构的流程图如下:反复调用truefalse接下来详细讲解选择结构与循环结构二.选择结构选择结构包括if、if…else及switch语句,程序中加上了选择结构之后,就像是增加了“十字路口”一样,根据不同的选择,程序的运行会有不同的结果。1.if语句if语句的格式:if(判断条件){语句1;………语句2;}If结构的流程图:truefalse2.if…else在程序中存在分支的判断语句时,就可以用if….else语句处理。当判断条件成立时,执行if语句主体,判断语句不成立时,则会执行else后面的的语句主体。格式如下:If(判断条件){语句主体1;}else{语句主体2;}判断条件语句1语句2判断条件主体语句其它语句流程图如下:truefalsefalse【例】publicclassIfElseDemo{publicstaticvoidmain(Stringargs[]){intx=3;//定义整型变量xif(x%2==1){//判断于是是否为1System.out.println(x是奇数!);//如果余数为1表示奇数}else{System.out.println(x是偶数!);//如果余数为0表示是偶数}}};运行结果为:3.三目运算符三目运算符可以等价于if..else语句使用三目运算符:(?:)意义;根据成立条件与否决定结果为‘:’前或者“:”后得表达式【例】publicclassMaxDemo{publicstaticvoidmain(Stringargs[]){intmax=0;//保存最大值intx=3;//定义整型变量xinty=10;max=xy?x:y;//通过三目运算符求出最大值System.out.println(最大值为:+max);}};判断条件语句主体1语句主体2其它语句运行结果为:4.If…elseif…else语句If,,,elseif,,,,else语句格式:If(条件1){语句主体1;}else{语句主体2;},,,,//多个elseif()语句else{语句主体3;}这种方法用在含有多个判断条件的程序中,【例】publicclassMoreIfElseDemo{publicstaticvoidmain(Stringargs[]){intx=5;//定义整型变量xif(x==1){System.out.println(x的值是1!);}elseif(x==2){System.out.println(x的值是2!);}elseif(x==3){System.out.println(x的值是3!);}else{System.out.println(x的值不是1、2、3中的一个!);}}};运行结果:5.Switch语句Switch语句可以将多选的情况简化,是程序简洁易懂。Switch语句与break相结合使用.Switch语句:switch(表达式){case选择值1:语句主体1;break;case选择值2:语句主体2;brek;…..case选择值N;语句主体n;break;default:语句主体;}要注意的是,在switch语句中选择值只可能是字符或常量。switch语句执行的流程如下:(1)switch语句先计算括号中表达式的结果,结果为数字、字符、或者是枚举;(2)根据表达式的值检测是否符合case后面的选择值,若是所有的case选择值皆不符合,则执行default所包含的语句,执行完毕即离开switch语句;(3)如果某个case的选择值符合表达式的结果,就会执行该case所包含的语句,直到遇到break语句后才离开switch语句;(4)若是没有在case语句结尾加上break语句,则会一直执行switch语句的末尾才离开switch语句。break语句在下面会介绍到,先记住break语句是跳离的意思即可;(5)若是没有定义default执行语句,则什么也不执行,直接退出switch语句。【例】publicclassSwitchDemo01{//完成一个四则运算的功能publicstaticvoidmain(Stringargs[]){intx=3;inty=6;charoper='+';switch(oper){case'+':{//执行加法操作System.out.println(x+y=+(x+y));break;}case'-':{//执行减法操作System.out.println(x-y=+(x-y));break;}case'*':{//执行乘法操作System.out.println(x*y=+(x*y));break;}case'/':{//执行除法操作System.out.println(x/y=+(x/y));break;}default:{System.out.println(未知的操作!);break;}}}};运行结果:三.循环结构1.while循环while是循环语句,也是条件判断语句。当事先不知道循环该执行多少次时,就要用到while循环,while语句格式如下:while(循环条件判断){语句;,,,,,,,循环条件更改;}while循环流程简化图:falsetruefalse【例】publicclassWhileDemo{//完成一个四则运算的功能publicstaticvoidmain(Stringargs[]){intx=1;intsum=0;//保存累加的结果while(x=10){判断条件主体语句修改循环条件循环初值其它语句sum+=x;//进行累加操作//x++;//修改循环条件}System.out.println(1--10累加的结果为:+sum);}};运行结果为:1--10累加的结果为:55如果在代码的开发中不幸出现了死循环的操作,在命令行的方式下,按“Ctrl+C”快捷键可结束程序的运行。2.do,,,,while循环do,,,while循环也是用于未知循环次数的情况,而while循环及do,,,while循环最大的不同就是进入while循环前,while语句会先测试判断条件的真假,再决定是否执行循环主体,而do,,,while循环是先执行一次循环主体,再测试判断条件的真假。所以无论循环成立的条件是什么,使用do,,,while循环时,至少都会执行一次循环主体。do{语句1;语句2;,,,,循环条件改变;}while(循环条件判断);do,,,whie流程图如下:falsetrue【例】publicclassDoWhile{publicstaticvoidmain(String[]args){intx=1;intsum=0;do{sum+=x;判断条件修改循环条件主体语句循环初值其它语句x++;}while(x=10);System.out.println(“1—10累加的结果为:”+sum);}};运行结果为:3.for循环对于while和do,,,while循环来说,操作时不一定要明确知道循环的次数,而如果已经明确知道了循环的次数,那么就可以用for循环。for循环语句:for(赋值初值;判断条件;赋值增减量){语句1;语句2;,,,,,}流程图如下:falsetruefalse【例】publicclassForDemo{publicstaticvoidmain(String[]args){intsum=0;for(intx=1;x=10;x++){sum+=x;判断条件主体语句修改循环条件赋值循环初值其它语句继续判断}System.out.println(“1—10累加的结果为:”+sum);}};运行结果同上。4.循环的嵌套多个循环语句是可以嵌套的,这样就可以进行更加复杂的运算。打印一个九九乘法表为例:publicclassForNestedDemo{publicstaticvoidmain(String[]args){for(inti=1;i=9;i++){for(intj=1;j=i;j++){System.out.println(i+”*”+j+”=”+(i*j)+”\t”);}}}}运行结果为:四.循环的中断在Java语言中,可以使用break和continue等中断语句。在结构化程序设计的角度来说,不鼓励使用中断语句,这会增加代码的调试和阅读的困难。这里介绍break和continue语句。1.break语句break语句可以强迫程序中断循环,当程序执行到break语句时,即会离开循环,继续执行循环外面的下一个语句,如果break语句出现在嵌套的内层,则break语句只会跳出当前层的循环。【例】publicclassBreakDemo{//完成一个四则运算的功能publicstaticvoidmain(Stringargs[]){for(inti=0;i10;i++){if(i==3){break;}System.out.println(i=+i);}}};运行结果:2.continue语句continue语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,会停止运行剩余的循环主体,而是回到循环的开始处继续运行。在下面的for循环中,在循环主体中有continue语句,当程序执行到continue时,就会回到循环的起点,继续执行循环主体的部分语句。【例】publicclassContinueDemo{//完成一个四则运算的功能publicstaticvoidmain(Stringargs[]){for(inti=0;i10;i++){if(i==3){continue;}System.out.println(i=+i);}}};运行结果:
本文标题:第三章Java基础程序设计(4)
链接地址:https://www.777doc.com/doc-2212125 .html