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

简介: 本节书摘来自华章出版社《Java 7程序设计入门经典》一书中的第2章,第2.16节,作者 (美)Herbert Schildt Dale Skrien,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.16 习题

1.为什么Java严格指定基本数据类型的范围和行为?
2.什么是Java的字符类型?它与其他语言的字符类型有什么区别?
3.判断正误:因为非零值是真值,所以boolean值可以是任何值。
4.给定输出:
image

仅使用一个字符串,写出利用println()方法产生这个输出的方法。
5.下面代码片段有什么错误?
image
image

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中,有下面的代码行:
image

如果去掉圆括号,变成:
image

是否会输出结果?如果会输出结果,输出什么结果?请解释你的答案。
16.在Java中,下面的赋值语句中哪些是合法的?对每个不合法的语句,解释其原因。
image

17.在Java中,下面表达式中哪些是合法的?对每个不合法的语句,解释其原因。如果是合法的语句,给出其结果。假设x是一个int变量,其值为5;y是一个double变量,其值为3.5;b是一个boolean变量,其值为false。
image

18.假设a、b和c是boolean类型的变量。为表达式(a&b|c)和(!a|!b&c)找到合适的a、b、c值,使这两个表达式的结果都为真。
19.?若x是一个int类型的变量,其值为5。在下列语句执行后它的值是多少?
image

20.若x是一个boolean类型的变量,其值为true。在下列语句执行后,它的值是多少?
image

21.在Java类库中,Math.random()方法计算0~1之间的一个随机double值。例如,语句
image

给变量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”。

相关文章
|
2月前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
128 63
|
2月前
|
Java 数据安全/隐私保护
JAVA经典习题详解
JAVA经典习题详解
25 4
|
2月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
47 0
|
6月前
|
存储 小程序 前端开发
java毕设项目|宿舍管理系统小程序设计与实现
java毕设项目|宿舍管理系统小程序设计与实现
|
6月前
|
监控 Java API
Java 程序设计 第八章 线程
Java 程序设计 第八章 线程
|
6月前
|
Java
Java 程序设计 第七章 文件管理与输入/输出 笔记
Java 程序设计 第七章 文件管理与输入/输出 笔记
|
6月前
|
Java Android开发
Java 程序设计 第6章 异常与断言 笔记
Java 程序设计 第6章 异常与断言 笔记
|
6月前
|
Java 编译器
Java 程序设计 第4章 继承 笔记
Java 程序设计 第4章 继承 笔记
|
5天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
7天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。