Java基础周测-01(1)
一、选择题
1、下列经过表达式运算System.out.printf输出的结果是什么?( )
int a=100,x,y;
x=++a;
y=--a;
a--;
System.out.printf("%d,%d,%d",x,y,a);
A.101,100,99 B.101,100,100 C.101,99,99 D.101,99,100
++i : i 自增 1 后减 1 后再参与其它运算。
i++ : i 参与运算后, i 的值再自增 1。(i-- , --i同理)
2、下列语句序列执行后c的值是( )
int a=1;
int b=2;
int c= a>b?1:0;
A.1 B.0 C.2 D.3
3、下列语句序列执行后,x 的值是( )
int a=3, b=4, x=5;
if( ++a<b ) x=x+1;
A.5 B.3 C.4 D.6
4、num1+num2表达式属于( )
A.逻辑表达式 B.条件表达式 C.算术表达式 D.赋值表达式
A: || && ! B: == != >= C. + - * / % D. =
5、关系运算符运算的结果为( )
A.整型 B.数值型 C.字符型 D.布尔型
6、表达式不可以作为循环条件( )
A.i++ B.i>5 C.bEqual = str.equals("q") D.count == i
i++作为循环条件会出现死循环。赋值、定义等表达式不能作为循环条件。
7、下面的方法,当输入为2的时候result是多少?( )
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
A.0 B.2 C.4 D.10
8、表达式(short)10/10.2*2运算后结果是什么类型( )?
A.short B.int C.double D.float
要注意是(short)10/10.22,而不是(short) (10/10.22),前者只是把10强转为short,又由于式子中存在浮点数,所以会对结果值进行一个自动类型的提升,浮点数默认为double,所以答案是double;后者是把计算完之后值强转short。
9、下列哪项不是有效的标识符?( )
A.userName B.2test C.$change D._password
10、现有代码片段:
String s="123";
String sl=s+456;
请问sl的结果是哪项?( )
A.123456 B.579 C.编译错误 D.运行时抛出异常
11、下列哪项不属于Java语言的基本数据类型?( )
A.int B.String C.double D.boolean
12、请选择以下代码运行结果?()
public class test {
public static void main(String args[]) {
int i=0, j=2;
do {
i=++i;
j--;
} while(j>0);
System.out.println(i);
}
}
A.0 B.1 C.2 D.3
13、一维数组(推荐) double[ ] myList = new double[5];
14、二维数组(推荐) String[ ][ ] str = new String[3][4];
15、下面哪个不是引用类型变量?( )
A.int[][] a; B.char c; C.String x; D.int[] a;
16、数组int[] a=new int[3];请问a[3]的值为多少?( )
A.0 B.null C.”” D.不存在(a数组只有a[0]、a[1]、a[2])
17、下面关于类的说法不正确的是:( )
A.类是 Java 语言中的一种复合数据类型
B.类中不包含数据变量和方法
C.类是对所有具有一定共性的对象的抽象
D.Java 语言的代码必须编写在类中
18、关于构造方法说法错误的是?
A.构造方法由Java虚拟机在构建对象时自动调用
B.只有构造方法才能拥有和类名相同的方法名
C.一个类可以拥有多个重载的构造方法
D.在构造方法中利用this调用其他版本的构造方法时,this调用必须放在构造方法的第一句
19、下列代码运行结果是?( )
int[][]a2=new int[3][];
a2[0]=new int[]{1,3,4};
a2[1]=new int[]{19,31,45,4};
System.out.println(a2[2].length);
A.4 B.3 C.运行异常 D.编译错误
a2[2]未被赋值→求一个数组为null对象的长度→NullPointerException 空指针异常→运行时异常
第一维度定义长度为3,没越界,没赋值,所以a2[2]为null(二维里的第一个维度是一维数组)
20、下列代码运行结果是?( )
int[][]a2=new int[3][];
a2[0]=new int[]{1,3,4};
a2[1]=new int[]{19,31,45,4};
System.out.println(a2[0].length);
A.0 B.3 C.4 D.不确定
a2[0].length列数
21、数组int[] []a=new int[3][4];请问a.length的值为多少?( )
A.5 B.3 C.4 D.6
a.length行数
22、以下关于方法覆盖描述错误的是( )
A.覆盖的方法和被覆盖的方法必须具有完全相同的方法名、参数列表和返回类型
B.覆盖的方法的访问范围不能比被覆盖的方法访问范围小(可放大范围,不能缩小)
C.覆盖的方法不能抛出被覆盖方法不能抛出的异常
D.被覆盖的方法不能被缺省修饰符修饰
重写的话,子类的返回值类型是有要求的。如果父类的返回值类型是基本数据类型,那么子类的返回值类型必须和父类一致。如果父类的返回值类型是引用数据类型,那么子类的返回值类型必须是父类的返回值类型或者父类返回值类型的子类。
23、下列给出的代码段运行结果是?( )
public class Example {
nt maxElements;
void Example() {
maxElements = 100;
System.out.println(maxElements);
}
public Example(int i) {
maxElements = i;
System.out.println(maxElements);
}
public static void main(String[] args) {
Example a=new Example();
Example b=new Example(999);
}
}
A.打印输出100 999
B.打印输出999 100
C.代码编译失败(没有定义无参构造函数,a对象无法创建)
D.代码编译成功但运行不正常
24、下列代码输出结果是( )
int i = 10;
while ( i > 0 ){
i = i + 1;
if ( i ==10 ){
break;
}
}
A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次
25、语句for( ;1;)是什么意思?
A.死循环 B.编译错误 C.执行1次 D.执行2次
for循环中的初始化条件、循环条件和迭代语句都可以为空。
for(;1;)中,循环条件结果需要是boolean类型,但1为int类型,不能自动转为boolean类型,故编译报错。
死循环→for( ;true;) for( ; ;)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话