一、习题介绍
第二章
Check Point:P44 2.7,2.8,2.25,2.27,2.28,2.35,2.37
二、习题及答案
2.7
What are the benefits of using constants? Declare an int constant SIZE with value 20.
2.7 使用常量的好处是什么?声明一个值为20的int常量SIZE。
答:使用常量的好处包括:
可读性:常量名称通常更具描述性,使得代码更易于理解。
维护性:如果需要修改常量的值,只需在一个地方修改,而不必在代码中搜索并替换所有实例。
安全性:常量的值在定义后不能被修改,这可以避免在程序运行时意外改变值。
在 Java 中,声明一个值为 20 的 int 常量 SIZE 如下所示:
public static final int SIZE = 20;
2.8
What are the naming conventions for class names, method names, constants, and variables? Which of the following items can be a constant, a method, a variable, or a class according to the Java naming conventions?
MAX_VALUE, Test, read, readDouble
2.8类名、方法名、常量等的命名约定是什么变量?根据Java命名约定,下列哪一项可以是常量、方法、变量或类?
MAX_VALUE, Test, read, readDouble
答:Java 的命名约定通常遵循以下规则:
类名:使用大驼峰式命名法(CamelCase),每个单词的首字母都大写,例如 MyClass 。
方法名:同样使用大驼峰式命名法,但第一个单词的首字母小写,例如 myMethod 。
常量:全部字母大写,单词之间使用下划线分隔,例如 MAX_VALUE 。
变量:使用小驼峰式命名法(camelCase),第一个单词的首字母小写,其余单词首字母大写,例如 myVariable 。
2.25
Which of these statements are true?
a. Any expression can be used as a statement.
b. The expression x++ can be used as a statement.
c. The statement x = x + 5 is also an expression.
d. The statement x = y = x = 0 is illegal.
2.25下列哪个陈述是正确的?
a.任何表达式都可以用作语句。
b.表达式x++可以用作语句。
c.语句x = x + 5也是一个表达式。
d.语句x = y = x = 0不合法。
答:a. 任何表达式都可以用作语句。 - 错误,因为并非所有表达式都可以独立作为语句,例如,赋值表达式可以作为语句,但函数调用表达式本身不是语句。
b. 表达式 x++ 可以用作语句。 - 正确, x++ 是一个后缀递增运算符,可以作为语句使用,表示 x 的值增加 1。
c. 语句 x = x + 5 也是一个表达式。 - 正确, x = x + 5 是一个赋值表达式,是表达式的一种。
d. 语句 x = y = x = 0 不合法。 - 错误,这个语句是合法的,表示将 0 分别赋值给 x、y 和 x(尽管对 x 的赋值是重复的)。
2.27
Can different types of numeric values be used together in a computation?
2.27不同类型的数值可以在计算中一起使用吗?
答:是的,不同类型的数值可以在计算中一起使用。Java 会进行类型转换,以确保数值可以一起参与运算。这通常涉及到自动类型提升(小范围类型转换为大范围类型)。
2.28
What does an explicit casting from a double to an int do with the fractional part of the double value? Does casting change the variable being cast?
2.28从double类型显式强制转换为int类型是怎么处理双精度值的小数部分?强制转换会改变被强制转换的变量吗?
答:当从 double 类型显式强制转换为 int 类型时,小数部分会被截断,只保留整数部分。例如, (int)5.99 的结果是5 。强制转换不会改变原始变量的值,它只是创建了一个新类型的值,原始变量的值保持不变。
2.35
What is an integer overflow? Can floating-point operations cause overflow?
2.35什么是整数溢出?浮点操作会导致溢出吗?
答:整数溢出是指当一个整数运算的结果超出了该类型所能表示的最大或最小值时发生的情况。例如,如果一个 int 类型的变量尝试存储一个超出 -2,147,483,648 到 2,147,483,647 范围的值,就会发生溢出。
2.37
What is a round-off error? Can integer operations cause round-off errors? Can floating-point operations cause round-off errors?
2.37什么是舍入误差?整数操作会导致舍入错误吗?可以浮点运算导致舍入错误?
答:舍入误差是指在浮点运算中,由于不能精确表示某些数值而导致的精度损失。例如, 0.1 + 0.2 的实际结果可能因为舍入误差而不等于 0.3 。
整数操作不会导致舍入错误,因为整数运算是精确的,除非发生溢出。浮点运算由于其表示的限制,经常会导致舍入误差。
结语
日日行,不怕千万里
常常做,不怕千万事
!!!