0.0886

五煦查题

快速找到你需要的那道考题与答案

moocJAVA语言程序设计_2期末答案(mooc完整答案)

55 min read

moocJAVA语言程序设计_2期末答案(mooc完整答案)

【 第1章 Java 基础程序设计 】 1.1 Java开发环境介绍

1.1.2 进制与编码随堂测验

1、程序1.2 把15表示为2进制

2、设计1.3 写出数字-5的期末补码

3、1.4 列出6-2,答案答案使用补码的完整计算过程

4、1.5 证明 1111 1111(补码)等于-1.

【 第1章 Java 基础程序设计 】 1.2 Java基本语法

1.2.1 基本Java程序随堂测验

1、程序Java语言特性有哪些?
A、设计跨平台性
B、期末安全性
C、答案答案健壮性
D、完整面向对象

1.2.2 Java程序的程序三种变体随堂测验

1、32位整数,设计最大可以表示的期末值:

1.2.2 Java程序的三种变体随堂测验

1、数字12(十进制)可以表示为?
A、答案答案0x0c
B、完整BCD:0x12
C、二进制 1100
D、014

2、二进制没有2,八进制没有8

3、对于5位的二进制,-7的补码表示是多少?

4、16进制,使用了哪些字符?

5、负数在计算机中如何表示?

1.2.4 错误报告与Java文档随堂测验

1、关于环境变量,正确的是?
A、环境变量是给Java用的
B、环境变量必须加在系统变量里面
C、环境变量都是文件路径
D、以上说法都是错误的

2、查看环境变量的值,正确的是:
A、在Windows上,使用echo %环境变量名%
B、在Windows上,使用echo $环境变量名
C、在Linux上使用echo $环境变量名
D、C++程序不需要环境变量,只有Java才需要获取环境变量的值。

3、环境变量就是JAVA_HOME,是给Java使用的。

单元测验 1

1、描述:如果怎么样,就怎么样。使用哪个?
A、if...else...
B、if...
C、if...else if...
D、do...while...

2、关于JDK和JRE的说法,错误的是?
A、JDK是Java开发工具包,开发Java程序必须要安装。
B、JRE是Java的运行环境,如果电脑上没有安装会导致Java程序无法正常运行。
C、在Java下载网站,下载JRE或JDK都可以。
D、JRE包含很多Java程序运行时候需要的关键程序和Jar包。

3、对于8bit数字运算,以下描述正确的是:
A、2个正整数相加的结果,可能会是负数!
B、整数相加的和,不可能是负数!
C、负数和负数相加,肯定是负数!
D、负数和正数相加,肯定还是负数!

4、对于8bit的数字,使用16进制补码表示是0xee,请问它的字面值是:
A、-125
B、-126
C、-12
D、-18

5、假设:横线是1、点是0,那么1对于的莫尔斯编码是多少?
A、0001,值是1
B、1000,值是8
C、01111,值是15
D、01,值是1

6、-1的编码可以是:
A、使用反码表示的话,可能是1001
B、使用补码表示的话,可能是1111
C、使用反码表示的话,可能是1000 0001
D、使用补码表示的话,可能是1111 1111

7、在做运算的时候,-1是1111 1111,且-2是1111 1110,说法正确的是:
A、这是在做byte类型(8bit有符号类型)的运算。
B、-1和-2相加会溢出,导致结果是整数!
C、如果是无符号整数,-1对应的二进制将是最大的整数!
D、有符号类型,负数比整数多一个!

8、BCD编码,有8421、5421、2421等编码方式,对于数字6不同表达的方式,值是?
A、采用2421的话,6的编码是0010
B、采用5421的话,6的编码是1001
C、采用8421的话,6的编码是0110
D、采用2421的话,6的编码是1001

9、关于进制,说法有误的是?
A、一打鸡蛋12个,采用的是12进制,那么13个鸡蛋采用12进制表示就是12.
B、一周有7天,采用的是7进制,周日的值是7.
C、一位8进制数字,要使用8bit二进制才能表示。
D、一位无符号16进制数字,最大值是0xF。

