企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> 考试说明:本次测试卷一共25道测试题,共计100分。考试时间120分钟。 ## 一、选择题(共 15 题,每题 2 分) 1. 下列属于合法的 Java 标识符是() ~~~ A. _cat B. 5books C. static D. -3.14 ~~~ 2. 下列哪一个选项不是 Java 的关键字() ~~~ A. class B. package C. Void D. static ~~~ 3. 已知如下代码,哪个选项中填写到(1)(2)位置处,能满足需求() ~~~ public static void main(String[] args) { // 求数组中偶数的和 (1) for (int i = 0; i < a.length; i++) { (2) sum = sum + a[i]; } } } ~~~ ~~~ A. (1) int sum; (2) if (a[i] % 2 == 0) { B. (1) int sum; (2) if (a[i] % 2 != 0) { C. (1) int sum = 0; (2) if (a[i] % 2 == 0) { D. (1) int sum = 0; (2) if (a[i] % 2 != 0) { ~~~ 4. 下面代码的输出结果为() ~~~ System.out.println(14 % 5); ~~~ ~~~ A. 14 B. 2.8 C. 2 D. 4 ~~~ 5. 执行下面语句后,`b`,`x`,`y` 的值分别是() ~~~ int x = 6, y = 8; boolean b = x > y && ++x == --y ~~~ ~~~ A. true, 6, 8 B. false, 6, 8 C. true, 7, 7 D. fasle 7, 7 ~~~ 6. 若 `a = 10`,`b = 20`,表示`x`在`a`,`b`之间的表达式为() ~~~ A. x >= a && x <= b B. x >= a || x <= b C. a <= x && x <= b D. a <= x <= b ~~~ 7. 若所用变量都已正确定义,以下选项中,非法的表达式是() ~~~ A. a != 4 || b == 1 B. 'a' % 5 C. 'a' = 2 / 5 D. 'C' + 35 ~~~ 8. 以下哪个不是合法的`int`类型字面量的表达方式() ~~~ A. 0x34 B. 026 C. 1000 D. 0x23dfL ~~~ 9. 关于变量的定义的说法正确的是() ~~~ A. n = 3; 表示 n 和 3 相等。 B. int n = 3; 该语句表示定义变量的同时进行初始化。 C. Java 中的变量可以不定义就直接赋值。 D. int 3 = n; 该语句合法。 ~~~ 10. 关于字符类型,以下说法正确的是() ~~~ A. 字符类型常量使用双引号引起来,如 "D" B. ASCII 码可以表示中文 C. 可以将任意整数赋值给字符变量而报错 D. '@' 是一个字符型字面量的正确表示方式 ~~~ 11. 关于常量的说法错误的是() ~~~ A. final 是定义常量的关键字 B. 常量一旦定义就不可以改变 C. 常量名中的字母一般都大写 D. final A = 4; 定义了一个常量 A ~~~ 12. 下列哪个不是程序的流程控制结构() ~~~ A. 顺序结构 B. 嵌套结构 C. 选择结构 D. 循环结构 ~~~ 13. 关于选择结构下列哪个说法是正确的() ~~~ A. if 语句和 else 语句必须成对出现 B. if 语句可以没有 else 语句对应 C. switch 结构中每个 case 语句中必须用 break 语句 D. switch 结构中必须有 default 语句 ~~~ 14. 已知如下代码,当`n`为何值时,程序段将只输出字符串`second`() ~~~ switch (n) { case 0: { System.out.println("first"); } case 1: {} case 2: { System.out.println("scecond"); break; } defalut: { System.out.println("end"); } } ~~~ ~~~ A. 0 B. 1 C. 2 D. 以上都可以 ~~~ 15. 已知如下代码,则方法调用错误的是() ~~~ public class Test { public static int sum(int a, int b) { return a + b; } public static void main(String[] args) { int m = 5, n = 4; // 方法调用 } } ~~~ ~~~ A. sum(6, 8); B. sum(m, n); C. sum(0x12, 0x34); D. sum(10L, 30L); ~~~ ## 二、阅读题(共 5 题,每题 4 分) 1. 以下代码的输出结果是() ~~~ public static void main(String[] args) { int s = 0; int[] arr = {10, 20, 30, 40, 50, 60, 70, 80, 90}; for (int i = 0; i < arr.length; i++) { if (arr[i] % 3 == 0) { s += arr[i]; } } System.out.println("s = " + s); } ~~~ 2. 以下代码的输出结果是() ~~~ public static void main(String[] args) { int a = 80; System.out.println(a++); int b = (a / 3) % 5; System.out.println(b); } ~~~ 3. 以下代码的输出结果是() ~~~ public static void main(String[] args) { int i = 1; int j = i++; if (i == ++j && i++ == j) { i += j; } System.out.println("i = " + i); } ~~~ 4. 以下代码的输出结果是() ~~~ public static int calc(int temp) { if (temp > 0) { return temp * 2; } return -1; } public static void main(String[] args) { System.out.println(calc(10) + calc(8) + calc(-10)); } ~~~ 5. 以下代码的输出结果是() ~~~ public static void main(String[] args) { int sum = 0; for (int i = 0; i < 100; i++) { if (i % 2 == 0) { continue; } sum += i; } System.out.println(sum); } ~~~ ## 三、编程题(共 5 题,每题 10 分) 1. 控制台输入0~100之间的整数,当输入`90~100`时,输出`A`;输入`80~90`时,输出`B`;输入`70~80`时,输出`C`;输入`60~70`时,输出`D`;输入`0~60`时,输出`E`。 2. 控制台输入两个大于0的整数,输出两个整数之间的所有质数。 3. 要求定义一个方法,可以根据方法参数num打印倒三角形 ~~~ 如num为5时,打印结果为: ***** *** * 如num为6时,打印结果为: ****** **** ** 如num为7时,打印结果为: ******* ***** *** * 如num为8时,打印结果为: ******** ****** **** ** ~~~ 4. 已知一个数组(数据类型可自定),将这个数组逆转。 5. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153 = 1的三次方+5的三次方+3的三次方。