《Java 7程序设计入门经典》一2.16 习题

2.16 习题

1.为什么Java严格指定基本数据类型的范围和行为?
2.什么是Java的字符类型?它与其他语言的字符类型有什么区别?
3.判断正误:因为非零值是真值,所以boolean值可以是任何值。
4.给定输出:
《Java 7程序设计入门经典》一2.16 习题

仅使用一个字符串,写出利用println()方法产生这个输出的方法。
5.下面代码片段有什么错误?
《Java 7程序设计入门经典》一2.16 习题
《Java 7程序设计入门经典》一2.16 习题

6.请解释递增运算符前缀形式和后缀形式的区别。
7.请举例说明带有“短路”功能的AND运算如何用来防止除以0带来的错误。
8.在表达式中,byte类型和short类型会提升为什么类型?
9.一般而言,什么时候需要强制类型转换?
10.写一个程序,找出所有2~100之间的素数。
11.使用多余的圆括号会影响程序性能吗?
12.块定义作用域吗?
13.在一些语言中,变量可以保存任何类型的值。为什么Java不允许这种行为即,为什么Java有严格的类型检查,保证每个变量都只能有一种类型(即变量的声明类型)的值?
14.编写程序,将值50?000赋给整数变量x,将x*x赋给整数变量y,然后输出变量y的值。结果是否有些奇怪?若是,请解释原因。
15.在例子BoolDemo中,有下面的代码行:
《Java 7程序设计入门经典》一2.16 习题

如果去掉圆括号,变成:
《Java 7程序设计入门经典》一2.16 习题

是否会输出结果?如果会输出结果,输出什么结果?请解释你的答案。
16.在Java中,下面的赋值语句中哪些是合法的?对每个不合法的语句,解释其原因。
《Java 7程序设计入门经典》一2.16 习题

17.在Java中,下面表达式中哪些是合法的?对每个不合法的语句,解释其原因。如果是合法的语句,给出其结果。假设x是一个int变量,其值为5;y是一个double变量,其值为3.5;b是一个boolean变量,其值为false。
《Java 7程序设计入门经典》一2.16 习题

18.假设a、b和c是boolean类型的变量。为表达式(a&b|c)和(!a|!b&c)找到合适的a、b、c值,使这两个表达式的结果都为真。
19.?若x是一个int类型的变量,其值为5。在下列语句执行后它的值是多少?
《Java 7程序设计入门经典》一2.16 习题

20.若x是一个boolean类型的变量,其值为true。在下列语句执行后,它的值是多少?
《Java 7程序设计入门经典》一2.16 习题

21.在Java类库中,Math.random()方法计算0~1之间的一个随机double值。例如,语句
《Java 7程序设计入门经典》一2.16 习题

给变量x 0~1之间的一个double值。写个程序测试Math.random()方法的工作原理。具体而言,写个程序调用Math.random()方法1000次,得到1000个值,计算其中有多少个值大于0.5,将结果输出。从理论上说,程序会输出一个非常接近500的数。
22.写个程序,创建三个随机double变量a、b和c,用上题中提到的Math.random()方法给它们赋0~1之间的数。接着做以下事情:
A.输出这三个数。
B.如果三个数都小于0.2,输出“All are tiny.”。
C.如果当且仅当一个数小于0.2,输出“One is tiny”。