欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    第三章流程控制语句.docx

    • 资源ID:665109       资源大小:98.14KB        全文页数:20页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第三章流程控制语句.docx

    第三章流程控制语句第01讲java程序的结构及流程控制目录第一节java程序的结构第二节流程控制第三节输入/输出第四节处理异常01java程序的结构一个JaVa程序可以由一个或多个.java文件组成,这些文件称为源文件。每个源文件中含有一个或多个类或接口。一个源文件中如果有多个类,则最多只能有一个是PUbIiC类型的类,且该源文件的名字即为这个公有类的名字,且大小写也要一致。其他非PUbIiC的类的个数不限。PaCkage语句:包语句,每个文件最多只有一个,且必须放在文件开始的地方。import:引入语句,可以没有,也可以有多个,如果有import语句的话,必须放在所有类定义的前面,具有PUbliC权限的类定义:每个文件中最多有一个。类定义:每个文件中包含的非public权限的类定义的个数没有限制。接口定义:每个文件中包含的接口定义个数没有限制。包的概念包是类的容器,包的设计人员利用包来划分名字空间,以避免类名冲突。Java中的包一般均包含相关的类,使用包的目的就是将相关的源代码文件组织在一起。src田quCreatesfolderscorrespondingtopackages.田student田teacher由toolsJRFSVVtQmIihrarvirSourcefolder:test/srcBrowse.Name:quikao*程序中如果有PaCkage语句,该语句一定是源文件中的第一条非注释语句,它的前面只能有注释或空行。通常包名全部用小写,一个包可以包含若干个类文件,还可以包含若干个包。引入语句packagequ.zikao;importstudent.*;引入student包下面所有的类importnt;引入单个学生类publicclassControlpublicstaticvoidmain(Stringargs)引入时包与包下边的包用.分隔引包错误示例示例语句说明示例一packageTransportation;importjava.awt.Graphics;importjava,util.ArrayList;正确示例二importjava,ics;importjava.util.ArrayList;packageTransportation;错误原因:在包说明语句之前含有其他语句示例三packageTransportation;packageHouse;importjava.util.ArrayList;错误原因:含有两个包说明语句02流程控制流程控制什么是流程控制,简单的来说就是控制程序走向的语句。流程控制语句又分赋值语句、分支语句、循环语句和跳转语句。语句是JaVa的最小执行单位,语句间以分号(;)作为分隔符。语句分为单语句及复合语句,单语句就是通常意义下的一条语句;而复合语句是一对大括号(“”和“”)括起来的语句组,也称为“块”。赋值语句在JaVa程序中,表达式可以当作一个值赋给某个变量,这样的语句称为赋值语句。有的表达式也可单独当作语句,这样的语句称为表达式语句。语句与表达式有相同的地方,也有不同的地方。首先,有的表达式可以当作语句,但并不是所有的语句都是表达式;另外,每个表达式都会得到一个值,即表达式的计算结果。下面的语句中,前两条是赋值语句,第3条是表达式语句。customer!=newCustomer();x=12;x+;分支语句分支语句根据一定的条件,动态决定程序的流程方向,从程序的多个分支中选择一个或几个来执行。分支语句有if语句和SWiteh语句两种,先看下if语句的形式publicclassControlpublicstaticvoidmain(Stringargs)inta=3;intb=5;if(a>b).printin(a);语句1else.printin(b);语句2)if关键字之后的条件表达式必须得到一个逻辑值,if语句的含义是:当条件表达式结果为true时,执行语句1,然后继续执行if后面的语句;当条件表达式为false时,如果有else子句,则执行语句2,可以没有else语句,如果没有则跳过该if语句,继续执行后面的语句。这是两种形式。if-elsepublicstaticvoidmain(Stringargs)inta=59;if(a>90).pringln("成绩优秀");elseif(a>=60&&a<=90).printin("成绩良好");elseif(a=59).printin("差一分就及格了”);)else.printin("不及格”);)可以嵌套使用,if中还可以写if判断switch语句switchCaSe语句如下:switch(表达式)(case选择值1:程序代码块1;case选择值2:case选择值3:程序代码块2;break;case选择值n:程序代码块n;break;/break语句可选default:程序代码块;SWitCh语句的语义是:计算表达式的值,用该值依次和1,2,,n相比较。如果该值等于其中之一,例如1,那么执行CaSe1之后的语句组,直到遇到break语句结束。如果没有相匹配的结果,则执行default之后的语句。可以将default看作是一个分支,即前面的条件均不满足时要执行的语句。switch语句中各CaSe之后的语句既可以是单语句,又可以是语句组。不论执行哪个分支,程序流都会顺序执行下去,直到遇到break语句为止。switch语句有以下注意几点:口switch语句中不能忘记break,否则会有贯穿现象。口switch的应用有所限制,其表达式只能应用于int,charswitch语句实例publicclassTestpublicstaticvoidmain(Stringargs)Scannerscanner=newScanner();.printin("请输入数字”);intday=nt();switch(day)case 1: printin("今天是星期一“);break;case 2: printin("今天是星期二");break;case7:.printin("今天是星期日");break;default:.printin("抱歉,请重新输入“);break;循环语句循环语句的作用是反复执行一段代码,直到不满足循环条件为止。JaVa语言提供3种循环语句,分别是for语句、WhiIe语句和do语句。首先看for循环for语句的语法格式是:for(初始语句;条件表达式;迭代语句)循环体语句;* 初始语句和迭代语句中可以含有多个语句,各语句间以逗号分隔,for语句括号内的3个部分都是可选的,条件表达式为空时,默认规定为恒真。for语句的语义是:先执行初始语句,判断条件表达式的值,当条件表达式为真时,执行循环体语句,再执行迭代语句,然后去判别条件表达式的值。for语句实例publicstaticvoidmain(Stringargs)for(inti=l;i<=10;i+).printin(i);)该程序总共执行10,每次输出i的值,当i=ll时,循环条件为假,循环结束,如果条件表达式的值永远为真,则循环会无限制地执行下去,直到系统资源耗尽为止。while语句当程序中不能明确地指明循环的执行次数时,可以仅用条件表达式来决定循环的执行与否。这样的循环可用While语句来实现。publicstaticvoidmain(Stringargs)inta=l;intb=2;初始化部分while(a<b)a<b为循环条件a=a+2;/循环体).printin(a+b);)* 如果a<b为false,循环体将一次不执行,如果a的值不变,此循环为死循环。do语句do语句的语义是:首先执行循环体语句,然后判定条件表达式的值,当值为真时,重复执行循环体语句,直到表达式的值为假时结束循环。publicstaticvoidmain(Stringargs)inta=l;intb=4;初始化部分doa=a+2;)whiIe(a>b);.printin(a+b);* 不论条件是否成立,do中的循环体都会运行一次。跳转语句标号可以放在任意语句之前,通常与for、While或do语句配合使用,其语法格式为:标号:语句;跳转语句breakbreak语句可用于3类语句中,第一类是在SWitCh语句中,第二类是在for、WhiIe及do等循环语句中,第三类是在语句块中。在SWitCh语句及循环语句中,break的语义是跳过本块中余下的所有语句。可以和标号一起使用。publicstaticvoidmain(Stringargs)for(inti=l:i<=10;i+)if(i=3)break;如果i等于3跳出循环.println(i);)* 如果是多层循环,break就终止当前循环以及包括的循环。break例题publicstaticvoidmain(Stringargs)inti,j=0,k=0,h;Iabelkfor(i=0;i<100;i+,j+=2)label2:label3:switch(i%2)case1:h=1;break;default:h=0;break;if(i=50)breakIabell;.println("i"+i);)continue在循环语句中,continue语句可以立即结束当次循环,开始执行下一次循环,当然执行前要先判断循环条件是否满足。ContinUe语句也可以和标号一起使用,其语法格式为:continue标号;publicstaticvoidmain(Stringargs)for(inti=l;i<=10;i+)if(i=3)ContinUc;如果i等于3跳过当前循环.println(i);)continue例题out:for(inti=0;i<10;i÷+)for(intj=0;j<20;j+)if(j>i).println();continueout;.print("*");)第02讲输入/检出及处理异常03输入/输出输入-SCanner类程序运行期间交互式地读入用户的输入并将计算结果返回给用户是一个基本要求。SCanner类属于java.UtiI包.它提供了许多方法,可用来方便地读入不同类型的输入值。比如从键盘输入、从文件中输入等。要调用SCanner类的方法,必须先创建一个对象。JaVa中的对象使用new运算符来创建。下面的语句创建了一个SCanner类对象,它读入键盘输入:Scannerscan=newScanner(System,in);创建了一个变量SCan,它代表一个SCannCr对象。对象本身由new运算符来创建,并调用构造方法来建立对象。SCanner类的构造方法接收一个参数,这个参数代表了输入源。System.in对象代表标准输入流,默认是指键盘。SCarmer对象用空白(空格、水平制表符及回车换行符)作为输入的分隔元素。这些空白称为分隔符。也可以指定用其他的符号作为分隔符。SCanner类的next()方法读入下一个输入对象,将它作为字符串返回。如果输入的是一串用空白分开的多个字,则每次调用nextO时都会得到下一个字。IiextLine()方法读入当前行的所有输入,直到行尾,然后作为字符串返回。输入示例publicstaticvoidmain(Stringargs)Stringmessage;SCannerSCan=newSCanner();/创建从键盘输入的对象.printinCEnteralineoftext:");message=ineO;从键盘读入一行.printin("Youentered:''+message);)读入数值数据示例publicstaticvoidmain(Stringargs)intage;doubleweight,height,bmi;Scannerscan=newScanner();/创建从键盘输入的对象.print("请输入您的年龄;age=nt();从键盘读入一个int型数据.print("请输入您的体重(公斤):“);weight=ouble();/从键盘读入一个double型数据.print("请输入您的身高(米):”);height=scan.nextDouble();bmi=weight/(height*height);.printin("BMI:"+bmi);数字处理类上述程序输出的结果中可能包含了多位小数(比如15位),而实际上并不需要这么多位小数(比如最多2位就可以了)。为此,可以使用Java提供的格式化输出功能,比如DeCimaIFOrInat类和NumberFormat类。使用这些类,可使打印或显示的信息看起来比较美观。DeCinIaIFOnnal类和NumberFormat类属于JaVa标准类库,定义在java,text包中。NumbcrFormatpublicstaticvoidmain(Stringargs)DoublemyNumber=12345.;stanceO.format(myNumber);返回当前默认语言环境的默认数值格式。rrencylnstance().format(myNumber);返回当前默认语言环境的通过格式。mberlnstance().format(myNumber);返回当前默认语言环境的通过数值格式。rcentlnstance().format(myNumber);返回当前默认语言环境的百分比格式。1NumberFormatformat=Stance();XimumFractionDigits(3);设置数值的小数部分允许的最大位数。XimumIntegerDigits(5);设置数值的整数部分允许的最大位数。XinmmFraCtiOnDigitS(10);设置数值的小数部分允许的最小位数。ximumIntegerDigits(0);置数值的整数部分允许的最小位数。.printin(t(myNumber);DecimalFormatintage;doubleweight,height,bmi;Scannerscan=newScanner();/创建从键盘输入的对象.print("请输入您的年龄:");age=nt();从键盘读入一个int型数据.print("请输入您的体重(公斤):“);weight=scan.nextDouble();/从键盘读入一个double型数据.print("请输入您的身高(米):”);height=scan.nextDouble();bmi=weight/(height*height);DecimalFormatformat=newDecimalFormat("0.#");.printin("BMI:"+t(bmi);请输入您的年龄:20请输入您的体重(公斤):45请输入您的身高(米):160BMl:0.00204处理异常什么是异常JaVa语言把程序运行中可能遇到的错误分为两类,一类是非致命性的,通过某种修正后程序还能继续执行。这类错误称作异常(EXCePtiOn)。如打开一个文件时,发现文件不存在。又比如除零溢出、数组越界等。这一类的错误可以借助于程序员的处理来恢兔。另一类是致命性的,即程序遇到了非常严重的不正常状态,不能简单地恢复执行,这就是错误。比如程序运行过程中内存耗尽。实际上,异常是程序执行期间发生的不常见的情况或事件,它们的出现会中断程序的执行,而有些异常表示代码中的错误,因此异常是程序员必须要处理的。异常示例publicstaticvoidmain(Stringargs)(inti=0;只含有3个元素的数组Stringgreetings="Helloworld!"/No,Imeanit!"MHELLOWORLD!”;whiIe(i<4)/循环执行4次,i=0/1/2/3.printin(greetingsi);i+;)发生异常的代码行,i:3时,程序执行到第4次循环时会发生异常,程序先是输出了部分结果,然后报告发生了异常;ArraylndcxoutofBoundsExccption,这个异常的含义是数组下标越界,越界值是3。下一行告知发生异常的代码所在的行数。异常Console2-ZK-<terminated>Control(JavaApplicationEdkjdkL3dkL6.0/5Wcjwmm>D>c,2017lil34PlloExceptioninthread,三ain"ja/ya-IanCJ.Array工IldeXOUt:OfBoUnd旦豆XceDtliQn:3No,Imeanix!MHEIXOWORLDIIqu.zikao.Control.nain(8Irtroij>va:17)为了解决异常问题,Java提供了异常处理机制,预定义了EXCePtion类。在EXCePtion类中定义了程序产生异常的条件。有些常见的异常可以统一处理,提高了效率,代码重用率高。同时还允许程序员自己编写特殊的异常处理程序,以满足更独特的需要。处理异常在一个方法的运行过程中,如果发生了异常,称程序产生了一个异常事件,相应地生成异常对象。该对象可能由正在运行的方法生成,也可能由JVM生成。这个对象中包含了该异常必要的详细信息,包括所发生的异常事件的类型及异常发生时程序的运行状态。生成的异常对象传递给JaVa运行时系统,运行时系统寻找相应的代码来处理这一异常。生成异常对象并把它提交给运行时系统的这一过程称为酗(ThroW)一个异常。JaVa运行时系统从生成对象的代码块开始进行回溯,沿方法的调用栈逐层回溯,寻找相应的处理代码,直到找到包含相应异常处理的方法为止,并把异常对象交给该方法处理。这一过程称为捕获(CatCh)。当发现并响应异常时,就是处理(HandIe)了异常。异常分类JaVa语言在所有的预设包中都定义了异常类和错误类。EXCePtiOn类是所有异常类的父类,Error类是所有错误类的父类,这两个类同时又是ThroWable类的子类。虽然异常属于不同的类,但所有这些类都是标准类ThrOwabIe的后代。ThrOWabIe在JaVa类库中,不需要import语句就可以使用。异常分为以下3种: 受检异常,必须被处理。 运行时异常,不需要处理。 错误,不需要处理。受检异常受检异常(CheckedException)是程序执行期间发生的严重事件的后果。例如,如果程序从磁盘读入数据,而系统找不到含有数据的文件,将会发生受检异常。这个异常所属类的类名是FileNotFoundExceptiono发生的原因可能是用户给程序提供了一个错误的文件名。写得好的程序应该能提前预见到这个事件,并要求程序使用者再次输入文件名,以便能从中恢复正常。这个异常类的名字正好描述了异常的原因。这是通常的做法,Java类库中的所有异常类,都是使用名字来描述异常原因的。例如,可能会说发生了一个IoEXCePtiOn异常。受检异常的所有类都是类EXCePtiOn的子类,EXCePtion是ThrOWable的后代。JaVa类库中的下列类表示受检异常:ClassNotFoundExceptionFileNotFoundException、IOException>NOSUChMethodEXCePtiOn及WriteAbortedExceptiono运行时异常运行时异常(RuntimeException)通常是程序中逻辑错误的结果。例如,数组下标越界导致Array1ndcxutfBounds异常。被0除导致ArithmCtiCEXCePtion异常。虽然可以添加代码来处理运行时异常,但一般只需要修改程序中的错误即可。运行时异常的所有类都是类RUntimeEXCePtiOn的子类,它是Exception的后代。JaVa类库中的下列类表示运行时异常:AriIhnleIiCEXCePliOn、ArraylndeXOUtOfBoUndSEXCePtior1、ClassCastExceptionEmptyStackException>IlIegalArgumcntExceptionIIlegalStateExceptionIndexOutOfBoundsExceptionNoSuchElementException>NullPointerException和UnsupportedOperatiOnException<)错误错误(Error)是标准类E门'Or或其后代类的一个对象,EiTOr是ThrOWabIe的后代。一般地,错误是指发生了不正确的情况,如内存溢出。这些情况都比较严重,一般程序很难处理。异常处理要处理异常,必须先标出可能引起异常的JaVa语句,还必须决定要找哪个异常。处理异常的代码含有两段。第一段try块含有可能抛出异常的语句。第二段含有一个或多个CatCh块。每个catch块含有捕获及处理某种类型异常的代码。try(其他的代码anbject.readString(.);更多其他的代码catch(TOExceptione)响应异常的代码,可能含有下面这行.printin(e.getMessage();)没有发生异常时,by中的代码正常执行,如果在Sy块内发生了IOEXCePtion异常,则执行立即转到catch块。此时已经捕获了异常。标识符e称为catch块参数,它表示catch块将要处理的IOEXCePIion对象。try、CatCh经常成对出现。一个try可以有多个CatCh块。作为个对象,每个异常都有存取方法getMessage(),它返回抛出异常时创建的描述字符串。通过显示这个字符串,可以告诉程序员所发生异常的性质。CatCh块执行完毕,执行它后面的语句。但如果问题很严重,则CatCh块可以调用exit方法来中止程序,如下所示:System,exit(0);赋给函数的参数0,表示虽然遇到了一个严重问题,但程序是正常结束的。因为受检异常和运行时异常的类都以EXCePtion为祖先,故应避免在CatCh块中使用EXCePtion,而是尽可能地捕获具体的异常,且先捕获最具体的。finally不论是否捕获到异常,都要执行finally后面的语句。一般地,为了统一处理程序出口,可将要共同处理的内容放到finally后的代码段中。try(StartFaucet();/某个方法waterIawn();/某个方法)finallyStopFaucet();finally*stopFaucet()方法总被执行。仃y后大括号中的代码称为保护代码。如果在保护代码内执行了System,exitO方法,将不执行finally后面的语句,这是不执行finally后面语句的唯种可能。公共异常1. ArithmeticExccption整数除法中,如果除数为O,则发生该类异常,如下面表达式将引发ArithmetiCEXCePtiOn异常。inti=12/0;2. NullPointerException如果一个对象还没有实例化,那么访问该对象或调用它的方法将导致NullPointerException异常。例如:imageim=newimage4;System,out.printin(im0.toString();第一行创建了有4个元素的数组im,每个元素是image类型,系统为其进行初始化,每个元素中的值为null,表明它还没有指向任何实例。第二行要访问im0,由于访问的是还没有进行实例化的空引用,因此导致NullPointerException异常。3. NegativeArraySizeException按常规,数组的元素个数应是一个大于等于。的整数。创建数组时,如果元素个数是负数,则会引发NegatiVeArraySiZeException异常。4. ArraylndexOutOfBoundsExceptionJaVa把数组看作是对象,并用Iength变量记录数组的大小。访问数组元素时,运行时环境根据IengIh值检查下标的大小。如果数组下标越界,则将导致ArrayIndeXOUtOfBoUndSEXCePtion异常。抛出异常JaVa要求如果一个方法确实引发了一个异常(当然Eiror或RUntimeEXCePtiOn两类错误除外),那么在方法中必须写明相应的处理代码。程序员处理异常有两种方法。一种是使用try块和CatCh块,捕获到所发生的异常类,并进行相应的处理。当然,catch块可以为空,表示对发生的异常不进行处理。另一种方法是,程序员不在当前方法内处理异常,而是把异常抛出到调用方法中。当不能使用合理的方式来解决不正常或意外事件的情形下,才抛出异常。方法内执行throw语句时会抛出一个异常,一般的形式如下。throwexceptionobject;throw语句创建了一个异常对象exceptionobject,如:thrownewIOException();在说明方法时,要使用如下格式:访问权限修饰符返回值类型方法名(参数列表)throws异常列表紧接在关键字throws后面的是该方法内可能发生且不进行处理的所有异常列表。各异常之间以逗号分隔。例如:publicvoidtroubleSome()throwsIOException一般地,如果一个方法引发了一个异常,而它自己又不处理,就要由调用者方法进行处理。如果方法内含有一个抛出异常的throw语句,则要在方法头添加一个throws子句,而不是在方法体内捕获异常。一般地,抛出异常及捕获异常应该在不同的方法内。在方法头中用JaVa保留字throws来声明这个方法可能抛出的异常;在方法体中用保留字throw实际抛出一个异常。这两个保留字不要弄混。tr:执行可能会出问题的语句。CatCh:捕获异常try代码块中可能抛出的异常。finally:无论是否有异常都要执行的代码。throw:出现在方法体中,用于抛出异常。当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw。throws:出现在方法的声明中,表示该:可能会抛出的异常,允许throws后面跟着多个异常类型。选择题1.设i的初值为6,则执行完j=i一;后,i和j的值分别为()。A.6,6B.6,5C.5,6D.5,5正确答案C答案解析i-,先赋值,再运算。i+先运算再赋值j=i-;先把i的值赋给j,i再做T操作,+同理2. 在一个if语句中,下列选项中正确的是()。A. if的个数一定多于else的个数B. if的个数一定与else的个数相等C. if的个数一定少于else的个数D. if的个数可能多于else的个数I"正确答案D答案解析if语句是可以嵌套的,嵌套时,由于else子句是可选的,所以if的个数可能多于else个数。3. switch语句中,大多数情况下,每个CaSe块中最后一条语句应该是()。A.defaultB. continueC. breakD. goto正确答案C答案解析每个CaSe块都要有break语句,放在最后,不然会出现贯穿现象。4. switch语句中,可以省略break语句的块是()。A.第一个块B.最后一个块C.任意一个块D.哪个块都不行正确答案B答案解析最后一个块不会发生贯穿现象。5. switch语句中,如果没有相匹配的条件,则执行()。A.任一个case后的语句B.default之后的语句C.所有case后的语句D.循环执行switch语句正确答案JB答案解析没有相匹配的条件,就执行default之后的语句。6.处理异常时,catch语句的后面,一般都会出现的语句是()。A.defaultB. catchC. breakD. finally正确答案JD答案解析CatCh后面跟着finally,无论出不出现异常都会执行。7.假设有定义:Strings=null,则下列选项中,能引发异常的是(),I.if(s!=null)&(s.length()>O)II.if(s=null)&&(s.length()>O)III.if(s=null)j(s.length()=O)IV.if(s=null)II(s.length()=0)A.IB.IIIIC.II和IVD.Ill正确答案B答案解析II和IV是逻辑运算,有短路状态,所以后面的表达式不会执行,不会发生异常。填空题如果想使用其他包中的类,则需要在程序的开头使用语句。正确答案引入/import答案解析引入语句用import,参考教材P52。简答题1.try及CatCh语句的作用是什么?正确答案try:执行可能会出问题的语句。CatCh:捕获异常try代码块中可能抛出的异常。2.在什么情况下执行t”语句中finally后面的代码段?在什么情况下不执行?正确答案不论是否捕获到异常,都要执行finally后面的代码,只有在try中执行了O方法,将不执行finally后面的语句。第03讲第三章课后习题程序填空题1.某人以年利率r向银行存款Hi元,一年后存款额为m*(1+r),他想知道存多少年后,存款额会达到原来的k倍。以下方法已知m、r和k,计算至少多少年后存款额大于等于m*k。publicintCalYears(doublem,doubler,intk)doublemoney;intyears=0;money二m;while(InC)ney<m*k)years=years+1;money*=1+r;)returnyears;)2.方法VoidFibonacci(intm)【斐波那契数列】的功能是输出不大于m的FibonaeCi数列中的元素。注:FibonaCCi数列的前两个数都是1,从第三个数开始,数列的每个数是其前面两个数之和。程序填空题voidFibonacci(intm)intfl=l,f2=l,f3;.printin(fl);.printin(f2);whiIe(true)f3=fl+f2;if(f3>m)return:System,out.printin(f3);fl=f2;f2=f3;)程序设计题1 .设n为自然数,n!=1×2×3×.Xn称为n的阶乘,并且规定0!=K试编制程序计算2!,4!,6!,8!和10!,并显示计算结果。正确答案publicstaticvoidmain(Stringargs)(计算10!的阶乘intsum=1;for(inti=l;i<=10;i+)sum=sum*i;).printin(sum);2 .已知变量n,请写出使用for语句计算S=l+12+13+ln的代码。正确答案doublen=20;doublesum=0;for(doublei=1;i<=n;i+)sum=sum+li;).println(sum);)4 .编写程序打印下面的图案。程序设计题for(inti=0;i<4;i+)for(intk=O;k<i:k+).print;)for(intj=0;j<7-2*i;j+).print("*");).println(");)for(inti=0;i<3;i+)for(intk=0;k<2-i;k+).printC);)for(intj=0J<2*i+3jj).print("*");).printin("");)5.编写程序打印下面的图案。正确答案JterminatedControlJa*«*«*<r*«*.publicstaticvoidmain(Stringargs)for(inti=0;i<10;i+)for(intj=0;j<10i;j+).print("*");).printin();)*看行数和每行个数即列数的关系此题为j=10-i6.编写程序打印乘法口诀表。publicstaticvoidmain(Stringargs)for(inti=l;i<=9;i+)for(intj=l;j<=i;j+).print(""+j+"*"+i+"="+i*j+"");.printin();10.编写程序,读入一个三角形的三条边长,计算这个三角形的面积,并输出结果。提示:设三角形的三条边长分别是a、b、c,则计算其面积的公式为s=(a+b+c)/2面积=MSF)(SY)(SY)publicstaticvoidmain(Stringargs)inta=10,b=15,c=8;doubles=0.0,m=0.0;s=(a+b+c)/2;In=(s*(s-a)*(s-b)*(s-c);.printin(m);QComole<termin<ted>AA(JavaAppIicatKXi27.71261292110203513.请编写方法intrevlnt(inta),该方法的功能是返回与十进制正整数a的数字顺序相反排列的正整数。例如已知正整数是1234,方法的返回值是4321。publicclassAApublicstaticvoidmain(Stringargs)inta=123;intb=a/1000;个位intc=a%

    注意事项

    本文(第三章流程控制语句.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开