慕课Java程序设计答案(北京大学)

不包含作业主观题答案
第1讲 Java语言与面向对象的程序设计 Week1 测试
1、Java的三大平台不包括
A:JavaSE
B:JavaEE
C:JavaME
D:Android
正确答案: 【Android】
2、Java出现于哪年
A:1990
B:1995
C:2000
D:2005
正确答案: 【1995】
3、Java的开发工具是
A:JavaAPI
B:JDK
C:JRE
D:JVM
正确答案: 【JDK】
4、面向对象语言的特点包括:
A:封装
B:继承
C:多态
D:难维护
正确答案: 【封装;
继承;
多态】
5、Java相关的网站包括
A:java.sun.com
B:https://www.oracle.com/technetwork/java/index.html
C:java.com
D:jcp.org
正确答案: 【java.sun.com;
https://www.oracle.com/technetwork/java/index.html;
java.com;
jcp.org】
6、Java的运行环境叫JRE
正确答案: 【正确】
7、JDK包括JRE及开发工具
正确答案: 【正确】
8、JRE包括JVM及API
正确答案: 【正确】
9、Java是跨平台的语言
正确答案: 【正确】
10、Java是一种面向对象的语言
正确答案: 【正确】
11、Java不直接使用指针
正确答案: 【正确】
12、Java的垃圾回收要由程序员自己来进行
正确答案: 【错误】
13、Java有丰富的库供我们调用
正确答案: 【正确】
14、java程序编译的结果(class文件)中包含的是实际机器的CPU指令
正确答案: 【错误】
【作业】第2讲 简单的Java程序 week2互评作业
1、编写一个应用程序,验证以下等式是成立的:提示:if分支语句、for循环语句的写法与C、C++是相似的。如果能完成上面的验证,则达到基本要求(可得到基本分数8分)。较高要求,可根据实际情况选做(可得到附加的2分):找到更多的这样的整数:一些相续正整数的立方和正好等于另一个整数的立方。提交时,可将java程序或项目压缩后上传附件。如果有什么特殊之处(如算法比较复杂)可以在写一个说明性的文件一起放到压缩文件中。
评分规则: 【 是一个完整的应用程序,能编译通过,有main
能正确计算, 有输出语句
整体功能较好,或者有附加功能(如找到更多的这样的整数:一些相续正整数的立方和正好等于另一个整数的立方)。】
第2讲 简单的Java程序 Week2 测试
1、main()的写法是public void main(String[]arg)
正确答案: 【错误】
2、public类名与文件同名
正确答案: 【正确】
3、package名与路径同名
正确答案: 【正确】
4、import表示导入
正确答案: 【正确】
5、编译程序的基本命令是javac
正确答案: 【正确】
6、运行程序时java后面跟的是文件名
正确答案: 【错误】
7、path表示前者是命令(javac及java)的路径
正确答案: 【正确】
8、path是所要引用的类的路径
正确答案: 【错误】
9、在javac及java命令行上使用-classpath (或-cp)选项可以引用别的库
正确答案: 【正确】
10、可以使用jar来打包程序
正确答案: 【正确】
11、jar文件中的清单信息文件中Main-Class表示主类
正确答案: 【正确】
12、可以使用javadoc来生成文档
正确答案: 【正确】
13、Javap 查看类信息及反汇编
A:正确

