2025年09月计算机二级Java选择题每日一练——第十二期
计算机二级中选择题是非常重要的,本期是这个系列的最后一期了!
答案及解析将在末尾公布!
今日主题:综合应用
1、下列代码段运行时输入 3,产生的结果是
String str = "Sky";
Scanner scan = new Scanner(System.in);
int n = Integer.parseInt(scan.next());
System.out.println(str.charAt(n));
(A) 输出 0
(B) 输出 null
© 产生ArrayIndexOutOfBoundsException
(D) 产生StringIndexOutOfBoundsException
2、下列代码段执行后的结果是
int i,j, k=0;
for(i=1, j=10; i<=j; i++, j--)k = i + j;
(A) 0
(B) 55
© 10
(D) 11
3、下列选项中的逻辑运算符是
(A) >=
(B) ?:
© |
(D) >>
4、下列代码段执行后的结果是
int i, j;
for (i=1; i<3; i++) {for (j=10; j>=0; j--)if ((j %3) ==0) break;System.out.print("" +i + "," +j + ",");
}
(A) 1,10,
(B) 1,9,2,9,
© 1,2
(D) 1,10,2,10,
5、下列选项中,能将 Java 源程序编译为字节码的命令是
(A) java
(B) javap
© javah
(D) javac
6、下列代码段执行后,n
的值是
int n=0;
for(int i=6; i>=1; i-=2) {n=0;for(int j=1; j<=2*i-1; j++)n++;
}
(A) 12
(B) 3
© 6
(D) 1
7、下列代码段执行后的结果是
int k=0;
int[] num = {3, 8, 2, 8, 5};
for (int i=1; i<5; i++) {if (num[i] > num[k]) {k = i;}
}
System.out.print("" + num[k]);
(A) 8
(B) 3
© 5
(D) 2
8、下列代码段执行后,x
、y
的值分别为
int x=3, y=5;
x += y *= 2;
(A) 3 5
(B) 5 10
© 6 10
(D) 13 10
9、若有int x=5, y=2;
则x++ * y
的值是
(A) 15
(B) 10
© 12
(D) 18
10、下列方法能够通过编译的是
(A) public Void Add(){}
(B) public void Add(){}
© Public Void Add(){}
(D) Public void add(){}
1、答案:D
解析:代码中使用Scanner
获取用户输入并转换为整数n
,然后尝试使用str.charAt(n)
获取字符串str
中索引为n
的字符。当输入 3 时,由于字符串str
的长度为 3,有效索引范围是 0 到 2,访问索引 3 会导致StringIndexOutOfBoundsException
异常,因为索引超出了字符串的范围。2、答案:D
解析:在这段代码中,for
循环的初始条件i=1
,j=10
,循环条件是i<=j
,每次循环i
自增 1,j
自减 1 ,并将i + j
的值赋给k
。循环过程如下:
- 第一次循环:
i=1
,j=10
,k = 1 + 10 = 11
;- 第二次循环:
i=2
,j=9
,k = 2 + 9 = 11
;- 第三次循环:
i=3
,j=8
,k = 3 + 8 = 11
;- 第四次循环:
i=4
,j=7
,k = 4 + 7 = 11
;- 第五次循环:
i=5
,j=6
,k = 5 + 6 = 11
。
当i=6
,j=5
时,不满足i<=j
的条件,循环结束。所以最终k
的值为 11 。3、答案:C
解析:在给出的选项中,|
是逻辑运算符,用于逻辑或操作。当两个操作数中至少有一个为true
时,结果为true
。>=
是关系运算符,用于比较大小;?:
是三元运算符;>>
是位运算符中的右移运算符。所以只有|
属于逻辑运算符 。4、答案:B
解析:这段代码有两层循环,外层循环i
从 1 到 2 。对于每次外层循环:
- 当
i=1
时,内层循环j
从 10 递减到 0 ,当j % 3 == 0
时执行break
跳出内层循环,此时j=9
,所以输出1,9,
;- 当
i=2
时,同样内层循环j
从 10 递减到 0 ,当j % 3 == 0
时执行break
跳出内层循环,此时j=9
,所以输出2,9,
。5、答案:D
解析:在 Java 中,javac
命令用于将 Java 源程序编译为字节码文件(.class
文件)。java
命令用于运行已经编译好的 Java 程序(字节码文件);javap
命令用于反汇编 Java 类文件,查看类的结构等信息;javah
命令用于生成 C/C++ 头文件和 Stub 文件,主要用于 Java 与 C/C++ 的交互。所以能将 Java 源程序编译为字节码的命令是javac
。6、答案:B
解析:这段代码有两层循环,外层循环i
从 6 开始,每次减 2,到 1 结束。对于每次外层循环:
- 当
i = 6
时,n
被重新赋值为 0 ,内层循环j
从 1 到2 * i - 1 = 11
,循环 11 次,n
每次自增 1,循环结束后n = 11
;- 当
i = 4
时,n
又被重新赋值为 0 ,内层循环j
从 1 到2 * i - 1 = 7
,循环 7 次,n
每次自增 1,循环结束后n = 7
;- 当
i = 2
时,n
再次被重新赋值为 0 ,内层循环j
从 1 到2 * i - 1 = 3
,循环 3 次,n
每次自增 1,循环结束后n = 3
。
最终n
的值为 3。7、答案:A
解析:这段代码通过循环遍历数组num
,从索引 1 开始,比较每个元素与num[k]
的大小,如果当前元素大于num[k]
,则更新k
为当前索引。数组num = {3, 8, 2, 8, 5}
,在遍历过程中:
- 当
i = 1
时,num[1]=8
,8 > num[0]=3
,所以k = 1
;- 当
i = 2
时,num[2]=2
,2 < num[1]=8
,k
不变;- 当
i = 3
时,num[3]=8
,8 = num[1]=8
,k
不变;- 当
i = 4
时,num[4]=5
,5 < num[1]=8
,k
不变。
循环结束后,k = 1
,所以num[k]=num[1]=8
。8、答案:D
解析:运算符优先级:y *=2
先执行(y=5*2=10
),再执行x +=10
(x=3+10=13
)。
9、答案:B
解析:x++
先使用后自增,表达式值为5*2=10
(x
最终变为 6)。
10、答案:B
解析:
- 方法声明中,
public
、void
为关键字(小写),方法名Add
符合命名规范;- A 错误:
Void
是包装类,非关键字;- C 错误:
Public
、Void
大小写错误;- D 错误:
Public
大小写错误。
完整版 PDF(含二级更多题目题库)
点击下载
以上就是本期内容,如有错误请指正!
—————————————————本系列完结———————————————