大学MOOC Java语言程序设计C(太原理工大学)1450330335 最新慕课完整章节测试答案
第三章Java类基础知识
Java语言基础单元测试
1、单选题:
在switch(expression)语句中,expression的数据类型不能是:
选项:
A: double
B: char
C: byte
D: short
答案: 【 double】
2、单选题:
下面程序的运行结果为:public class Conditional{ public static void main( String args[]){ int x = 4; System.out.println("value is " + ( (x > 4) ? 99.99 : 9 ));} }
选项:
A: value is 99.99
B: value is 9
C: value is 9.0
D: 在第4行出现编译错误
答案: 【 value is 9.0】
3、单选题:
以下程序的编译运行结果为:public class Test2 { public static void main(String args[]){ int i = 10; int j = 10; boolean b = false; if(b = i == j) //A行 System.out.println("True"); else System.out.println("False"); } }
选项:
A: A行出现编译错误
B: A行出现运行错误
C: 输出True
D: 输出False
答案: 【 输出True 】
4、单选题:
假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?
选项:
A: if (a) {}
B: if (a<<3) {}
C: if (a=2) {}
D: if (true) {}
答案: 【 if (true) {}】
5、单选题:
设有如下代码:public class ex2 { public static void main(String[] args) { int x = 0;int y = 0; outer: for (x = 0;x < 100;x++) middle: for(y = 0;y < 100;y++){ System.out.println("x=" + x + ";y=" + y); if(y == 10){/*insert code*/} } }}在“insert code”处插入什么代码可以结束所有循环?
选项:
A: continue middle;
B: break outer;
C: break middle;
D: continue outer;
答案: 【 break outer;】
6、单选题:
以下程序的编译运行结果为:public class ex2 { public static void main(String[] args) { int total = 0; for(int i = 0,j = 10;total > 30;++i,--j){ System.out.println("I = " + i + " ;j = " + j); total += (i+j); } System.out.println("Total: " + total); }}
选项:
A: 产生运行错误
B: 产生编译错误
C: 输出“Total: 0”
D: 输出如下结果: i = 0 ;j = 10 i = 1 ;j = 9 i = 2 ;j = 8 Total: 30
答案: 【 输出“Total: 0”】
7、单选题:
以下程序段执行完后,i、j的值分别为:int i = 1,j = 10;do{ if(i++>--j)continue; }while(i<5);
选项:
A: i=6 j=5
B: i=5 j=5
C: i=6 j=4
D: i=5 j=6
答案: 【 i=5 j=6】
8、单选题:
下面哪条语句存在语法错误:
选项:
A: byte b1 = 128;
B: byte b2 = 127;
C: byte b3 = ‘a’;
D: byte b4 = -128;
答案: 【 byte b1 = 128;】
9、单选题:
下面哪条语句存在语法错误:
选项:
A: long p1 = 1000000;
B: long p2 = 10000000000;
C: long p3 = 10000000000L;
D: long p4 = 100;
答案: 【 long p2 = 10000000000;】
10、单选题:
下面哪条语句存在语法错误:
选项:
A: double d1 = 4.56;
B: float d2 = 4.56;
C: float d3 = 4.56f;
D: double d4 = 4.56f;
答案: 【 float d2 = 4.56;】
11、多选题:
下列字符串中,哪些是Java的合法标志符?
选项:
A: $short
B: x+y
C: 2PI
D: _bytes
答案: 【 $short;
_bytes】
12、多选题:
下列字符串中,哪些是Java的关键字?
选项:
A: if
B: int
C: null
D: switch
答案: 【 if;
int;
null;
switch】
13、多选题:
有如下代码段:switch(a){ case 1:System.out.println("One");break; case 2: case 3:System.out.println("Two");break; default:System.out.println("end");}变量a的取值是下列哪些情形时能使程序输出“Two”。
选项:
A: 1
B: 2
C: 3
D: default
答案: 【 2;
3】
14、多选题:
关于以下程序哪条叙述正确:int j = 2;switch(j){ case 2: System.out.println("value is two"); case 2+1: System.out.println("value is three"); break; default: System.out.println("value is " + j); break;}
选项:
A: 输出是value is two后跟value is three
B: 第5行的表达式不合法
C: 输出为value is two
D: switch中的表达式可以是byte、short或int中的任何类型
答案: 【 输出是value is two后跟value is three;
switch中的表达式可以是byte、short或int中的任何类型】
15、多选题:
下面不属于Java基本数据类型的是:
选项:
A: String
B: Integer
C: byte
D: boolean
答案: 【 String;
Integer】
第四章面向对象和类(续)
前四章单元测验
1、单选题:
有如下代码段:public static void booleanTest() { int a = 1, b =1; if (a == b || b<0) a++; if (a <= 2 &&(!(b<0))) b=b<<1; System.out.println(a + "," + b);} 则运行结果为:
选项:
A: 2,1
B: 2,2
C: 2,3
D: 1,2
答案: 【 2,2】
2、单选题:
如下赋值语句中,有语法错误的是?
选项:
A: float f1 = 1.2;
B: float f1 = 1.2f;
C: float f1 = 1;
D: float f1 = 0xAE;
答案: 【 float f1 = 1.2;】
3、单选题:
有如下类定义:public class Rectangle {public int width = 3;public int height = 4;public int area() { return width * height;}}则如下代码输出结果为:Rectangle rectangle;rectangle.height = 5;System.out.println(rectangle.area());
选项:
A: 15
B: 有编译错误,程序不能运行
C: 12
D: 0
答案: 【 有编译错误,程序不能运行】
4、单选题:
执行如下代码片段后,i和n的值分别为:int i = 10;int n =( i++) % 5;
选项:
A: 11, 1
B: 11, 0
C: 10, 1
D: 10, 0
答案: 【 11, 0】
5、单选题:
执行如下代码片段后,num的值为:int num = 5;num = (num % 2) == 0 ? num – 1 : num + 1;
选项:
A: 1
B: 4
C: 5
D: 6
答案: 【 6】
6、单选题:
有如下代码段:if (num >= 0) if (num == 0) System.out.println("first string");else System.out.println("second string");System.out.println("third string");若num为3,则输出结果为:
选项:
A: third string
B: second stringthird string
C: first stringthird string
D: first stringsecond stringthird string
答案: 【 second stringthird string】
7、单选题:
下列变量名称中,不属于有效Java变量命名的是?
选项:
A: $num
B: _int
C: 6nums
D: Jiayou
答案: 【 6nums】
8、单选题:
对于Java1.7及之后版本,如下不能用于switch的类型是:
选项:
A: String
B: int
C: char
D: double
答案: 【 double】
9、单选题:
如下对Java基本类型的描述,错误的是?
选项:
A: char占1个字节
B: int 占4个字节
C: short 占2个字节
D: double占8个字节
答案: 【 char占1个字节】
10、单选题:
如下循环结构中,输出结果与其它三组不一致的一组是:
选项:
A: for (int i = 0; i < 10; i++)System.out.println(i);
B: int i = 0;while (i < 10) System.out.println(i++);
C: int i = 0;for (;i < 10;) System.out.println(i++);
D: int i = 0;while (i++ < 10) System.out.println(i);
答案: 【 int i = 0;while (i++ < 10) System.out.println(i);】
11、单选题:
swap方法定义如下:public static void swap(int num1, int num2) { int temp = num1; num1 = num2; num2 = temp; }执行如下代码后, int num1 = 10; int num2 = 5; int num3 = 20; swap(num1, num2); swap(num2, num3); num1, num2, num3的值分别为:
选项:
A: 10, 5, 20
B: 5, 20, 10
C: 5, 10, 20
D: 20, 5, 10
答案: 【 10, 5, 20】
12、单选题:
Number类定义如下:public class Number { public int x; }swap方法定义如下:public static void swap(Number number1, Number number2) { int temp = number1.x; number1.x = number2.x; number2.x = temp; }运行如下代码: Number number1 = new Number(); Number number2 = new Number(); Number number3 = new Number(); number1.x = 1; number2.x = 2; number3.x = 3; swap(number1, number2); swap(number2, number3);则number1.x, number2.x, number3.x的值分别为:
选项:
A: 1, 2, 3
B: 2, 3, 1
C: 3, 2, 1
D: 1, 3, 2
答案: 【 2, 3, 1】
13、单选题:
假设有boolean变量flag1,flag2,则如下表达式中哪个不能代表异或逻辑?(异或逻辑:如果a、b两个值不相同,则异或结果为true。如果a、b两个值相同,异或结果为false。)
选项:
A: flag1 != flag2
B: (flag1 == true && flag2 == false) || (flag1 == false && flag2 == true)
C: !flag1 == flag2
D: (flag1 == true && flag2 == true) || (flag1 == false && flag2 == false)
答案: 【 (flag1 == true && flag2 == true) || (flag1 == false && flag2 == false)】
14、单选题:
如下关于Java类的说法,错误的是?
选项:
A: 对象是类的实例化
B: 可以通过对象访问类变量
C: java文件中只能包含一个类的定义
D: 同一类的不同对象有着相同的类变量
答案: 【 java文件中只能包含一个类的定义】
15、单选题:
如下赋值语句,有编译错误的是?
选项:
A: byte b = -127;
B: int i = (byte)512;
C: byte b = 129;
D: byte b = -0;
答案: 【 byte b = 129;】
16、单选题:
下列关于main方法的描述中,错误的是?
选项:
A: main方法是Java程序的入口
B: main方法格式为public static void main(String[] args) { //Your code here}
C: B选项中所描述格式中形参args不能更改,如果将args改为arguments则不能编译通过
D: main方法可以被重载
答案: 【 B选项中所描述格式中形参args不能更改,如果将args改为arguments则不能编译通过】
17、单选题:
Java有“一次编译,到处运行”的说法,此种说法中编译的结果是:
选项:
A: 机器码
B: 符号表
C: 字节码
D: 中间代码
答案: 【 字节码】
18、单选题:
下列不属于Java基本数据类型的是?
选项:
A: short
B: float
C: Double
D: int
答案: 【 Double】
19、单选题:
如下关于JDK和JRE的说法,错误的是?
选项:
A: JDK全称Java Development Kit,意即Java开发工具包
B: JRE全程Java Runtime Environment,意即Java运行环境
C: JRE中包含了JDK
D: 若只需要运行编译好的Java程序,则只有JRE就可以
答案: 【 JRE中包含了JDK】
20、单选题:
在Java中,下面对于构造函数的描述正确的是
选项:
A: 类必须显式定义构造函数
B: 构造函数的返回类型是void
C: 构造函数和类有相同的名称,并且不能带任何形参
D: 一个类可以定义多个构造函数
答案: 【 一个类可以定义多个构造函数】
21、单选题:
Assume i and j are member variables with double type in class X. In the following codes, which one is NOT RIGHT constructor? ( )
选项:
A: double X(double
