116、指出以下代码片段可能存在的错误:a) 有一个 while 语句;b) 有一个 for 语句使用浮点数控制;c) 有一个 switch 语句,第一个 case 语句情况;d) 有一个 while 循环。
- a) 修正:将分号替换为
{,或者同时移除分号和}。 - b) 修正:使用整数,并进行适当的计算以得到所需的值,例如:
java for (k = 1; k != 10; k++) System.out.println((double) k / 10); - c) 修正:在第一个
case语句的末尾添加break语句。注意,如果希望每次执行case 1:语句时都执行case 2:语句,那么这种遗漏不一定是错误。 - d) 修正:使用
<=而不是<,或者将10改为11。
117、描述计数控制重复的四个基本要素。
- 控制变量(或循环计数器);
- 控制变量的初始值;
- 每次循环时控制变量修改的增量(或减量);
- 决定是否继续循环的循环继续条件。
118、比较并对比while和for循环语句。
-
while和for都是 Java 中的循环语句。 -
while语句可用于实现任何计数器控制的循环,它先判断条件,若条件为真则执行循环体,执行完后再次判断条件,直到条件为假时终止循环。 - 使用
while时需在循环体中添加使循环条件最终为假的操作,否则会造成无限循环。 -
for语句则将计数器控制循环的细节(初始化、循环继续条件和增量)写在一行代码中,语法结构更紧凑。 -
for语句也可用于实现计数器控制的循环,但编码时需注意,过于紧凑的写法可能会使代码难以阅读、调试、修改和维护。
119、讨论一种使用 do…while 语句比 while 语句更合适的情况,并解释原因。
- 当需要确保循环体至少执行一次时,使用
do…while语句更合适。 - 因为
while语句在执行循环体之前先测试循环继续条件,若条件为假,循环体不会执行; - 而
do…while语句在执行循环体之后才测试循环继续条件,所以循环体至少会执行一次。
120、比较并对比 break 和 continue 语句。
在 Java 中, break 和 continue 语句均可改变程序控制流。
-
break语句用于立即退出当前所在的while、for、do...while或switch语句,程序会继续执行该控制语句之后的第一条语句。 -
continue语句用于跳过循环体中剩余的语句,然后继续进行下一次循环迭代。 - 在
while和do...while语句里,continue执行后会立即计算循环继续条件; - 在
for语句中,会先执行增量表达式,再计算循环继续条件。
此外,有些程序员认为 break 和 continue 违背结构化编程原则,因为使用结构化编程技术也能实现相同效果。
121、请在以下每个陈述的空白处填空:a) 一个方法通过一个()来调用。b) 一个仅在声明它的方法内可见的变量被称为()。c) 被调用方法中的()语句可用于将一个表达式的值传回调用方法。d) 关键字()表示一个方法不返回值。e) 数据只能从栈的()添加或移除。f) 栈被称为()数据结构——最后压入(插入)栈的项是最先从栈中弹出(移除)的项。g) 从被调用方法将控制权返回给调用者的三种方式是()、()和()。h) ()类的对象可以生成随机数。i) 程序执行栈包含程序执行期间每个方法调用的局部变量的内存。作为程序执行栈的一部分存储的这些数据被称为方法调用的()或()。j) 如果方法调用的数量超过了程序执行栈所能存储的激活记录的数量,就会发生一个被称为()的错误。k) 声明的()是程序中可以通过名称引用该声明中的实体的部分。l) 在 Java 中,可以有多个同名的方法,每个方法操作不同类型或数量的参数。这个特性被称为方法()。m) 程序执行栈也被称为()栈。
- a) 方法调用
- b) 局部变量
- c) return
- d) void
- e) 顶部
- f) 后进先出(LIFO)
- g) 执行到方法结束、执行 return 语句、抛出异常
- h) Random
- i) 激活记录、栈帧
- j) 栈溢出
- k) 作用域
- l) 重载
- m) 方法调用
122、给出以下每个方法的方法头:a) 方法 hypotenuse,它接受两个双精度浮点型参数 side1 和 side2,并返回一个双精度浮点型结果。b) 方法 smallest,它接受三个整数 x、y 和 z,并返回一个整数。c) 方法 instructions,它不接受任何参数,也不返回任何值。[注意:此类方法通常用于向用户显示说明信息。]d) 方法 intToFloat,它接受一个整数参数 number,并返回一个浮点型结果。
a) double hypotenuse(double side1, double side2)
b) int smallest(int x, int y, int z)
c) void instructions()
d) float intToFloat(int number)

最低0.47元/天 解锁文章
2062

被折叠的 条评论
为什么被折叠?



