1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java语言程序设计基础篇(第十版)课后习题答案 - 第一章

Java语言程序设计基础篇(第十版)课后习题答案 - 第一章

时间:2019-09-19 06:08:12

相关推荐

Java语言程序设计基础篇(第十版)课后习题答案 - 第一章

第一章:计算机、程序和Java概述

复习题

1.1 什么是硬件和软件?

答:硬件指计算机中可见的物理部分;软件是计算机中看不见的指令,这些指令控制硬件并使硬件完成特定的任务。

1.2 列举计算机的5个主要硬件组件。

答:①中央处理器;②内存;③输入设备;④输出设备;⑤存储设备。

1.3 缩写“CPU”代表什么含义?

答:CPU全称Central Processing Unit,中央处理器。

1.4 衡量CPU速度的单位是什么?

答:单位是赫兹HZ,现在通常以Mhz,Ghz数量级衡量。

1.5 什么是比特?什么是字节?

答:比特bit是计算机中物理存储设备的最小单位;8个bit是一个字节。

1.6 内存是用来做什么的?RAM代表什么?为什么内存称为RAM?

答:内存的用途:用于存储程序及程序需要的数据;RAM(Random-Access Memory)代表随机访问的存储器;因为内存可以按任意顺序存取字节所以背称为RAM(按功能划分)。

1.7 用于衡量内存大小的单位是什么?

答:GB(Gigabyte)

1.8 用于衡量磁盘大小的单位是什么?

答:TB(Terabyte)

1.9 内存和永久存储设备的主要不同是什么?

答:内存是易失性存储介质(断电即失),存储容量小,传输速度快;永久存储设备为非易失性存储介质(断电可留),存储容量大,传输速度慢。

1.10 CPU能理解什么语言?

答:机器语言。

1.11 什么是汇编语言?

答:汇编语言能用短的描述性单词来表示每一条机器语言指令,是一种低级语言。

1.12 什么是汇编器?

答:汇编器可以将汇编语言转换成机器语言。

1.13 什么是高级编程语言?

答:很像英语,易于学习和使用的编程语言称为高级编程语言。

1.14 什么是源程序?

答:使用高级编程语言编写的程序称为源程序。

1.15 什么是解释器?

答:解释器会逐条读取源代码中的语言,并立刻翻译成机器代码或者虚拟机器代码,然后立刻立刻运行。

1.16 什么是编译器?

答:编译器是先将整个源代码翻译为机器代码文件,然后再执行该机器代码文件。

1.17 解释语言和编译语言之间的区别是什么?

答:解释语言是在运行的时候将程序翻译成机器语言,效率比较低,但是跨平台性好,比如Java和Python。

编译语言在执行程序之前,有一个单独的编译过程,将程序翻译成机器语言就不再进行翻译了,效率高,比如C和C++。

1.18 什么是操作系统?列出一些流行的操作系统?

答: 操作系统(Operation System,简称OS)是运行在计算机上最重要的程序,它可以管理和控制计算机的各种活动。

比较流行的操作系统有Windows,MacOS和Linux。

1.19 操作系统的主要任务是什么?

答:①控制和监控系统的各种活动;②分配和调配系统资源。

1.20 什么是多道程序设计、多线程以及多处理?

答:①多道程序设计:允许多个程序通过共享CPU同时进行的程序设计。②多线程:运行单个程序同时执行多个任务。③多处理(多进程,也称为并行处理):是指使用两个或多个处理器共同并行执行子任务,然后将子任务的结果合并以得到整个任务的结果。

1.21 Java是由谁发明的?哪个公司现在拥有Java?

答:Java是由James Grosling在Sun公司领导的小组开发的;Oracle现在拥有Java。

1.22 什么是Java applet?

答:能在web浏览器中运行的Java程序称为Java applet。

1.23 安卓使用的是什么编程语言?

答:Java、Kotlin

1.24 什么是Java语言规范?

答:Java语言规范(Java language specification)是对语言的技术定义,包括Java程序设计语言的语法和定义。

1.25 JDK代表什么?

答:Java开发工具包(Java Development Toolkit),是由一套独立程序构成的集合,每个程序都是从命令行调用的,用于开发和测试Java程序。

1.26 IDE代表什么?

答:集成开发环境(Integrated Development Environment)

1.27 类似NetBeans和Eclipse的工具是和Java不同的语言吗?或者它们是Java的方言或者扩充?

答:不是的,这些仅仅是方便进行Java开发的开发工具而已,也就是IDE

1.28 什么是关键字?列举一些Java关键字。

答:关键字就是Java本身特殊含义的单词,不能再程序中用于其他目的。例如class、static、void

1.29 Java是大小写敏感的吗?Java关键字是大写还是小写?

