java语言程序设计课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java语言程序设计课后习题答案
第一章:计算机、程序和JAVA概述
1、2、1
什么是硬件和软件?
答:硬件指计算机中可见的物理部分;而软件提供不可见的指令,这
些指令控制硬件并使硬件完成特定的任务。
1、2、2
列举计算机的5个主要硬件组件。
答:中央处理器(CPU);内存(主存);存储设备(磁盘、光盘);输入设备(鼠标、键盘);输出设备(显示器、打印机);通信设备(调
制解调器、网卡)。
1、2、3
编写“CPU”代表什么含义?测量CPU速度的单位是什么?
答:CPU(Central Proceing Unit)中央处理单元,包括控制单元和
算术、逻辑单元;单位是HZ,现在通常以MHZ,GHZ数量级衡量。
1、2、4
什么是比特?什么是字节?
答:bit是计算机物理设备中存储的最小单位;8个bit为1个byte。
1、2、5内存是用来做什么的?RAM代表什么?为什么内存成为RAM?
答:内存用来存储程序和数据;RAM(Random-Acce Memory)-可随机访
问存储介质;因为内存可以按任意顺序存取字节所以被称为RAM(按功能
划分)。
1、2、6
用于测量内存大小的单位是什么?用于测量磁盘大小的单位是什么?
答:GB,TB
1、2、7
内存和永久存储设备的主要不同是什么?
答:内存是易失性存储介质(断电即失),存储容量小,传输速度快;永久存储设备为非易失性存储介质(断电可留),存储容量大,传输速度慢。
1、3、1CPU能理解什么语言。
机器语言。
1、3、2什么是汇编语言?什么是汇编器?
汇编语言能用短的描述性单词来表示每一条机器语言指令,是一种低
级语言。
汇编器可以将汇编语言转换成机器语言。
1、3、3什么是高级编程语言?什么是源程序?
很像英语,易于学习和使用的编程语言称为高级编程语言。
使用高级编程语言编写的程序称为源程序。
1、3、4什么是解释器?什么是编译器?
解释器会逐条读取源代码中的语言,并立刻翻译成机器代码或者虚拟机器代码,然后立刻运行。
编译器是先将整个源代码翻译为机器代码文件,然后再执行该机器代码文件。
1、3、5解释语言和编译语言之间的区别是什么?
解释语言是在运行的时候将程序翻译成机器语言,效率比较低,但是跨平台性好,比如java和python。
编译语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不再进行翻译了,效率高,比如C和C++。
1、4、1什么是操作系统?列出一些流行的操作系统。
操作系统(Operating Sytem, OS)是运行在计算机上最重要的程序,它可以管理和控制计算机的活动。
比较流行的有window,linu,maco
1、4、2操作系统的主要任务是什么?
控制和监控系统的活动
分配和调配系统资源
调度操作
1、4、3什么是多道程序设计、多线程以及多处理。
多道程序设计允许多个程序通过共享CPU同时运行
多线程运行单个程序同时执行多个任务
多处理(多进程)也成为并行处理(parallel proceing),是指使用两个或多个处理器共同并行执行子任务,然后将子任务的结果合并以得到整个任务的结果。
1、5、1 Java是由谁发明的?哪个公司现在拥有Java?
Java是由Jame Groling在Sun公司领导的小组开发的。
Oracle拥有Java。
1、5、2 什么是Java applet?
能在Web浏览器中运行的Java程序称为Java applet。
1、5、3安卓使用的是什么编程语言?
java,kotlin
1、6。
1 什么是Java语言规范?
Java语言规范(Java language pecification)是对语言的技术定义,包括Java程序设计语言的语法和语义。
1、6。
2JDK代表什么?JRE代表什么?
Java开发工具包(Java Development Toolkit),是由一套独立程序构成的集合,每个程序都是从命令行调用的,用于开发和测试java程序。
1、6。
3IDE代表什么?
集成开发环境(Integrated Development Environment)。
1、6。
4诸如NetBean和Eclipe的工具是和Java是不同的语言吗?或者它们是Java的方言或者扩充?
不是
这些是方便进行java开发的开发工具,IDE。
1、7。
1 什么是关键字?列举一些java关键字。
java本身有特殊含义的单词,不能再程序中用于其他目的。
cla, tatic, void
1、7。
2 java是大小写敏感的吗?java关键字是大写还是小写?
大小写敏感
小写
1、7。
3什么是注释?编译器会忽略注释吗?如何标识一行注释以及一段注释?
主要用于说明程序是干什么的
会忽略
、、以及、、
1、7。
4在控制台显示一个字符串的语句是什么?
Sytem。
out。
println(
1、7。
5给出以下代码的输出
public cla Tet {
public tatic void main(String[] arg) {
Sytem。
out。
println("3、5 4 、 2 - 2、5 i ");
Sytem。
out。
println(3、5 4 、 2 - 2、5);
}
}
输出:
3、5
4、2-2、5i
4、5
1、8。
1 什么是java源程序的文件扩展名,什么是java字节码文件后缀?。
java。
cla
1、8。
2 java编译器的输入和输出是什么?
源代码
字节码
1、8。
3 编译java程序的命令是什么?
javac 。
java
1、8。
4 运行java程序的命令是什么?
java
1、8。
5什么是JVM?
java虚拟机,可以解释java字节码的程序
1、8。
6 java可以运行在任何机器上吗?在一台计算机上运行java
需要什么?
可以,只要装有java虚拟机
需要java虚拟机
1、8。
7 如果运行程序的时候出现NoClaDefFoundError错误,是什
么原因导致了这个错误?
运行一个不存在的类文件
1、8。
8 如果运行程序的时候出现NoSuchMethodError错误,是什么
原因导致了这个错误?
没有main方法或者敲错了main方法
1、10。
1什么是语法错误(编译错误)、运行时错误以及逻辑错误?
当程序没有按预期的方式执行时就会产生逻辑错误(logic error)。
1、10。
2给出语法错误、运行时错误以及逻辑错误的示例。
少关键字
1除以0的场景
小数点计算中给的都是整形数字导致计算结果不正确
1、10。
3如果忘记为字符串加引号了,将产生哪类错误?
语法错误
1、10。
4如果程序需要读取整数,而用户输入了字符串,运行该程序的时候将产生什么错误?这是哪类错误?
数据类型错误。
运行时错误。
1、10。
5假设编写一个计算矩形周长的程序,但是错误地写成了计算矩形面积的程序。
这属于哪类错误?
逻辑错误。
编程练习题
分为容易(没有星号)、适中(一颗星)、难(两颗星)以及具有挑战性(三颗星)
public cla Training1_1 {
public tatic void main(String[] arg) {
Sytem。
out。
println(“Programming i fun”);
}
}
public cla Training1_2 {
public tatic void main(String[] arg) {
}
}
1、3(显示图案)编写一个程序,显示下面的图案:
JAVVA
JAAVVAA
JJAAAAAVVAAAAA
JJAAVAA
public cla Training1_3 {
public tatic void main(String[] arg) { Sytem。
out。
println(" J A V V A");
Sytem。
out。
println(" J A A V V A A"); Sytem。
out。
println(“J J AAAAA V V AAAAA”); Sytem。
out。
println(" J J A A V A A");
}
}
1、4(打印表格)编写程序,显示以下表格:
aa^2a^3
111
244
3927
41664
public cla Training1_4 {
public tatic void main(String[] arg) {
Sytem。
out。
println(“a a^2 a^3”);
Sytem。
out。
println(1 + " " + (1 1) + " " + (1 1 1));
Sytem。
out。
println(2 + " " + (2 2) + " " + (2 2 2));
Sytem。
out。
println(3 + " " + (3 3) + " " + (3 3 3));
Sytem。
out。
println(4 + " " + (4 4) + " " + (4 4 4));
}
}
1、5(计算表达式)编写程序,显示以下公式的结果。
(9。
54、5-2、53)÷(45、5-3、5)
public cla Training1_5 {
public tatic void main(String[] arg) {
Sytem。
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 cla Training1_6 {
public tatic void main(String[] arg) {
Sytem。
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 cla Training1_7 {
public tatic void main(String[] arg) {
Sytem。
out。
println(4 (1、0 - 1、0 、 3 + 1、0 、 5 - 1、0 、7 + 1、0 、 9 - 1、0 、 11));
Sytem。
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半径π
面积=半径半径π
public cla Training1_8 {
public tatic void main(String[] arg) {
Sytem。
out。
println("周长 = " + (2 5、5 3、14));
Sytem。
out。
println("面积 = " + (5、5 5、5 3、14));
}
}
周长=34、54
面积=94、985
1、9(矩形的面积和周长)编写程序,使用以下公式计算并显示宽度为4、5,高度为7。
9的矩形的面积和周长。
面积=宽高
public cla Training1_9 {
public tatic void main(String[] arg) {
Sytem。
out。
println("面积 = " + (4、5 7。
9));
Sytem。
out。
println("周长 = " + (4、5 2 + 7。
9 2));
}
}
面积=35、550000000000004
周长=24、8
1、10(以英里计的平均速度)假设一个跑步者45分钟30秒内跑了14公里。
便携仪个程序显示以每小时多少英里为单位的平均速度值。
(注意,1英里等于1、6公里)。
public cla Training1_10 {
public tatic void main(String[] arg) {
Sytem。
out。
println(“平均速度值为” + (14、0 、 1、6) 、((45、0 60 + 30) 、(60 60)) + “英里每小时”);
}
}
平均速度值为11、538461538461538英里每小时
1、11(人口估算)美国人口调查局基于以下假设进行人口估算:
每7秒有一个人诞生
每13秒有一个人死亡
每45秒有一个移民迁入
编写一个程序,显示未来5年的每年的人口数。
假设当前的人口是312032486,每年有365天。
提示:java中,两个证书相除,结果还是整
数,小树部分被去掉。
例如,5、4等于1(而不是1、25),10、4等于
2(而不是2、5)。
如果想得到有小树部分的精确结果,进行处罚运算的
两个值之一必须是一个具有小数点的数值。
例如,5、0、4等于1、25,10、4、0等于2、5。
public cla Training1_11 {
public tatic void main(String[] arg) {
Sytem。
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 cla Training1_12 {
public tatic void main(String[] arg) {
Sytem。
out。
println(“平均速度值为” + (24 1、6) (60 60) 、(60 60 + 40 60 + 35) + “公里每小时”);
}
}
平均速度值为22、906379453189732公里每小时
1、13 (代数:求解2 2线性方程)可以使用Cramer规则解下面的
2 2线性方程组:
a + by =e
c + dy = f
= (ed-bf)、(ad-bc)
y = (af-ef)、(ad-bc)
编写程序,求解以下方程组并显示和y的值。
3、4+50。
2y=4
4、5
21、+0。
55y=5、9
public cla Training1_13 {
public tatic void main(String[] arg) {
double a = 3、4;
double b = 50。
2;
double e = 44、5;
double c = 2、1;
double d = 0。
55;
double f = 5、9;
Sytem。
out。
println(" = " + (e d - b f) 、 (a d - b c));
Sytem。
out。
println("y = " + (a f - e c) 、 (a d - b c));
}
}
=2、623901496861419
y=0。
7087397392563978
第二章:基本程序设计
2、3、1
如何编写一条语句,让用户从键盘输入一个双精度值在执行下面代码的时候,如果你输入5a,将发生什么?
2、3、2
下面的两个import语句有什么性能差异吗?import java。
util。
Scanner;
import java。
util。
;
没有性能差异。
2、4、1 以下标识符哪些是合法的?哪些是Java的关键字?
mile Tet a++ a 4#R $4 app
cla public int y radiu
答:合法的: mile Tet $4 app y radiu关键字: cla public int。