大学MOOC JAVA语言程序设计(程超)(南京财经大学红山学院)1452607196 最新慕课完整章节测试答案
第一章 与计算机对话
文章目录
与计算机对话单元测试
1、单选题:
查重8位二进制-1是1111 1111(补),赋值给32位整数之后是
选项:
A: 0x0000 00FF
B: 0xFF00 0000
C: 0xFFFF FFFF
D: 都错
答案: 【 0x0000 00FF】
2、单选题:
下面介绍Java语言特性正确的是
选项:
A: 跨平台性
B: 多面性
C: 单一性
D: 面向过程
答案: 【 跨平台性】
3、单选题:
数字12(十进制)可以表示为
选项:
A: 0x0C
B: 0x12
C: 二进制1100
D: 014
答案: 【 0x0C】
4、多选题:
0的反码是
选项:
A: 0000 0000
B: 1111 1111
C: 000 0000
D: 都错
答案: 【 0000 0000;
1111 1111】
5、判断题:
数字-5的补码是1111 1011
选项:
A: 正确
B: 错误
答案: 【 正确】
6、判断题:
111 1111(补码)等于 -1
选项:
A: 正确
B: 错误
答案: 【 正确】
7、填空题:
对于16进制ab换算成10进制是
答案: 【 171】
环境变量
1、单选题:
关于环境变量,正确的是?
选项:
A: 环境变量是给Java用的
B: 环境变量必须加在系统变量里面
C: 环境变量都是文件路径
D: 以上说法都是错误的
答案: 【 以上说法都是错误的】
2、多选题:
查看环境变量的值,正确的是:
选项:
A: 在Windows上,使用echo %环境变量名%
B: 在Windows上,使用echo $环境变量名
C: 在Linux上使用echo $环境变量名
D: C++程序不需要环境变量,只有Java才需要获取环境变量的值。
答案: 【 在Windows上,使用echo %环境变量名%;
在Linux上使用echo $环境变量名】
3、判断题:
环境变量就是JAVA_HOME,是给Java使用的。
选项:
A: 正确
B: 错误
答案: 【 错误】
第1章 单元测验
1、单选题:
描述:如果怎么样,就怎么样。使用哪个?
选项:
A: if...else...
B: if...
C: if...else if...
D: do...while...
答案: 【 if...】
2、单选题:
关于JDK和JRE的说法,错误的是?
选项:
A: JDK是Java开发工具包,开发Java程序必须要安装。
B: JRE是Java的运行环境,如果电脑上没有安装会导致Java程序无法正常运行。
C: 在Java下载网站,下载JRE或JDK都可以。
D: JRE包含很多Java程序运行时候需要的关键程序和Jar包。
答案: 【 在Java下载网站,下载JRE或JDK都可以。】
3、单选题:
对于8bit数字运算,以下描述正确的是:
选项:
A: 2个正整数相加的结果,可能会是负数!
B: 整数相加的和,不可能是负数!
C: 负数和负数相加,肯定是负数!
D: 负数和正数相加,肯定还是负数!
答案: 【 2个正整数相加的结果,可能会是负数!】
4、单选题:
对于8bit的数字,使用16进制补码表示是0xee,请问它的字面值是:
选项:
A: -125
B: -126
C: -12
D: -18
答案: 【 -18】
5、单选题:
假设:横线是1、点是0,那么1对于的莫尔斯编码是多少?
![]()
选项:
A: 0001,值是1
B: 1000,值是8
C: 01111,值是15
D: 01,值是1
答案: 【 01111,值是15】
6、多选题:
-1的编码可以是:
选项:
A: 使用反码表示的话,可能是1001
B: 使用补码表示的话,可能是1111
C: 使用反码表示的话,可能是1000 0001
D: 使用补码表示的话,可能是1111 1111
答案: 【 使用反码表示的话,可能是1001;
使用补码表示的话,可能是1111;
使用反码表示的话,可能是1000 0001;
使用补码表示的话,可能是1111 1111】
7、多选题:
在做运算的时候,-1是1111 1111,且-2是1111 1110,说法正确的是:
选项:
A: 这是在做byte类型(8bit有符号类型)的运算。
B: -1和-2相加会溢出,导致结果是整数!
C: 如果是无符号整数,-1对应的二进制将是最大的整数!
D: 有符号类型,负数比整数多一个!
答案: 【 这是在做byte类型(8bit有符号类型)的运算。;
如果是无符号整数,-1对应的二进制将是最大的整数!;
有符号类型,负数比整数多一个!】
8、多选题:
BCD编码,有8421、5421、2421等编码方式,对于数字6不同表达的方式,值是?
选项:
A: 采用2421的话,6的编码是0010
B: 采用5421的话,6的编码是1001
C: 采用8421的话,6的编码是0110
D: 采用2421的话,6的编码是1001
答案: 【 采用5421的话,6的编码是1001;
采用8421的话,6的编码是0110】
9、多选题:
关于进制,说法有误的是?
选项:
A: 一打鸡蛋12个,采用的是12进制,那么13个鸡蛋采用12进制表示就是12.
B: 一周有7天,采用的是7进制,周日的值是7.
C: 一位8进制数字,要使用8bit二进制才能表示。
D: 一位无符号16进制数字,最大值是0xF。
答案: 【 一打鸡蛋12个,采用的是12进制,那么13个鸡蛋采用12进制表示就是12.;
一周有7天,采用的是7进制,周日的值是7.;
一位8进制数字,要使用8bit二进制才能表示。】
10、多选题:
计算机有很多编程语言,他们的区别有?
选项:
A: 不同编程语言一般语法不同,所以编译环境一般也不同。
B: 有些编程语言是解释执行的,譬如脚本语言(Python、Perl)。
C: Java语言虽然要编译,但生成的是字节码,并不能直接执行,需要在JVM上运行。
D: Scratch编程是一种积木式编程语言。
答案: 【 不同编程语言一般语法不同,所以编译环境一般也不同。;
有些编程语言是解释执行的,譬如脚本语言(Python、Perl)。;
Java语言虽然要编译,但生成的是字节码,并不能直接执行,需要在JVM上运行。;
Scratch编程是一种积木式编程语言。】
11、判断题:
计算过程中数字是使用补码表示的,对于有符号1个字节的(8位)byte类型来说最大的整数是1111 1111。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
Java编程语言是运行在JVM(虚拟机)上的,所以想要执行Java没有JVN运行环境是不行的。
选项:
A: 正确
B: 错误
答案: 【 正确】
13、判断题:
环境变量PATH设置之后,之前已打开的cmd命令行,也会立即生效。
选项:
A: 正确
B: 错误
答案: 【 错误】
14、填空题:
常用汉字有3500个,并且兼容ASCII码,要多少字节最好?
答案: 【 2】
15、填空题:
1个字节的时候(byte),-1的补码是1111 1111,令byte a=-1。现在把它赋值给2个字节的short b=a,现在b在计算机中的二进制是多少?(注意中间的空格。)
答案: 【 1111 1111 1111 1111】
编码知识
1、填空题:
32位整数,最大可以表示的值:
答案: 【 4294967296】
编程语言种类
1、多选题:
Java语言特性有哪些?
选项:
A: 跨平台性
B: 安全性
C: 健壮性
D: 面向对象
答案: 【 跨平台性;
安全性;
健壮性;
面向对象】
补码
1、多选题:
数字12(十进制)可以表示为?
选项:
A: 0x0c
B: BCD:0x12
C: 二进制 1100
D: 014
答案: 【 0x0c;
BCD:0x12;
二进制 1100;
014】
2、判断题:
二进制没有2,八进制没有8
选项:
A: 正确
B: 错误
答案: 【 正确】
3、填空题:
对于5位的二进制,-7的补码表示是多少?
答案: 【 11001】
4、填空题:
16进制,使用了哪些字符?
答案: 【 1、2、3、4、5、6、7、8、9、A、B、C、D、E、F】
5、填空题:
负数在计算机中如何表示?
答案: 【 负数在计算机中通常用补码表示】
第三章 数据类型
3.1.1 了解数据类型
1、单选题:
根据关键字查询数据的类型是:
选项:
A: ArrayList
B: HashSet
C: HashMap
D: Queue
答案: 【 HashMap】
2、判断题:
基本数据类型的变量在声明时,系统会给它们分配相应的存储空间。
选项:
A: 正确
B: 错误
答案: 【 正确】
3、判断题:
引用型数据类型的变量在声明时,系统不会为它们分配相应的存储空间。
选项:
A: 正确
B: 错误
答案: 【 错误】
3.2.1数据转换
1、单选题:
short类型n=-6使用十六进制表示是多少?
选项:
A: -6
B: 0xF6
C: 0xFFFA
D: 0xFA
答案: 【 0xFFFA】
2、单选题:
下列( )是不能通过编译的语句
选项:
A: double d=545.0;
B: char a1=”c”;
C: int i=321;
D: float f1=45.0f;
答案: 【 char a1=”c”;】
3、多选题:
short n=-6赋值给int m之后,m的值是?
选项:
A: -6
B: 0xFFFFFFFA
C: 0x0000FFFA
D: -0x6
答案: 【 -6;
0xFFFFFFFA】
字符编码
1、单选题:
以下说法正确的是:
选项:
A: Java提供了sizeof方法,用于获取数据类型占用内存大小。
B: char类型是有符号的
C: char类型不能用于数学运算
D: 在Java中,char占用2个字节!
答案: 【 在Java中,char占用2个字节!】
2、判断题:
String的length() 函数得到的值是它所占用的字节数!
选项:
A: 正确
B: 错误
答案: 【 错误】
3、判断题:
在Java语言,对英文字母'A'使用UTF-8编码之后,占用的字节会变多。
选项:
A: 正确
B: 错误
答案: 【 错误】
数据类型单元测试
1、单选题:
byte类型相加的结果是什么类型
选项:
A: int
B: string
C: char
D: byte
答案: 【 int】
2、多选题:
下面哪个赋值语句会产生编译错误
选项:
A: long d=1;
B: double b=1.0;
C: float a =1.0;
D: int c=1+‘1’;
答案: 【 float a =1.0;;
int c=1+‘1’;】
3、判断题:
和C语言一样,char只占用1个字节
选项:
A: 正确
B: 错误
答案: 【 错误】
4、填空题:
逻辑运算符的短路操作是
答案: 【 &&】
5、填空题:
基本数据类型short的取值范围是
答案: 【 -32768 ~ 32767】
测验:数组和集合了解
1、单选题:
以下说法错误的是:
选项:
A: 数组第一个元素的下标是0
B: 数组最后一个元素的下标是数组大小减1
C: 定义数组的时候,可以进行初始化:int[] numbers={1,2,3,4};
D: 对于int[] numbers;它的length是0,因为还没初始化。
答案: 【 对于int[] numbers;它的length是0,因为还没初始化。】
2、多选题:
关于ArrayList<Integer>和int[]正确的有?
选项:
A: ArrayList和int[]都是大小固定的,一旦初始化之后就不能再更改。
B: ArrayList<Integer>能直接插入2,因为会被自动装箱成Integer类型
C: 以下代码执行的时候会报错!int[][] numbers = new int[3][];
System.out.println(numbers[1].length);
D: 数组Integer[] numbers=new Integer[4];定义之后,所有元素初始化为0!
答案: 【 ArrayList<Integer>能直接插入2,因为会被自动装箱成Integer类型;
以下代码执行的时候会报错!int[][] numbers = new int[3][];
System.out.println(numbers[1].length);】
3、判断题:
定义Integer[] numbers=new Integer[4];之后,numbers数组初始化有4个整数对象。
选项:
A: 正确
B: 错误
答案: 【 错误】
测验:装箱和拆箱
1、判断题:
需要Integer的地方,也可以传入int类型。
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
以下代码存在错误!Short nShort = 13;Integer nInteger = nShort;
选项:
A: 正确
B: 错误
答案: 【 正确】
3、填空题:
装箱类型包含基本类型的所有值,但还有一个值是基本类型没有的:
答案: 【 null】
4、填空题:
Integer n1 = 10;Integer n2 = 20;int sum = n1 + n2; System.out.println("sum = " + sum);输出结果为:____
答案: 【 30】
第四章 函数
函数的意义
1、判断题:
函数可以没有返回值
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
函数的参数可以有0到多个
选项:
A: 正确
B: 错误
答案: 【 正确】
3、判断题:
入口函数往往是确定的,不然就不知道从何启动程序了,它就是main函数。
选项:
A: 正确
B: 错误
答案: 【 正确】
4、判断题:
在Java语言中,每个class文件都可以定义一个main函数。
选项:
A: 正确
B: 错误
答案: 【 正确】
小测验
1、判断题:
实际上,可以把所有代码放在一行里面。
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
do....while语句至少会执行一次其中的代码。
选项:
A: 正确
B: 错误
答案: 【 正确】
3、判断题:
for(a;b;c){...}其中,a和c是可以省略的。
选项:
A: 正确
B: 错误
答案: 【 正确】
测验: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语句。
答案: 【 lambda表达式内,可以修改static类型的变量。】
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。
答案: 【 add不能直接调用,应该是add.apply(1,2);】
测验:递归的掌握
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)的,使用递归无法计算出结果,但是递推可以!
答案: 【 使用递归都有一个终止条件,它是n<2的时候,直接返回相应的值就可以了。;
使用递推可以减少运算量。;
递归在f(n-1)和f(n-2)存在重复计算,所以浪费了一些效率。;
对于f(80)的,使用递归无法计算出结果,但是递推可以!】
2、判断题:
递推相比递归会占用更多的栈内存。
选项:
A: 正确
B: 错误
答案: 【 错误】
3、判断题:
递推是指从初始条件逐步计算出结果。
选项:
A: 正确
B: 错误
答案: 【 正确】
第四章单元测验
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){}
答案: 【 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: 方法调用
答案: 【 pass by value】
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、判断题:
函数要么不返回值,要么一次只能返回一个值!
选项:
A: 正确
B: 错误
答案: 【 正确】
7、判断题:
函数可以自己调用自己,也称为迭代,但需要一个结束条件!
选项:
A: 正确
B: 错误
答案: 【 正确】
8、判断题:
Java不支持为参数默认值,但可以重载函数。
选项:
A: 正确
B: 错误
答案: 【 正确】
9、判断题:
return语句一定要写在函数的最后面!
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
一个.java文件,有且只有一个主函数!
选项:
A: 正确
B: 错误
答案: 【 正确】
11、填空题:
编写函数,返回两个整数之和。
答案: 【 public static int add(int a, int b){
return a+b;
}】
12、填空题:
编写函数,判断是否是闰年。