答:Java大小写敏感;关键字是小写的。

1.30 什么是注释?编译器会忽略注释吗?如何标识一行以及一段注释?

答:①注释主要用于说明程序是干什么的;②会忽略注释;③//和/*/以及/* **/

1.31 在控制台上显示一个字符串的语句是什么?

答:System.out.println();

1.32 给出以下代码的输出:

public class Test {public static void main(String[] args) {System.out.println("3.5 * 4 / 2 - 2.5 is ");System.out.println(3.5 * 4 / 2 - 2.5);}}

答:3.5 * 4 / 2 - 2.5 is

4.5

1.33 什么是Java源程序的文件后缀名,什么是Java字节码文件后缀?

答:①Java源程序文件后缀名为.java;②Java字节码文件后缀为.class。

1.34 Java编译器的输入和输出是什么?

答:输入是源代码,输出是字节码。

1.35 编译Java程序的命令是什么?

答:javac ***.java

1.36 运行Java程序的命令是什么?

答:java ***

1.37 什么是JVM?

答:Java虚拟机,可以解释java字节码的程序。

1.38 Java可以运行在任何机器上吗?在一台计算机上运行Java需要什么?

答:可以,只要有安装java虚拟机即可;需要java虚拟机。

1.39 如果运行程序的时候出现 NoClassDefFoundError 错误,是什么原因导致了这个错误?

答:运行一个不存在的类文件。

1.40 如果运行程序的时候出现 NoSuchMethodError 错误,是什么原因导致了这个错误?

答:没有main方法或者敲错了main方法。

1.41 使用行尾括号风格,将下面的程序根据程序设计风格和文档指南进行重新格式化。