10、计算机有很多编程语言,他们的区别有?
A、不同编程语言一般语法不同,所以编译环境一般也不同。
B、有些编程语言是解释执行的,譬如脚本语言(Python、Perl)。
C、Java语言虽然要编译,但生成的是字节码,并不能直接执行,需要在JVM上运行。
D、Scratch编程是一种积木式编程语言。

11、计算过程中数字是使用补码表示的,对于有符号1个字节的(8位)byte类型来说最大的整数是1111 1111。

12、Java编程语言是运行在JVM(虚拟机)上的,所以想要执行Java没有JVN运行环境是不行的。

13、环境变量PATH设置之后,之前已打开的cmd命令行,也会立即生效。

14、常用汉字有3500个,并且兼容ASCII码,要多少字节最好?

15、1个字节的时候(byte),-1的补码是1111 1111,令byte a=-1。现在把它赋值给2个字节的short b=a,现在b在计算机中的二进制是多少?(注意中间的空格。)

单元测试 2

1、查重8位二进制-1是1111 1111(补),赋值给32位整数之后是
A、0x0000 00FF
B、0xFF00 0000
C、0xFFFF FFFF
D、都错

2、下面介绍Java语言特性正确的是
A、跨平台性
B、多面性
C、单一性
D、面向过程

3、数字12(十进制)可以表示为
A、0x0C
B、0x12
C、二进制1100
D、014

4、0的反码是
A、0000 0000
B、1111 1111
C、000 0000
D、都错

5、数字-5的补码是1111 1011

6、111 1111(补码)等于 -1

7、对于16进制ab换算成10进制是

单元作业 1

1、写一篇关于补码在计算机中应用的小文章,字数不能少于300.

【 第1章 Java 基础程序设计 】 1.3 数据类型

1.3.1 数据类型及其使用随堂测验

1、表达循环可以是:
A、
B、
C、
D、

2、Scratch是一种积木式编程语言,无需记忆复杂代码。

3、Scratch方便全球分享与重写。

4、Scratch 是一种可视化编程语言。

单元测验 3

1、下图表达的是哪个逻辑?
A、do...while....
B、while...
C、if...
D、if...else...

2、条件语句可以嵌套,但层次越少越好。下述代码: if (n != 0) { if (n>0) { n = n*2; } else { n = n*2+1; } }
A、可以简化成:if (n>0) { n = n*2; } else { n = n*2+1; }
B、可以简化成:if (n>0) { n = n*2; } else if (n != 0){ n = n*2+1; }
C、可以简化成:if (n>0) { n = n*2; } else { n = n*2+1; }
D、可以简化成:if (n>0) { n = n*2; } else if (n == 0){ n = n*2+1; }

3、以下scrach描述的是:
A、条件不成立的时候一直执行。
B、条件成立的时候一直执行,直到不成立!
C、条件不成立的时候,不会执行。
D、都不正确。

4、以下哪个代码或流程图,不可以求解1+3+5+...+99.
A、int i = 1; int sum = 0; while (i <= 99) { sum = sum + i; i = i + 2; }
B、int i = 1; int sum = 0; while (i < 100) { sum = sum + i; i = i + 2; }
C、int sum = 0; int i = 0; do { sum = sum+i; i = i + 2; } while (i < 100);
D、int sum = 0; for (int i = 1; i < 100; i=i+2) { sum = sum+i; }

5、对于分支语句,描述错误的是?
A、如果只需要else,那就把if语句内容取反,把else去掉就可以了。
B、如果switch语句,没有匹配的case,就会执行default中的代码。
C、switch语句中的break不可缺少,如果switch在循环里面,也可以使用continue取代。
D、下图描述的是if...else if...

6、语句if...else...可以省略else,只关注条件成立需要执行的操作。

7、do...while...可以保证至少会执行1次。

8、for和while语句可以相互转化,其中for经常用于遍历。

9、switch语句,一定可以转换成if...else if...else if...else...语句。

10、以下代码,条件写的有问题: if (n != 0 && n > 0 ) { n = 1; }

