作业23java语句控制.docx
- 文档编号:8783609
- 上传时间:2023-05-14
- 格式:DOCX
- 页数:13
- 大小:198.10KB
作业23java语句控制.docx
《作业23java语句控制.docx》由会员分享,可在线阅读,更多相关《作业23java语句控制.docx(13页珍藏版)》请在冰点文库上搜索。
作业23java语句控制
作业2-3:
Java语句控制(总8页)
第3章控制语句
学习目标
能够使用if和if…else选择语句来选择各种动作
能够使用for循环结构来重复地执行程序中的语句
能够使用do…while循环和while循环语句重复地执行程序中的语句
能够使用break和continue程序控制语句
实验前检查
在学完《Java语言程序设计》的第3章后,请回答以下问题。
这些问题旨在检验和巩固你对关键概念的理解。
既可以在实验课程之前,也可以在实验课程期间完成。
选择题:
1.下列语句序列执行后,m的值是(C)。
inta=10,b=3,m=5;
if(a==b)m+=a;elsem=++a*m;
A)15B)50C)55D)5
2.下列语句序列执行后,k的值是(B)。
inti=4,j=5,k=9,m=5;
if(i>j||m A)5B)10C)8D)9 3.下列语句序列执行后,k的值是(C)。 inti=10,j=18,k=30; switch(j-i) {case8: k++; case9: k+=2; case10: k+=3; default: k/=j; } A)31B)32C)2D)33 4.若a和b均是整型变量并已正确赋值,正确的switch语句是(D)。 A)switch(a+b);{......}B)switch(a+b*){......} C)switcha{......}D)switch(a%b){......} 5.下列语句序列执行后,j的值是(A)。 intj=1; for(inti=5;i>0;i-=2)j*=i; A)15B)1C)60D)0 6.以下for循环的执行次数是(B)。 for(intx=0;(x==0)&(x<4);x++); A)无限次B)一次C)执行4次D)执行3次 7.下列语句序列执行后,j的值是(D)。 intj=2; for(inti=7;i>0;i-=2)j*=2; A)15B)1C)60D)32 8.下列语句序列执行后,k的值是(B)。 intm=3,n=6,k=0; while((m++)<(--n))++k; A)0B)1C)2D)3 9.下列语句序列执行后,i的值是(C)。 ints=1,i=1; while(i<=4){s*=i;i++;} A)6B)4C)24D)5 10.下列语句序列执行后,k的值是(C)。 intm=3,n=6,k=0; while(m A)0B)1C)2D)3 11.以下由do-while语句构成的循环执行的次数是(B)。 intm=8; do{++m;}while(m<8); A)一次也不执行B)执行1次 C)8次D)有语法错,不能执行 12.下列语句序列执行后,i的值是(A)。 inti=10; do{i/=2;}while(i>1); A)1B)5C)2D)0 13.下列语句序列执行后,i的值是(D)。 inti=10; do{i/=2;}while(i-->1); A)1B)5C)2D)–1 14.下列循环中,执行breakouter语句后,所列(B)语句将被执行。 outer: for(inti=1;i<10;i++) { inner: for(intj=1;j<10;j++) { if(i*j>50) breakouter; } next: A)标号为inner的语句B)标号为outer的语句 C)标号为next的语句D)以上都不是 15.下列循环中,执行continueouter语句后,(B)说法正确。 outer: for(inti=1;i<10;i++) { inner: for(intj=1;j<10;j++) { if(i*j>50) continueouter; } } A)程序控制在外层循环中并且执行外层循环的下一迭代 B)程序控制在内层循环中并且执行内层循环的下一迭代 C)执行标号为next的语句 D)以上都不是 程序填空题 1.下面是一个java应用程序(Application),它的功能是计算s=1+2+3+...+10,请完成程序填空。 public__class_Class1 { publicstaticvoidmain(Stringargs[]) { ints=0; for(inti=1;i<=10;i++) { s+=__i_; } "s="+s); } } 2.下面是一个javaApplication的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。 import.*; publicclassMyClass { publicstaticvoidmain(String[]args) { intj=1; for(inti=1;__i<=9_;i++) { "*"+j+"="+__i*j_); } } } 程序改错题 下列程序片断有什么错误如何改正 1. charch; switch(ch)标点格式 { case‘A’: 字母是A”); case‘B’: 字母是B”); } 2. i=10;INTI=10,SUM=0; while(i! =0); sum+=i; 3. for(inti=10;i>100;i--)intSUM=0 sum+=i; 4. for(floati=;i>;i-=DOUBLE 5. inti=10; do{ i--; }while(i=1)WHILE(I==1); 编程实验 编程实验1: 直角三角形 本实验要求在封闭实验课中在教师指导下完成。 1.实验目的 本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。 在这个实验中学生将练习: 从控制台获取数据 使用IF语句进行判断 2.问题描述 编写一个应用程序,读取用户任意输入的3个非零数值,判断它们是否可以作为三角形的3条边,如果可以,则打印打印这3条边,计算并显示这个三角形的面积。 三角形面积计算网站找找啊! ! ! 3.示例输出 4.程序模板 publicclassTriangle{ publicstaticvoidmain(String[]args){ intside1; intside2; intside3; lengthofside1: ”); side1=(); lengthofside2: ”); side2=(); lengthofside3: ”); side3=(); intside1Square=side1*side1; intside2Square=side2*side2; intside3Square=side3*side3; if((side1Square+side2Square)==side3Square) is: ”+side1*side2/2); if((side1Square+side3Square)==side2Square) is: ”+side1*side3/2); if((side2Square+side3Square)==side1Square) is: ”+side2*side3/2); } } 5.解答提示 1)使用教材中的MyInput类中的()方法读入一个非零的双精度浮点数值。 代码中三次使用这个方法,依次从控制台获取三条边的值。 2)对直角三角形的判断依据定理: 两条直角边的平方和等于斜边的平方。 依次对每条边判断该边是否为斜边,三次使用IF语句一次判断。 当任何一次判断都不成立时,不输出任何内容,表示该三边不能构成直角三角形。 否则利用直角三角形求面积的方法求出面积,并打印输出该值。 6.强化练习 (1)编写程序对三个整数排序,由键盘输入整数分别存入变量num1、num2和num3,对他们进行排序,使得num1<=num2<=num3。 (2)利用下表根据销售额计算销售提成。 从键盘输入销售额并在控制台显示结果。 销售额 提成 1美元——5000美元 5001美元——10000美元 10001美元以上 8% 10% 12% 编程实验2: 水仙花数 本实验要求在封闭实验课中在教师指导下完成。 1.实验目的 本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。 在这个实验中学生将练习: 水仙花数的概念 FOR语句与IF语句结合使用 2.问题描述 水仙花数是指个位、十位和百位三个数的立方和等于这个三位数本身的数,编写程序求出所有的水仙花数。 3.示例输出 4.程序模板 publicclassNarcissus { publicstaticvoidmain(Stringargs[]) { inti,j,k; for(intnum=100;num<=999;num++) { i=num%10; 解答提示 1)水仙花数涉及个位、十位、百位数字,所以水仙花数十个三位数,即100—999之间的数。 因此FOR循环的循环变量范围为100—999。 2)用求余数方法%,依次求出每一位数。 3)用IF语句判断,三位数的平方和是否等于原数,如果是,打印输出。 6.强化练习 1)5.写一个嵌套的for循环打印下列图案: 1 12 123 1234 12345 2)写一个嵌套的for循环打印下列图案: 1 121 12421 1248421 1248168421 12481632168421 124816326432168421 12481632641286432168421 编程实验3: 整数个数 本实验要求在封闭实验课中在教师指导下完成。 1.实验目的 本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。 在这个实验中学生将练习: DO……WHILE语句的使用 2.问题描述 编写程序,读入个数不确定的整数并判断读入的正数和负数个数,输入为0时结束程序。 3.示例输出 ……… 4.程序模板 publicclassExercise3_4 { publicstaticvoidmain(String[]args) { intcountPositive=0,countNegative=0; intnum; do { num=(); if(num>0) countPositive++; elseif(num<0) countNegative++; } while(num! =0); "thenumberofpostivesis"+countPositive); "thenumberofnegativesis"+countNegative); } } 5.解答提示 1)DO….WHILE语句的使用: 先执行DO中的内容,然后进行WHILE中的条件判断,如果为TRUE,再次执行DO循环体,否则跳出循环。 不管WHILE条件是否成立,循环体都至少被执行一次。 相比之下,WHILE循环必须先进行条件判断,只有条件成立时,才执行循环体。 也就是说,循环体可能会一次都不执行。 2)控制台输入为0时,结束输入,所以控制台至少要有一次输入,因此选择DO…WHILE循环。 3)用变量countPositive和countNegative分别记录正数和负数的个数。 在循环体中判断输入数的正负,分别累加这两个变量。 4)当输入为0时,跳出循环,打印变量countPositive和countNegative的值。 6.强化练习 1)用while循环求n2大于12000的最小数n。 2)编写程序读入整数并求它们的总和与平均值。 输入为0时程序结束。 编程挑战 1)打印2到10000的所有素数,每行显示8个素数。 用循环语句在2到10000之间循环,判断该数是否为素数。 对于素数i的判断: 为提高运行效率,可考虑从1—i/2之间依次判断是否有被i的整除的数,一旦有,就无需进行后续数的判断,直接跳出循环体,循环体的跳出可考虑用break,跳出前可用boolean型变量标识其为非素数。 打印输出时,要求每行显示8个,用一个整型变量记录素数的个数,每8个换行输出。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 23 java 语句 控制