1.对Java源文件进行编译操作的命令是(B)
A.Java
B.javac
C.where is java
D.javaw
2.下列命令中,用来运行Java程序的是(A)
A.java
B. javadoc
C. jar
D. javac
分析:
对Java源程序进行编译的命令是Javac
对.class字节码文件解释执行的命令是java
java程序的完整执行流程:
Java源文件(*.java)--->javac命令:调用编译器--->产生字节码文件(*.class)---> java命令:JVM虚拟机--->Java解释器--->运行结果
3.下列代码执行后,输出结果是什么?(D)
for(int i=0 ; ; ){
System.out.println("这是"+i);break;
}
A.语法错误,缺少表达式2和表达式3
B.死循环
C.程序什么都不输出
D.输出:这是0正确答案
分析:
for循环中必须要有语句1,但是可以没有语句2 语句3 题目中for循环的语句1初始化i=0,所以输出这是0
4.以下的变量定义语句中,不合法的选项是(A B D)
A.byte= 128
B.boolean= null
C.long a= 123L
D.double = 0.9239d
分析:
A. byte b = 128;
这是不合法的。byte 数据类型的取值范围是从 -128 到 127。因此,128 超出了 byte 的取值范围,这会导致编译错误。
B. boolean b = null;
这是不合法的。boolean 数据类型只能包含两个值:true 或 false。它不能包含 null 值。
C. long a = 123L;
这是合法的。long 数据类型是一个64位有符号二进制整数,可以包含从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的值。123L 中的 L 后缀表示这是一个 long 类型的字面量,所以这是合法的。
D. double d = 0.9239d;
这是合法的,但有点冗余。double 数据类型是一个64位双精度浮点数。即使没有 d 后缀,Java也会将 0.9239 视为 double 类型。但是,d 后缀确实可以明确地表示这是一个 double 字面量。
5.下列作为java中变量名在编译期间会报错的是(D)
A.Count
B.$Hello
C._3m
D. #a
6.下面表达式正确的是(C)
A.byteb= 128;
B.booleanb= 1;
C.long a=1L;
D.floatf= 12.3;
7.下列有短路功能的逻辑运算符是(B D)
A.&
B.&&
C.|
D.||
8.以下选项中的数据类型全部属于基本数据类型中数值型的是(D)
A.int、 char、 byte、 short、 Iong
B.Double、float、 byte、 int、short
C. byte、int、 short、 long、boolean
D.double、 float、 byte、 short、int
9.char类型在内存中占用的字节长度是(B)
A.1个字节
B. 2个字节
C.3个字节
D.4个字节
10.对于变量int n=6789,表达式计算结果值为7的选项是?(C)
A.n%10
B.n/10%10
C.n/100%10
D.n/1000%10
11.设数组定义,intD array=new int[10],则数组的第一个元素的正确用法是(B)
A. array[1];
B.array[0];
C.array;
D.aray[];
12.Sring字符串的rplce0方法的作用是?(C)
A.根据下标,获取字符串中的指定位置字符
B.截取字符串
C.替换字符串
D.查找子字符串,返回子字符串 在原字符串中的下标位置
13.执行下列程序段后,运行结果为:(C)
Integer n1= 127;
Integer n2= 127;
System.out.println(nl = n2);
System.out.println(n1 .equals(n2);
A.false false
B.true false
C.true true
D.false true
14.执行下列程序段后,运行结果为:(B)
System outprintn(Integer. parselnt("01");
A.0
B.1
C.01
D.2
15.switch语句结构支持的类型包括:(A D E F I )
A.枚举
B.floal
C.double
D. byte
E.short
F. int
G.boolean
H.long
I.String
16.下列选项中,可以正常创建一维数组的选项是? (B C D E)
A.int[]nsI = new int[ ];
B.int[ ]ns2 = new int[8];
C.intns3[]= new int[8];
D.int[ ]ns4= {1,2,3,4,5};
E.int[ ]ns5 = new int[ ]{1,2,3,4,5}
F.int[ ]ns6 = new int[5]{1,2,,4,5};
17.在类的定义中可以有两个同名方法,这种现象被称为方法(D)
A.封装
B.继承
C.覆盖
D.重载
18.下列选项中关于Java中super关键字的说法正确的是(A)
A.super关键字是在子类对象内部指代其父类对象正确答案的引用
B.super关键宇不仅可以指代子类的直接父类,还可以指代父类的父类
C.子类通过super关键字只0能调用父类的方法,而不能调用父类的属性
D.子类通过super关键字只能调用父类的属性,而不能调用父类的方法
19.下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)
A.protected
B.static
C.private
D.public
20.有一个类A,下面为其构造函数的声明,其中正确的是(B)
A.void A(xntx){...}:
B. A(int x){...};
C.a(int x){...}
D.void a(int x){...}:
21.下列关于继承的说法哪个是正确的(B)
A.子类 只继承父类public方法和属性
B.子类继承父类的非私有属性和方法
C.子类只继承父类的方法, 而不继承父类的属性
D.子类将继承父类的所有属性和方法
22.下列代码段中,存在编译错误的语句是(B C D)
byte b1 = 1,b2 = 2,b3,b6,b8;
final byte b4 = 4,b5 = 6,b7;
b3 = (b1 + b2);/*语句1*/
b6 = b4 + b5 ; /*语句2*/
b8 = (b1 + b4);/*语句3*/
b7 = (b2 + b5);/*语句4*/
System.out.println(b3 + b6);
A. 语句2
B.语句1
C.语句3
D.语句4
23.给出以下代码,请给出结果(B)
package com.ztt.Demo02;class Two{Byte x;
}
class passO {public static void main(String[] args){passO p = new passO();p.start();}void start(){Two t = new Two();System.out.println(t.x+" ");Two t2 = fix(t);System.out.println(t.x +" " + t2.x);}Two fix(Two tt){tt.x = 42;return tt;}}
运行结果:
null
42 42
A.null null 42
B. null 42 42
C. 0 0 42
D. 0 42 42
E.An exception is thrown at runtime
F. Compilation
24.java语言使用的字符编码集是(D)
A:ASCII
B: BCD
C: DCB
D: Unicode
25.类Car里面有一个方法run(),如果直接用Car.run(),则方法run前面必须用关键字(D)
A. class
B. final
C. public
D. static
26.(多选)下面关于Java异常类的描述,正确的有(A B C)
A. 异常类的继承结构:基类为Thowable,Error和Exception,实现Thowable,RuntimeException和IOException等继承Exception
B. 非RuntimeException 一般是外部错误(不考虑Error的情况下),其可以在当前类被try{}catch语句块所捕获
C. Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕获
D. RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被try{}catch语句所捕获
27.(多选)多态的作用(B C)
A. 隐藏细节
B. 提高可重用性
C . 扩展代码模块
D. 提高编译可靠性
28.(多选) final、finallymfinalize的区别中,下述说法正确的有 (A B C D)
A. final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
B.finally号异常处理洁句结枸的一部分,表示总导执行。
C .finalize号Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件。
D.引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的
29.将类的成员的访问权限设置为默认的,则该成员变量能被(A)
A. 同一包中的类访问
B. 其他包中的类访问
C. 所有的类访问
D. 所有的类的子类访问
30.下列代码中,ABCD注释标注的哪行的哪些代码有错误?(D)
public class Test {
public static void main(String[] args) {
byte b = 'a';//A
int n = 100;
char c = 65;//B
b = b;//C
b = b + 1;//D
}
}
A. A
B. B
C. C
D. D
31.关于Java编译和运行命令叙述不正确的是(A)
A. 运行“java Scut.class”
B. 运行“java Scut”
C . 编译Scut.java文件,使用“java Scut.java”命令的输出文件是Scut.class
D. java这个命令的运行对象时Scut.class
32.如下Java语句double x = 2.0;int y = 4;x /=++y;执行后,x的值是(C)
package com.ztt.Demo02;public class Test {public static void main(String[] args) {double x = 2.0;int y = 4;x /=++y;System.out.println(x);}
}运行结果:
0.4
A. 0.5
B. 2.4
C. 0.4
D. 2.0
33.在循环中,break语句的作用是(C)
A. 终止本次循环
B. 终止程序
C. 终止循环
D. 终止方法
34.以下程序的输出结果是(A)
package com.ztt.Demo02;public class Print {static boolean out(char c) {System.out.print(c);return true;}public static void main(String[] args) {int i = 0;for(out('A');out('B')&&(i < 2);out('C')) {i++;out('D');}}
}运行结果:
ABDCBDCB
A. ABDCBDCB
B. BCDABCD
C. 编译错误
D. 运行错误
35.下列说法正确的是(C)
A. 不需要定义类,就能创建对象
B. 对象中必须有数据域和方法
C . 数据域可以使基本数据类型,也可以是一个对象
D. 数据域必须是基本数据类型变量
36.下列那个选项是正确计算42度(角度)的余弦值(C)
A. double d = Math.cos(42)
B. double d = Math.cosine(42)
C. double d = Math.cos(Math.toRadians(42))
D. double d = Math.cos(Math.toDegress(42))
37.下列类定义中哪些是合法的抽象类的定义(C)
A. abstract Animal{abstract void grow();}
B. class abstract Animal{abstract void grow();}
C. abstract calss Animal{abstract void grow();}
D. abstract calss Animal{abstract void grow(){System.out,println("grow!");};}
38.(多选)针对以下代码,哪些选项执行后是true的(B C)
package com.ztt.Demo02;public class CompareReference {public static void main(String[] args) {float f = 42.0f ;float f1[] = new float[2];float f2[] = new float[2];float[] f3 = f1;long x = 42;f1[0] = 42.0f;System.out.println(f1 == f2);System.out.println(x == f1[0]);System.out.println(f1 == f3);
// System.out.println(f2 == f1[1]);}
}运行结果:
false
true
true
A. f1 == f2
B. x == f1[0]
C. f1 == f3
D. f2 == f1[1]
39.默认类型等价表示是哪一项 (B)
public interface IService {String NAME = "default";}
A. public String NAME = "default";
B. public static String NAME = "default"
C. public static final String NAME = "default"
D. private String NAME = "default";
40.下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换(B)
byte[] src,dst;
A. dst = String.fromBytes(src,"GBK").getBytes("UTF-8")
B. dst = new String(src,"GBK").getBytes("UTF-8")
C . dst = new String(src,"GBK").getBytes()
D. dst = String.encode(String.decode(src,"GBK")),("UTF-8")
41.String s = new String("xyz");创建了几个StringObject?(A)
A. 两个或一个都有可能
B. 两个
C. 一个
D. 三个
42.在Java中,以下数据类型中,需要内存最多的是(B)
A. byte
B. long
C. Object
D. int
43.(多选)Java关于继承的描述正确的是(A C D)
A. 一个子类只能继承一个父类
B. 子类可以继承父类的构造方法
C. 继承具有传递性
D. 父类一般具有通用性,子类更具体
44.Java语言中的数组元素下标总是从0开始,下标可以是非负整数。(A)
A. 正确
B. 错误