11、int i = 0; for (i=0; i<10;i++) { i += 2; }以上代码执行后,i=( )

12、 上述图形的意思是?

13、根据不同的值执行不同的代码,使用( )语句。

14、以下代码的sum值是( )int sum = 0; for (int i = 0; i < 5; i++) { switch(i%3) { case 0: sum = sum+i;break; case 1: sum = sum+i+1;continue; case 2: sum = sum+i+2;break; }

15、以下代码sum的值是( )int sum = 0; int i = 4; switch(i%3) { case 0: sum = sum+i;break; case 1: sum = sum+i+1; case 2: sum = sum+i+2;break; }

单元测试 4

1、a表示“处理框”,b表示“输入、输出框”,c表示“起、止框”,d表示“判断框”,以下四个图形依次为( )。
A、abcd
B、dcab
C、bacd
D、cbad

2、循环语句 ( )是正确的
A、if(i<10;i++)
B、for(i=0;i<10)
C、for i=1 to 10
D、for(i=0;i<=10;i++)

3、表达式(11+3*8)/4%3
A、31
B、0
C、1
D、2

4、下面代码不是程序结果的是 for(int i =0;;){ System.out.pritnln(i) }
A、没有结果
B、0
C、1
D、2

5、switch语句,break语句使不使用都一样

6、if语句可以实现switch语句所有的功能

7、if语句后面可以N个else

8、一个算法的流程图如下图所示,该流程图的功能是

9、一个算法的流程如下,功能是 c = a; a = b; b = c;

10、退出循环,使用

【 第1章 Java 基础程序设计 】1.6 函数

1. 函数的意义随堂测验

1、函数可以没有返回值

2、函数的参数可以有0到多个

3、入口函数往往是确定的,不然就不知道从何启动程序了,它就是main函数。

4、在Java语言中,每个class文件都可以定义一个main函数。

2. 编程语句总结随堂测验

1、实际上,可以把所有代码放在一行里面。

2、do....while语句至少会执行一次其中的代码。

3、for(a;b;c){ ...}其中,a和c是可以省略的。

3. lambda表达式随堂测验

1、关于lamabda表达式错误的是:
A、lambda表达式内,可以修改局部变量: int n = 2; IntFunction<Integer> sqrt = m->n++;
B、lambda表达式内,可以修改static类型的变量。
C、lambda表达式IntFunction<int> func = n*2; 没有错误。
D、lambda表达式,不可以使用return语句。

2、以下代码存在的错误是: BiFunction<Integer, Integer, Integer> add = (x,y)->Math.addExact(x, y); int sum = add(1, 2)
A、add只需要2个参数,定义的不对。
B、x和y没定义类型
C、add不能直接调用,应该是add.apply(1,2);
D、定义add的时候,缺少return。

5. 函数的递归和重入随堂测验

1、对于f(n) = f(n-1)+f(n-2), f(0)=0,f(1)=1,其中n>=2。说法正确的有:
A、使用递归都有一个终止条件,它是n<2的时候,直接返回相应的值就可以了。
B、使用递推可以减少运算量。
C、递归在f(n-1)和f(n-2)存在重复计算,所以浪费了一些效率。
D、对于f(80)的,使用递归无法计算出结果,但是递推可以!

2、递推相比递归会占用更多的栈内存。

3、递推是指从初始条件逐步计算出结果。

第四章单元测验

1、关于方法void fjv(intx ,int y) { }, 下面不能称为它的重载的是?
A、void fjv(int x,float y){ }
B、void fjv(int x){ }
C、void fjv(float x,int y){ }
D、int fjv(int y,int x){ }

2、函数的签名包括什么?
A、函数名和参数列表
B、参数列表
C、函数名
D、返回值类型,函数名,参数列表

3、函数调用时,函数的形参和局部变量存储在内存的什么区域?
A、堆
B、栈
C、数组
D、硬盘

4、调用函数时,实参的值传给形参,这种行为叫什么?
A、pass by name
B、pass by reference
C、pass by value
D、方法调用

5、下面代码执行完成后,k的值是多少? static void nPrint(String msg, int n){ while(n>0) { System.out.print(message); n--; } } public static void main(String[] args){ { int k = 3; nPrint("A message", k); } System.out.println(k); }
A、3
B、0
C、1
D、代码存在编译错误

6、函数要么不返回值,要么一次只能返回一个值!

7、函数可以自己调用自己,也称为迭代,但需要一个结束条件!

8、Java不支持为参数默认值,但可以重载函数。

9、return语句一定要写在函数的最后面!

10、一个.java文件,有且只有一个主函数!

11、编写函数,返回两个整数之和。

12、编写函数,判断是否是闰年。

13、编写函数,利用递归的思想计算n!

14、编写函数,输出0~100之间的所有素数。

15、编写函数,判读一个三位数是不是水仙花数。

第四章测试

1、下列说法正确的有()
A、A. class中的constructor不可省略
B、B. constructor必须与class同名,但方法不能与class同名
C、C. constructor在一个对象被new时执行
D、D.一个class只能定义一个constructor

2、如何退出函数?

3、程序执行的过程,就像f(g(h(x)))嵌套函数,谈一谈你的理解?

4、函数可以分为哪几种?

5、编写函数,返回两个整数之和。

6、定义三个重载方法max(),第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值, 第三个方法求三个double值中的最大值

7、编写函数,计算闰年

8、查一查什么是函数式编程?

9、函数递归 f(x) = f(x-1) + f(x-2). (x >=2, x为自然数),编写函数打印100以内结果

10、函数递推f(x) = f(x-1) + f(x-2). (x >=2, x为自然数),编写函数打印100以内结果 10、 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。在第n年的时候,共有多少头母牛?

11、有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。在第n年的时候,共有多少头母牛?

12、编写函数,判断一个数是不是素数。

【第2章 面向对象编程】2.2类的定义2

类的定义单元测验

1、类体内容中声明成员变量是为了体现对象的属性还是行为?
A、什么都不是
B、行为
C、属性
D、都可以

2、请问以下哪些是类Example的有效构造函数?
A、public Example(){ }
B、public void Example(){ }
C、public static Example(){ }
D、public example(){ }

3、假设有Rectangle类,它有无参构造函数,下面Java语句,描述正确的是? (1) Rectangle r1; (2) r1 = new Rectangle();
A、第二行创建的是Rectangle类的对象
B、第二行为r1分配内存空间
C、第一行创建的是Rectangle类的对象
D、第一行的声明不会为变量r1分配内存空间

4、已知A 类被打包在packageA 中 , B 类被打包在packageB 中,且B 类被声明为public,有一个成员变量x 被声明为缺省访问修饰符。C 类也位于packageB 包中。则以下说法错误的是()
A、C类中可以访问B类
B、A类中可以访问B类的成员变量x
C、A类中可以访问B类
D、C类中可以访问B类的成员变量x

5、下列关于构造函数的说法正确的是?
A、构造函数可以有返回值
B、构造函数必须初始化类的所有成员变量。
C、所有类中都必须由程序员明确定义一个构造函数。
D、构造函数可以访问类的非静态成员

6、在B.java 文件中有如下代码,编译该程序会得到哪些文件? class A1{ } class A2{ } public class B{ public static void main(String args[]){ } }
A、有A1.class、A2.class 和B.class 文件
B、只有A1.class和A2.class文件
C、编译不成功
D、只有B.class文件

7、在Java中,下面关于包的陈述中正确的是()。
A、不能将多个源文件中的类放在同一个包中。
B、包的声明必须是源文件中的第一句代码。
C、只有公共类才能放在包中。
D、包的声明必须紧跟在import语句的后面。

8、下列关于类的说法中,错误的是( )。
A、一个类中最多只能定义一个构造函数。
B、类是Java语言中一种复合的数据类型。
C、类中包含了成员变量、构造函数和一般的函数。
D、类是一种引用类型的数据类型。

9、在Java中,下面关于变量的描述错误的是( )
A、局部变量只在定义它的方法内有效。
B、在方法里面定义的局部变量在方法退出的时候被撤销。
C、成员变量的声明周期从对象被创建时开始到程序结束。
D、在方法中定义的形式参数不能和成员变量同名。

10、下面代码运行后输出结果是()。 public class Test{ public static void main(String[] args){ A obj = new A(); System.out.println(obj.i); } } class A{ int i = 6; public A(){ this(10); } public A(int j){ i = j; } }
A、10
B、程序编译错误
C、0
D、6

Java期末考试

单项选择题

1、Java语言具有以下哪些特点?
A、面向对象
B、分布式
C、多线程
D、以上都是

2、下列说法中哪一项是错误的?
A、安装 JDK 后,必须正确配置系统环境变量才能运行
B、Eclipse 是一种常见的集成开发工具
C、Java提供了大量的类库帮助程序员完成开发
D、Java是一种汇编语言

3、Java源文件的后缀名是什么?
A、.class
B、.java
C、.jar
D、.js

4、下列哪种不是流程图的结构?
A、顺序结构
B、循环结构
C、总线结构
D、选择结构

5、Java代码编译时发生错误,由谁来报告?
A、程序员
B、解释器
C、编译器
D、JRE

6、下列关于变量的赋值,正确的是哪一项?
A、byte b = 1.0;
B、boolean flag = 1;
C、boolean flag = 10>9;
D、float f = 1.0;

7、以下哪项不是合法标识符?
A、xxxxx0X
B、string
C、void
D、$100

8、身份证信息中,身份证号适用于什么数据类型?
A、整型
B、长整型
C、浮点型
D、字符串型

9、下面哪项不属于双目运算符?
A、%
B、+
C、++
D、/

10、表达式(11+3*8)/4%3的值是多少?
A、31
B、0
C、1
D、2

11、关于自动类型转换说法,下列哪一项是正确的?
A、String 和其他基本数据类型相加一定是字符串型
B、char 和 int 类型相加结果一定是字符
C、double 型可以自动转换成 int 型
D、char+int+double+“” 结果是 double 型

12、下列哪一项能够对数组正确初始化?
A、int [] a;
B、a={ 1,2,3};
C、int [] a=new int[5]{ 1,3,5,7,9,0};
D、int a[]=new int[5];

13、关于数组,下列哪个说法是错误的?
A、数组本身是一个对象
B、数组里的元素可以是复合数据类型
C、数组可以在内存空间连续存储任意个数据
D、数组必须先声明才可以使用

14、一个长度为10的数组 a,它的第三个元素是什么?
A、a[3]
B、a(3)
C、a[2]
D、a[1]

15、当数组下标越界时,会发生什么?
A、系统崩溃
B、直接越过
C、抛出异常
D、中止程序

16、下列关于函数的说法中哪一项是错误的?
A、Java中的函数参数传递分为值传递和引用传递
B、函数被 private 修饰的话,该函数不能被其子类直接访问
C、构造函数可以重载
D、函数一定有返回值,函数的类型是返回值的类型

17、在同一个类中,存在两个或两个以上的函数同名的情况,这种情况称作函数的()。
A、封装
B、继承
C、覆盖
D、重载

18、关于方法void fjv(int x,int y){ },下面哪个方法不能成为它的重载?
A、void fjv(int x,float y){ }
B、void fjv(int x){ }
C、void fjv(float x,int y){ }
D、void fvj(double a, double b){ }

19、方法定义中void关键字的含义是什么?
A、方法体为空
B、方法没有形参
C、定义的方法没有返回值
D、方法的返回值不能参加算术运算

20、下列关于函数的定义中哪一项是错误的?
A、double sum(int a, int b){ return a+b};
B、int sum(int a, double b) { return a+b};
C、void sum( ){ };
D、abstract void sum( );

21、Java中定义接口使用什么关键字?
A、class
B、interface
C、extends
D、implements

22、Java中说明类实现接口使用什么关键字?
A、class
B、interface
C、extends
D、implements

23、下面关于构造方法的说法中哪一项是正确的?
A、构造方法的名称可以自行定义。
B、构造方法不能重载。
C、所有类都必须定义一个构造方法。
D、构造方法的作用是初始化类中的数据成员。

24、接口中方法的可访问性是什么?
A、public
B、private
C、protected
D、缺省(包内可见)

25、方法重载时方法的名称相同,但方法的参数不同。其中参数不同不体现在下面哪一个方面?
A、参数的个数不同
B、参数的名称不同
C、参数的类型不同
D、参数的顺序不同

26、设有People和Student两个类,其中People是父类,Student是子类,假设这两个类都有无参的构造方法。有下面两个语句: 语句1:People p1 = new Student(); 语句2:Student s1 = new People(); 下面哪一个选项是正确的?
A、语句1和2 都正确
B、语句1和2都错误
C、语句1正确而语句2错误
D、语句2正确而语句1错误

27、下面关于继承的说法中,哪一项是不正确的?
A、Java中的类支持单继承。
B、Java中的接口支持多继承。
C、继承中父类代表特殊性 子类代表一般性。
D、Java中所有的类都继承自Object类。

28、下面代码运行结果正确的是哪一项? public class CA{ public CA(){ System.out.println(“In CA ”); } } public class CB extends CA{ public CB(){ System.out.println(“In CB”); } public static void main(String[] args){ CB obj = new CB(); } }
A、In CA
B、In CB
C、In CA In CB
D、In CB In CA

29、类体中定义的非构造方法是为了体现对象的属性还是行为?
A、属性
B、行为
C、两者都是
D、两者都不是

30、下面代码运行后结果是什么?
A、打印Success
B、打印The end
C、程序进入死循环无法结束
D、编译错误

31、下面叙述中哪一项是正确的?
A、Java中一个类只能实现一个接口。
B、Java中一个类可以同时继承类并实现接口。
C、Java中一个类可以继承多个类。
D、Java类头部中继承父类和实现接口的顺序可以任意。

32、设有Rectangle类,它有无参的构造方法,有下面两行语句: 语句1:Rectangle r1; 语句2: r1 = new Rectangle(); 下面说法正确的是哪一项?
A、语句1中不会为变量r1分配内存空间
B、语句1中创建的是Rectangle类的对象
C、语句2中创建的是Rectangle类的对象
D、语句2中为r1分配内存空间

33、下面哪个是抽象方法的正确表示?
A、abstract void getArea();
B、abstract void getArea (){ }
C、static abstract void getArea(){ }
D、final abstract void getArea();

34、设有抽象类GeometricObject,它有无参的构造方法,有下面两行语句: 语句1:GeometricObject g1; 语句2:new GeometricObject (); 下面哪一项说法是正确的?
A、语句1和2 都正确
B、语句1和2都错误
C、语句1正确而语句2错误
D、语句2正确而语句1错误

35、下面哪个程序体现了对象之间是is-a的关系?
A、
B、
C、
D、

36、下面代码的输出结果是什么?
A、S1
B、S2
C、null
D、S1 S2

37、下面代码的输出结果是什么? public class Example{ public static int num = 0; public Example(){ num++; } public static void main(String[] args){ Example e1 = new Example(); Example e2 = new Example(); System.out.println(num); } }
A、0
B、1
C、2
D、3

38、如果一个类的成员变量只能被同一个包中的类访问,应使用的修饰符是什么?
A、public
B、private
C、protected
D、缺省不写

39、如果要定义一个常量,下面哪个关键字是必不可少的?
A、final
B、static
C、public
D、private

40、“隐藏对象的属性和实现细节,仅对外提供公有的方法”,描述的是面向对象的哪个特征?
A、封装
B、继承
C、多态
D、以上都不是

41、在Java中可以通过实现runnable接口的方式创建一个线程,请问还可以通过下列哪种方式实现一个线程?
A、继承Thread类
B、重写run方法
C、覆盖start方法
D、定义新的构造方法

42、下列状态中哪一个状态可以通过操作系统的时间片方法的调度,完成在运行状态间的转换?
A、可运行状态
B、等待状态
C、阻塞状态
D、初始状态

43、以下哪些是Runnable接口中定义的方法?
A、start()
B、run()
C、stop()
D、yield()

44、Java的一个异常处理中,哪个语句块可以有多个?
A、catch
B、finally
C、try
D、throws

45、在异常处理中,如释放资源、关闭文件、关闭数据库等功能由下面哪一个语句完成?
A、try
B、catch
C、finally
D、throw

46、下列常见的系统定义的异常中,哪个是输入、输出异常?
A、ClassNotFoundException
B、IOException
C、FileNotFoundException
D、UnknowHostException

47、当方法遇到异常又不知如何处理时,下面哪种说法是正确的?
A、捕获异常
B、抛出异常
C、声明异常
D、嵌套异常

48、ArrayList 类的底层数据结构是什么?
A、链表结构
B、哈希表结构
C、数组结构
D、红黑树结构

49、LinkedList 类的特点是什么?
A、查询快
B、增删快
C、元素自然排序
D、元素不重复

50、Java 中的集合类包括 ArrayList 、LinkedList、HashMap 等,下列关于集合类描述不正确的是?
A、ArrayList 和 LinkedList 均实现了 List 接口
B、随机添加和删除元素时,ArrayList 的表现更加快速
C、ArrayList 访问速度比 LinkedList 快
D、ArrayList 访问速度比 LinkedList 快

期末考试

理论知识试题

1、以下代码的输出是( )char c = 'a' + 'A'-'a' + 1; System.out.println(c);
A、98
B、96
C、B
D、C

2、定义数组,如下:int a[] = { 1,2,3,4,5}; int[] b = { 1,2,3,4,5}; int[] c = new int[] { 1,2,3,4,5};选择正确的选项。
A、定义数组只能使用a的方式, b的方式不正确。
B、数组a\b即使是在函数内定义的,数据也不是放在栈里面的,和c一样。
C、数组c定义不正确,应该是:int[] c = new int[] (1,2,3,4,5);
D、数组a\b都是局部数组放在函数栈中,返回就无效了,而c不是。

3、关于extends和implements解释,正确的是?
A、class可以继承多个父类,但只可以实现1个接口
B、Java不支持多继承,这描述也不准确。
C、接口类IDo和IWork都有一个函数void do();那么具体类要添加2个do函数才实现这2个interface。
D、由于Java不支持多继承,所以接口肯定也不可以!

4、以下2段代码,说法正确的是? short s1 = 1; s1 = s1 + 1 ------------- short s1 = 1; s1 += 1;
A、都没有编译错误。
B、结果是一样的!
C、第二段代码正确。
D、都有编译错误。

5、观察以下流程图,它描述的功能是?
A、求解m和n的最小公倍数。
B、求解m和n的余数。
C、求解m和n的最大公约数。
D、求解m除以n的商。

6、关于函数重载、重写、覆盖说法正确的是?
A、子类可以重写父类所有的函数。
B、子类也可以重写父类的静态函数,达到多态的效果。
C、子类可以重写父类函数,但不可以把函数权限降低,譬如把public改成private。
D、方法覆盖是说子类重新定义了父类的方法,必须有相同的方法名,参数列表和返回类型。

7、分析以下代码,try...catch的使用错误是? try(。。。) { /// 读写文件 }catch(Exception e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }
A、try后面不能有参数!
B、catch语句IOException根本就执行不到!
C、缺少finally,必须要有!
D、IOException应该写Exception前面!

8、关于JUnit的使用,需要注意的是?
A、JUnit4测试类不需要继承TestCase类。
B、使用JUnit4,也不需要强制命名成testXXX这种格式。
C、JUnit4强化了很多JUnit3的功能,比如忽略测试、异常测试、超时测试等等。
D、在JUnit3中,测试类需要继承TestCase。

9、比较2个对象,需要注意的是?
A、使用==比较对象,如果不是同一个对象,肯定会是false!
B、使用equals比较对象,如果不是同一个对象,肯定会是false!
C、Integer n1 = 1; Integer n2 = 1;对于n1==n2比较的结果也是true。
D、Integer n1 = new Integer(1); Integer n2 = 1;对于n1==n2比较的结果是false。

10、以下定义变量,说法错误的有?long l = 12L; float f = 1.0; int n = 2_0_0; char c = 98;
A、变量l赋值有问题,数字后面不应该有字母!
B、变量f赋值的时候,小数后面没有加f。
C、变量n的值是无效的,有编译错误!
D、c作为字符类型,不能赋值98!

11、全局变量可以不初始化,Integer类型的变量,初始化值为0;

12、匿名类只能用于实现接口,不能继承其它类。

13、内部类分为静态内部类和非静态内部类,以及匿名类。但静态内部类不能使用外部类的private字段。

14、使用try-with-resources句法,只要资源支持autoclose就不用再主动close了。

15、函数可能会产生,使用throws声明函数抛出的异常类型。

16、在Java语言中,char是几个字节?

17、缺少一个符号,请填上。 Runnable run = System.out(?)println;

18、int[] numbers = { 1,2,3,4,5,6,7}; List<?> list = Arrays.asList(numbers);以上代码,(?)填上正确的类型。

19、interface通过关键字 ( ) 继承其它接口。

20、有些函数只是自己使用,不希望暴露给外部和子类,使用( )对函数进行修饰。

21、使用关键字( )保护函数或代码块,只能有一个线程进入。

中国大学JAVA语言程序设计_2

Java语言是一种广泛使用的编程语言,由于它的强大功能和方便使用的特点,越来越多的人开始学习它。在中国大学中,Java程序设计课程是非常重要的一门课程,而其中的第二部分则是更加深入和复杂的学习内容。本文将从以下几个方面介绍中国大学JAVA语言程序设计_2的相关内容。

1. Java高级特性

Java高级特性是Java的核心部分,包括泛型、反射、注解、多线程、网络编程等。在JAVA程序设计_2中,我们将更深入地学习这些高级特性。例如,我们将学习如何使用泛型来提高代码的重用性和可读性,如何使用反射来实现动态加载类、调用方法和访问属性等等。此外,我们还将学习如何使用注解来实现自定义注解,如何使用多线程来提高程序的效率,以及如何使用网络编程来实现分布式应用程序。

2. 数据库编程

数据库编程也是JAVA程序设计_2中的重要内容之一。在这个部分,我们将学习如何使用Java JDBC API来连接各种类型的数据库,并进行基于SQL语言的数据操作。此外,我们还将学习如何使用Hibernate和Spring框架来简化数据库编程操作。这些框架提供了一些重要的功能,如对象-关系映射(ORM)、事务管理、连接池管理等等,这些功能能够使我们的数据库编程更加高效和可靠。

3. GUI编程

GUI编程是JAVA程序设计_2中非常重要的一部分,它涉及到如何使用Java Swing和JavaFX两个框架来设计和实现图形用户界面。在这个部分,我们将学习如何使用各种控件(如按钮、文本框、标签、表格等等)来构建复杂的GUI界面。我们还将学习如何使用布局管理器和事件处理器来控制控件的位置和动作,以及如何使用SwingWorker和Platform.runLater来避免界面假死、提高响应速度。

4. 大型项目实战

在JAVA程序设计_2的最后,我们将进行一些大型项目的实战经验。这些项目包括企业级应用程序、电子商务网站、在线论坛、博客和社交网络等等。这些项目将涉及到各种高级技术,如Spring MVC、Spring Security、Spring Data JPA、MyBatis、Maven、Git、Jenkins等等。通过这些项目实战,我们将深入了解Java编程的真正意义和挑战,增强自己的实践能力和团队合作精神。

总结

JAVA程序设计_2是一门非常重要的课程,它让我们更深入地了解Java语言的各种高级特性和应用,掌握Java编程的核心技能,提高自己的实践能力和团队合作精神。通过深入学习,我们将能够成为优秀的Java程序员,为未来的职业生涯奠定坚实的基础。