public class Test {// Main methodpublic static void main(String[] args) {/** display output */System.out.println("Welcome to Java");}}

答:

public class Test {// Main methodpublic static void main(String[] args) {/** display output */System.out.println("Welcome to Java");}}

1.42 什么是语法错误(编译错误)、运行时错误以及逻辑错误?

答:①在编译过程中出现的错误称为语法错误(syntax error)或编译错误(compile error);②引起程序非正常中断的错误叫运行时错误(runtime error);③当程序没有按预期的方式执行时就会产生逻辑错误(logic error)。

1.43 给出语法错误、运行时错误以及逻辑错误的实例。

答:

语法错误:少关键字;运行时错误:1除以0的计算场景;逻辑错误:小数点计算中给的都是整形数字导致计算结果不正确。

1.44 如果忘记为字符串加引号了,将产生哪类错误?

答:语法错误。

1.45 如果程序需要读取整数,而用户输入了字符串,运行该程序的时候将产生什么错误?这是哪类错误?

答:将产生数据类型错误;这是运行时错误。

1.46 假设编写一个计算矩形周长的程序,但是错误地写成了计算矩形面积的程序。这属于哪类错误?

答:这属于逻辑错误。

1.47 指出和修改下面代码中的错误。

public class Welcome {public void main(String[] args) {System.out.println('Welcome to java!);}}

答:

主方法缺少关键字static。输出语句内应为双引号。

正确代码如下所示:

public class Welcome {public static void main(String[] args) {System.out.println("Welcome to java!");}}

编程练习题

1.1 (显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun。

答:

public class Exercise1_1 {public static void main(String[] args) {System.out.println("Welcome to Java");System.out.println("Welcome to Computer Science");System.out.println("Programming is fun");}}

1.2 (显示五条消息)编写程序,显示Welcome to Java五次。

答:

public class Exercise1_2 {public static void main(String[] args) {System.out.println("Welcome to java");System.out.println("Welcome to java");System.out.println("Welcome to java");System.out.println("Welcome to java");System.out.println("Welcome to java");}}

1.3 (显示图案)编写一个程序,显示下面的图案:

答:

public class Exercise1_3 {public static void main(String[] args) {System.out.println(" JAVVA");System.out.println(" J A AV VA A");System.out.println("J J AAAAAV VAAAAA");System.out.println(" JJ AAVAA");}}

1.4 编写程序,显示以下表格:

解:

public class Exercise1_4 {public static void main(String[] args) {System.out.println("a" + " " + "a^2" + " " + "a^3");System.out.println(1 + " " + (1 * 1) + "" + (1 * 1 * 1));System.out.println(2 + " " + (2 * 2) + "" + (2 * 2 * 2));System.out.println(3 + " " + (3 * 3) + "" + (3 * 3 * 3));System.out.println(4 + " " + (4 * 4) + " " + (4 * 4 * 4));}}

1.5 (计算表达式)编写程序,显示以下公式的结果。

解:

public class Exercise1_5 {public static void main(String[] args) {System.out.println((9.5 * 4.5 - 2.5 * 3) / (45.5 - 3.5));}}

结果是 0.8392857142857143

1.6 (数列求和)编写程序,显示 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 的结果。

解:

public class Exercise1_6 {public static void main(String[] args) {System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9);}}

结果是 45

1.7 (近似求p)可以使用以下公式计算p:

π=4*(1-1/3+1/5-1/7+1/9-1/11+…)

编写程序,显示⽰4*(1-1/3+1/5-1/7+1/9-1/11)和4*(1-1/3+1/5-1/7+1/9-1/11+1/13)的结果。在程序中用1.0代替1。

解:

public class Exercise1_7 {public static void main(String[] args) {System.out.println(4 * (1.0 - 1.0 / 3 + 1.0 / 5 - 1.0 / 7 + 1.0 / 9 - 1.0 / 11));System.out.println(4 * (1.0 - 1.0 / 3 + 1.0 / 5 - 1.0 / 7 + 1.0 / 9 - 1.0 / 11 + 1.0 / 13));}}

结果是:

2.9760461760461765

3.2837384837384844

1.8 (圆的面积和周长)编写程序,使用以下公式计算并显示半径为5.5的圆的面积和周长。

周长 = 2 x 半径 x π

⾯积 = 半径 x 半径 x π

解:

public class Exercise1_8 {public static void main(String[] args) {System.out.println("周长 = " + (2 * 5.5 * 3.14));System.out.println("⾯积 = " + (5.5 * 5.5 * 3.14));}}

周长 = 34.54

⾯积 = 94.985

1.9 (矩形的面积和周长)编写程序,使用以下公式计算并显示宽度为 4.5、高度为 7.9 的矩形的面积和周长。

面积 = 宽 × 高

解:

public class Exercise1_9 {public static void main(String[] args) {System.out.println("⾯积 = " + (4.5 * 7.9));System.out.println("周长 = " + (4.5 * 2 + 7.9 * 2));}}

⾯积 = 35.550000000000004

周长 = 24.8

1.10 (以英里计的平均速度)假设一个跑步者45分钟30秒内跑了14公里。编写一个程序显示每小时多少英里为单位的平均速度值。(注意,1英里等于1.6公里。)

解:

public class Exercise1_10 {public static void main(String[] args) {System.out.println("平均速度值为" + (14.0 / 1.6) / ((45.0 * 60 + 30) / (60 * 60)) + "英⾥每⼩时");}}

平均速度值为11.538461538461538英⾥每⼩时

*1.11 (人口估算)美国人口调查局基于以下假设进行人口估算:

每7秒有一个人诞生每13秒有一个人死亡每45秒有一个移民迁入

编写一个程序,显示未来5年的人口数。假设当前的人口是 312 032 486,每年有 365 天。

提示:Java中,两个整数相除,结果还是整数,小数部分被去掉。例如,5/4 等于 1(而不是1.25 ),10/4 等于 2(而不是 2.5 )。

如果想得到有小数部分的精确结果,进行除法运算的两个值之一必须是一个具有小数点的数值。例如,5.0/4 等于 1.25,10/4.0 等于 2.5。

解:

public class Exercise1_11 {public static void main(String[] args) {System.out.println(312032486 + (5 * 365 * 24 * 60 * 60 / 7) - (5 * 365 * 24 * 60 * 60 / 13) + (5 * 365 * 24 * 60 * 60 / 45));}}

结果是 325932970

1.12 (以公里计的平均速度)假设一个跑步者 1 小时 40 分钟 35 秒内跑了 24 英里。编写一个程序显示每小时多少公里为单位的平均速度值。(注意,1 英里等于 1.6 公里。)

解:

public class Exercise1_12 {public static void main(String[] args) {System.out.println("平均速度值为 " + (24 * 1.6) * (60 * 60) / (60 * 60 + 40 * 60 + 35) + " 公⾥每⼩时");}}

平均速度值为 22.906379453189732 公⾥每⼩时。

*1.13 (代数:求解 2 × 2 线性方程)可以使用Cramer规则解下面的 2 × 2 线性方程组:

ax + by = e

cx + dy = f

x = (ed - bf) / (ad - bc)

y = (af - ec) / (ad - bc)

编写程序,求解以下方程组并显示 x 和 y 的值。

3.4x + 50.2y = 44.5

2.1x + 0.55y = 5.9

解:

public class Exercise1_13 {public static void main(String[] args) {double a = 3.4;double b = 50.2;double c = 2.1;double d = 0.55;double e = 44.5;double f = 5.9;System.out.println("x = " + (e * d - b * f) / (a * d - b * c));System.out.println("y = " + (a * f - e * c) / (a * d - b * c));}}

x = 2.623901496861419

y = 0.7087397392563978

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。