B:错误
正确答案: 【正确】
14、jar打包常用的参数是cvfm
正确答案: 【正确】
15、运行jar时,使用 java -jar 文件名.jar
正确答案: 【正确】
16、文档注释是用/* /
正确答案: 【正确】
17、@param表示对方法的说明 对方法中某参数的说明
正确答案: 【正确】
18、使用Scanner的next()方法可以得到一个实数
正确答案: 【错误】
19、用Integer.parseInt( s )可以用来解析一个整数
正确答案: 【正确】
20、用Double.parseDouble(s) 可以用来解析一个实数
正确答案: 【正确】
21、add(xxxx) 可以将按钮等对象加入到Frame中
正确答案: 【正确】
22、btn.addActionListener可以用来处理事件
正确答案: 【正确】
23、处理事件的真正函数是actionPerformed()函数
正确答案: 【正确】
第3讲 数据运算、流控制和数组 Week3 测试
1、数据类型决定数据的存储方式和运算方式
正确答案: 【正确】
2、Java中的数据类型分为两大类
正确答案: 【正确】
3、String属于引用类型
正确答案: 【正确】
4、Java中引用类型在赋值时,复制的是对象实体。
正确答案: 【错误】
5、Java中的char是一个字节。
正确答案: 【错误】
6、Java中的long是4个字节。
正确答案: 【错误】
7、3.14是float型。
正确答案: 【错误】
8、0b0001是二进制写法。
正确答案: 【正确】
9、534L表示长整数。
正确答案: 【正确】
10、Java中没有无符号数。
正确答案: 【正确】
11、Java中非零即真。
正确答案: 【错误】
12、Java是大小写敏感的语言。
正确答案: 【正确】
13、按惯例,类名首字母大写,变量名首字母小写。
正确答案: 【正确】
14、字符串连接运算符其实是用append来实现的。
正确答案: 【正确】
15、^表示乘方运算。
正确答案: 【错误】
16、15/4的结果是3.75。
正确答案: 【错误】
17、&表示短路与运算。
正确答案: 【错误】
18、>>>表示无符号右移。
正确答案: 【正确】
19、书写表达式要少用或不用括号。
正确答案: 【错误】
20、javap –c命令可以反汇编代码。
正确答案: 【正确】
21、程序的三种基本流程是顺序、分支、循环。
正确答案: 【正确】
22、Java中可以在任一表达式后面加分号构成表达式语句。
正确答案: 【错误】
23、case后面可以跟变量。
正确答案: 【错误】
24、循环语句有三种写法。
正确答案: 【正确】
25、循环一般有五个要素。
正确答案: 【正确】
26、do.while循环至少执行一次。
正确答案: 【正确】
27、break及continue后面可以跟一个语句标号。
正确答案: 【正确】
28、增强的for语句可以方便地遍历数组。
正确答案: 【正确】
29、数组都有一个属性length。
正确答案: 【正确】
30、main()的写法是public void main(int argc, String[]argv)
正确答案: 【错误】
31、声明数组时可以直接指定数组的大小。
正确答案: 【错误】
32、数组都是引用类型。
正确答案: 【正确】
33、数组元素都会隐式初始化。
正确答案: 【正确】
【作业】第3讲 数据运算、流控制和数组 week3互评作业
1、用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。要求使用数组和循环,最好使用一下增强的for语句。提示:可以使用一个boolean类型的数组,所以“将某个数i去掉”,可以表示成a[i]=false。当然也可以使用其他方法。请注意代码风格:类名、变量名的命名,以及必要注释等等;请上传压缩后的源代码文件(为防上传失败,请同时把代码贴到文本框中)。评分标准:使用了数组和循环(4分);使用增强的for语句(1分);筛法求素数的功能正确(5分)。
评分规则: 【 使用了数组和循环4 分Yes0 分No
使用增强的for语句1 分Yes0 分No
筛法求素数的功能0 分没有筛法求素数的功能2 分有筛法求素数的功能,但有bug4 分正确完成筛法求素数的功能5 分正确完成筛法求素数的功能,且有优化,或者有一定的界面】
第4讲 类、包和接口 Week4 测试
1、类(class)是组成Java程序的基本要素。
正确答案: 【正确】
2、类将变量与函数封装到一个类中。
正确答案: 【正确】
3、方法(method)是类的功能,是用函数来表示的。
正确答案: 【正确】
4、构造方法(constructor )与类名同名。
正确答案: 【正确】
5、如果没有定义任何构造方法,系统会自动产生一个构造方法。
正确答案: 【正确】
6、new表示新建并初始化一个对象。
正确答案: 【正确】
7、方法重载(overloading)是指多个方法有相同的名字。
正确答案: 【正确】
8、方法重载是多态(polymorphism)的一种方式。
正确答案: 【正确】
9、一个类只能有一个直接父类。
正确答案: 【正确】
10、继承可以实现代码重用,提高开发效率和可维护性。
正确答案: 【正确】
11、Java中的继承是通过extends关键字来实现的。
正确答案: 【正确】
12、如果没有extends子句,则该类默认为java.lang.Object的子类。
正确答案: 【正确】
13、所有的类都是通过直接或间接地继承java.lang.Object得到的。
正确答案: 【正确】
14、继承关系在UML图中,是用一个箭头来表示子类与父类的关系的。
正确答案: 【正确】
15、父类的非私有方法可以被子类自动继承。
正确答案: 【正确】
16、子类也可以重新定义与父类同名的方法,实现对父类方法的覆盖(Override)。
正确答案: 【正确】
17、使用super访问父类的域和方法。
正确答案: 【正确】
18、在覆盖父类的方法的同时,使用super可以利用已定义好的父类的方法。
正确答案: 【正确】
19、子类在构造方法中,可以用super来调用父类的构造方法。
正确答案: 【正确】
20、在构造方法中,使用super()时,必须放在第一句。
正确答案: 【正确】
21、子类对象可以被视为其父类的一个对象。
正确答案: 【正确】
22、如果一个方法的形式参数定义的是父类对象,那么调用这个方法时,可以使用子类对象作为实际参数。
正确答案: 【正确】
23、包及子包的定义,实际上是为了解决名字空间、名字冲突。
正确答案: 【正确】
24、同一包中的各个类,默认情况下可互相访问。
正确答案: 【正确】
25、Java编译器自动导入包java.lang.*。
正确答案: 【正确】
26、类的访问控制符或者为public,或者默认。
正确答案: 【正确】
27、将字段用private修饰,从而更好地将信息进行封装和隐藏。
正确答案: 【正确】
28、使用setter及getter是一种好的编程习惯。
正确答案: 【正确】
29、static表示静态的、非实例的、类的。
正确答案: 【正确】
30、static变量可以表示全局变量。
正确答案: 【正确】
31、如果一个类被abstract所修饰,说明这个类不能被实例化。
正确答案: 【正确】
32、final所修饰的方法,是不能被子类所覆盖的方法。
正确答案: 【正确】
33、final所修饰的变量,是只读量。
正确答案: 【正确】
34、一个字段被static final两个修饰符所限定时,它可以表示常量。
正确答案: 【正确】
35、在定义final局部变量时,也必须且只能赋值一次。
正确答案: 【正确】
36、抽象方法在子类中必须被实现,否则子类仍然是abstract的。
正确答案: 【正确】
37、一旦某个类中包含了abstract方法,则这个类必须声明为abstract类。
正确答案: 【正确】
38、在类的声明中用implements子句来表示一个类使用某个接口。
正确答案: 【正确】
39、接口类型是引用类型。
正确答案: 【正确】
40、在接口中定义的常量具有public, static, final的属性。
正确答案: 【正确】
41、一个文件中最多只能有一个package语句。
正确答案: 【正确】
42、在接口中定义的方法具有public, abstract的特点(Java8以前)。
正确答案: 【正确】
43、Java8中,在接口中可以有static的方法,也可以有方法体的方法。
正确答案: 【正确】
44、enum表示枚举。
正确答案: 【正确】
45、一个类只能实现一个接口。
正确答案: 【错误】
46、abstract类必须包含abstract方法。
正确答案: 【错误】
47、接口不能有父接口。
正确答案: 【错误】
48、java中的enum是整数。
正确答案: 【错误】
49、final abstract可以同时修饰一个方法。
正确答案: 【错误】
50、一个文件中最多只能有一个class定义。
正确答案: 【错误】
51、构造方法是可以继承的。
正确答案: 【错误】
52、this和super是两个不同的对象。
正确答案: 【错误】
53、子类不能Overload与父类同名的方法。
正确答案: 【错误】
54、字段(field)是类的属性,是用函数来表示的。
正确答案: 【错误】
55、构造方法(constructor )的返回类型是void。
正确答案: 【错误】
56、作何一个类,系统都会自动产生一个不带参数的构造方法。
正确答案: 【错误】
57、方法签名(signature)包括参数的类型及参数的名字。
正确答案: 【错误】
58、private可以修饰类的成员(字段、方法)。
正确答案: 【正确】
59、protected修饰的成员,不能在包中访问,只能在子类中访问。
正确答案: 【错误】
60、如果省略访问控制符,则表示private。
正确答案: 【错误】
61、static函数中可以使用this。
正确答案: 【错误】
62、static函数可以直接使用类名来访问,不能用对象实例来访问。
正确答案: 【错误】
63、import static可以导入任何一个类。
正确答案: 【错误】
64、如果一个类被final所修饰,说明这个类不能被实例化。
正确答案: 【错误】
65、如果一个类被abstract所修饰,说明这个类没有构造方法。
正确答案: 【错误】
【作业】第4讲 类、包和接口 Week4 互评作业
1、编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);动物世界:来一次吃西瓜大赛;图书馆:模拟一天的借阅过程;学校:模拟选课过程;等等要求写个简要说明。
评分规则: 【 定义类:没有类 0有类、无继承 2有类的定义、有继承关系 3
接口的定义:没有接口定义 0有接口,但没有实现接口 1有接口,且有实现 3
使用类与接口:没有使用所定义的类与接口 0使用类与接口 1程序总的评价较好,有界面或有创意 2
简要说明:无简要说明 0有简要说明 2】
第5讲 深入理解Java语言 Week5 测试
1、局部变量是方法中定义的变量或方法的参变量。
正确答案: 【正确】
2、局部变量存在于栈中。
正确答案: 【正确】
3、当方法调用结束,方法中的局部变量就结束其生命了。
正确答案: 【正确】
4、字段变量可以自动赋初值。
正确答案: 【正确】
5、main函数也可以写为public static void main( String…argv){}。
正确答案: 【正确】
6、不定长参数实际上可以理解为数组。
正确答案: 【正确】
7、javap –c 命令可以反汇编Java类中的指令。
正确答案: 【正确】
8、多态是指一个程序中相同的名字表示不同的含义的情况。
正确答案: 【正确】
9、overload是多态的一种。
正确答案: 【正确】
10、override及虚方法调用是多态的一种。
正确答案: 【正确】
11、虚方法调用是由对象实例的类型来动态决定的。
正确答案: 【正确】
12、虚方法调用可以理解为方法的动态绑定。
正确答案: 【正确】
13、static,private,final方法不是虚方法。
正确答案: 【正确】
14、static方法调用是由所声明的变量类型所决定,与实例无关。
正确答案: 【正确】
15、在构造方法中,如果没有this及super,则编译器自动加上super()。
正确答案: 【正确】
16、在构造方法在执行时,令所有父类的构造方法都得到调用。
正确答案: 【正确】
17、在构造方法在执行时,一定会调用Object的构造方法。
正确答案: 【正确】
18、创建对象时,可以用{{}}这样的语法来对字段进行赋值。
正确答案: 【正确】
19、实例初始化,先于构造方法{}中的语句执行。
正确答案: 【正确】
20、静态初始化,在第一次使用这个类时要执行。
正确答案: 【正确】
21、Java中自动进行垃圾回收。
正确答案: 【正确】
22、系统在回收时会自动调用对象的finalize() 方法。
正确答案: 【正确】
23、由于finalize()方法的调用时机并不确定,所以一般不用finalize()。
正确答案: 【正确】
24、try-with-resources语句可以自动执行close()方法。
正确答案: 【正确】
25、内部类中访问外部类的字段可以用“外部类名.this.字段”的方式。
正确答案: 【正确】
26、局部类及匿名类可以访问final局部变量。
正确答案: 【正确】
27、匿名类不取名字,直接用其父类或接口的名字。
正确答案: 【正确】
28、匿名类在定义时就创建了一个实例。
正确答案: 【正确】
29、在用new创建内部类实例时,要在 new前面冠以对象变量。
正确答案: 【正确】
30、匿名类使用父类的构造方法。
正确答案: 【正确】
31、用到界面的事件处理中可以使用匿名类。
正确答案: 【正确】
32、匿名类经常用于做方法的参数。
正确答案: 【正确】
33、多态是在编译时就能确定的。
正确答案: 【错误】
34、字段是方法中定义的变量或方法的参变量。
正确答案: 【错误】
35、局部变量可以自动赋初值。
正确答案: 【错误】
36、对于引用型变量,传递的值复制对象实体。
正确答案: 【错误】
37、静态初始化,在每次创建对象实例时都会执行一次。
正确答案: 【错误】
38、实例初始化,先于静态初始化执行。
正确答案: 【错误】
39、抽象类不能有构造方法。
正确答案: 【错误】
40、编译器会为所有的类加一个default构造方法,即使用户已定义了构造方法。
正确答案: 【错误】
41、虚方法调用是指编译时就决定了调用哪个类中的哪个方法。
正确答案: 【错误】
42、Java中的方法默认不是虚方法,需要用特殊的关键字才能表明是虚方法。
正确答案: 【错误】
43、Java中使用delete来清除创建的对象。
正确答案: 【错误】
44、System.gc()方法强制立即执行垃圾回收。
正确答案: 【错误】
45、内部类中不能访问外部类的private字段及方法。
正确答案: 【错误】
46、匿名类可以定义构造方法。
正确答案: 【错误】
【作业】第5讲 深入理解Java语言 Week5 互评作业
1、附件是一个模拟事件消息订阅的程序,请阅读并修改。主要是加上一个自已的订阅者,并且该订阅者要用匿名类来实现。(基本要求占8分)如果可以,也加上用Lambda来实现的订阅者。(较高要求,占2分)。
评分规则: 【 加上一个自已的订阅者
有匿名类
有Lambda表达式 或 其他改进】
【作业】第6讲 异常处理 Week6 互评作业
1、Java的异常是比较独特的,它是程序安全稳定的重要措施。本次作业要求自定义异常并使用异常。(1)自定义一个异常类,注意其继承自系统的异常类,并要求有构造方法;(2)使用自定义的异常:要求在一个函数中抛出异常,在另一段程序中调用这个函数并捕获异常。评分标准:自定义异常类,继承自系统的异常(2分);异常类有构造方法(2分);异常类的构造方法中有一个链接内部异常(1分);有抛出异常(1分);在抛出异常的方法中有声明throws异常(1分);有异常捕获和处理(2分);整体程序比较合理(1分)。
评分规则: 【 自定义异常类,继承自系统的异常
异常类有构造方法
异常类的构造方法中有一个链接内部异常
有抛出异常
在抛出异常的方法中有声明throws异常
有异常捕获和处理
整体程序比较合理】
第6讲 异常处理 Week6 测试
1、抛出异常,使用关键字throw。
正确答案: 【正确】
2、捕获异常,使用关键字catch。
正确答案: 【正确】
3、Error是Throwable的子类。
正确答案: 【正确】
4、getCause()可以得到异常的内部原因。
正确答案: 【正确】
5、RuntimeException及其子类,可以不明确处理。
正确答案: 【正确】
6、非RuntimeException及其子类,必须明确处理。
正确答案: 【正确】
7、try-with-resource语句中自动加了close()方法的调用。
正确答案: 【正确】
8、用户自定义异常类继承自Exception类或某个子Exception类。
正确答案: 【正确】
9、assert表示断言。
正确答案: 【正确】
10、assert后面可以跟一个boolean类型的表达式。
正确答案: 【正确】
11、要使assert起作用,则在运行时,使用选项(-ea,或-enableassertions)。
正确答案: 【正确】
12、单元测试是保证代码质量的一种手段。
正确答案: 【正确】
13、现在很多Java集成开发工具都提供了对JUnit的支持。
正确答案: 【正确】
14、@Test来标注测试函数。
正确答案: 【正确】
15、assertEqauls表示程序要保证两个参数要相等。
正确答案: 【正确】
16、程序中的错误通常可以分成三大类:语法错、运行错、逻辑错。
正确答案: 【正确】
17、语法错可以由编译器发现。
正确答案: 【正确】
18、运行时错可以由try-catch方式进行处理。
正确答案: 【正确】
19、程序的调试包括断点、跟踪、监视等手段。
正确答案: 【正确】
20、catch多个异常时,子类异常要排在父类异常的后面。
正确答案: 【错误】
21、finally语句是指没有异常出现时要执行的语句。
正确答案: 【错误】
22、如果有return语句,finally语句应不会执行。
正确答案: 【错误】
23、逻辑错可以由编译器发现。
正确答案: 【错误】
24、try-with-resource语句中的close()方法只有当异常发生时才会调用。
正确答案: 【错误】
25、若父类中的方法声明了throws异常,则子类Override时一定也要throws异常。
正确答案: 【错误】
26、若父类中的方法声明了throws异常,则子类Override时可以throws更一般的异常。
正确答案: 【错误】
27、在方法的签名后面用关键字throw来声明该方法会抛出异常。
正确答案: 【错误】
28、Exception是Throwable的父类。
正确答案: 【错误】
第7讲 工具类及常用算法 Week7 测试

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

常见问题解答 购买说明 联系客服如支付后未显示,可刷新一下页面!
生活小技巧 » 慕课Java程序设计答案(北京大学)

生活小技巧

请输入手机号或商家订单号