一、选择题
1.1 有以下名词javac,JVM,javadoc, Eclipse,其中包含在JDK中但不包含在JRE 中的有.()个。
A.1
B.2
C.3
D.4 .
答案:B
其中javac,javadoc 属于JDK但不属于JRE
JVM属于JRE
Eclipse 不属于JDK
1.2 下列不是Java合法标识符的单词数量是(): class, main, java.lang,helloWorld#, 1980_s
A.2
B.3
C.4
D.5 .
答案:C
标识符只由字母、数字、下划线“_”和“$”组成并且不能以数字开头
class是关键字、java.lang中包含“.”、_helloWorld#包含“#”、1980_s以数字开头
注意:main不是java中的关键字,它只是程序的入口
1.3 下列赋值语句中不正确的是().
A. long In=8888888888L;
B. Integer n=3.3; .
C.float f-3.33E3F;
D.String s=(String)new Object();
答案:B
doube无法转换为integer可以尝试用以下方式
- math.round()
- Integer n = (int)3,3;
1.4 下列表达式的输出结果不是55的是(
) .
A.3+'4’
B.3+“4”
C.‘4’+3
D.'3’+4 .
答案:B
其中ACD都是单字符(单引号)转ascii码相加,而B不是
1.5 5.下列描述中正确的是(
A. super关键字可用于访问所有父类中定义的成员
.B. this关键字可以用于访问类中所有的成员.
C. super关键字可用在静态方法史·
D. this关键字可用于访问直接父类中定义的public成员
选择B
A:super无法访问父类中的私有成员
B:this只能访问本类的所有成员
C:super不能用在静态方法中
D:thihs无法子类1调用同名方法的实现
1.6 下列关于new关键字的描述中正确的是(
)
A.建立一个现有对象的拷贝,并用该对象的值进行初始化
B.建立一个新的对象,并对其进行初始化
C.将一个对现有对象的引用指向这个新的对象。
D.新建一个基本数据类型对象
答案:B
new就是干这种事情。
1.7 下列描述中正确的是().
A.Java中允许继承两个抽象类
B. Java中不能实现多个接口。
C.一个接口可以继承另一个接口
D.一个接口可以实现另一个接口.
答案:C
Java只允许单继承,Java中允许实现多个接口。接口和接口之间父子关系用继承extends
1.8 关于访问修饰符的描述中,正确的是(
) .
A.父类中声明为private的方法,子类可重写为public .
B.静态方法可声明为private .
C.默认的访问范围比 protected的小·
D.抽象方法的访问范围没有任何限定,也可以用private修饰
答案:C
protected可以访问同一个类,同一个包和子类
而默认的访问只能访问同一个类,同一个包,因此C对
其他错误:
A:子类无法继承private方法
B:语法没问题但这样做没有意义
D:抽象方法要被重写所以不能用private修饰
1.9 下列关于异常的描述中,不需要在程序中声明或处理的数量是(
ArrayIndexOutofBoundsException,IOException, Error,NumberFormatException,所有Run–timeException的子类
A.4
B.3
C.2
D.1 .
答案:B
ArrayIndexOutofBoundsException需要处理
IO也需要处理
后面三种不需要处理。
1.10 没有这道题
1.11 下列关于PreparedStatement的说法中正确的是( )
A.这是一种方法,能够把语句中的?”替换成任意字符
B.只能用于select语句中
C.只能用于update语句中
D.以上说法均不正确
答案:D
A:?号是指无内容的意思
BC只能用于错
1.12 已知有四语句构建四个字符串:String s1=”Hello"; String s2=“He”+“llo”;String s3=new String(”
Hello");String s4=s1.substring(O);则四个变量s1,s2,s3,s4指向几个不同的字符串首地址()
A.1
B.2
C.3
D.4.
答案:B
除了new会创建新地址,其他都是同一个指向.
1.13 下列数组初始化操作中正确的是()。
A. int[]i={2,3,4,4};
B.double[ ] d=new double(30);
C.char[ ]cr=new char(1…30);
D. float[] f={1.2,3.4,5.6}; .
答案:A
C经典的错误,B等号右边圆括号改成方括号。D要加上f
1.14 定义一个类public class News<_>{},以下各选项中只有一项填入后无法使代码编译通过,请问是哪个() .
A.?
B. News
C.N
D.Object .
答案:A
需要标识符确定
1.15 有语句List list=new ArrayList<>(),以下操作中正确的是(
A. list.add(1,2,3);
B.list.add(new Integer(1)); ·
C. list.add(1.2);
D. list.add(3*4-5); .
答案:D
A选项只能添加一项,B无须新创建,Java8不可以用。C浮点数有问题,
1.16 需要从任意源中读取数据,可以是文件、数组、外围设备或网络接口等,该使用的流是() .
A. InputStream
B.OutputStream
C. Input/OutputStream
D.以上都不是。
答案:A
1.17 从普通文件in.dat中读入内容,有DataInputStream ins=new DataInputStream(new__(”。in.dat"'));则横线处该填入的是(
).
A.File
B. FileInputStream .
C. FileOutputStream
D.无.
答案:B
因为有DataInputStream存在
1.18 利用TCP套接字实现服务器和客户端的连接,应当创建的Socket对象类型分别为( )-
A.Socket和 Socket
B. ServerSocket和 Socket .
C. ServerSocket和 ClientSocket
D.Socket和 ClientSocket .
答案:B
书上有的.直接记忆,或者这样记忆Socket是客户端用的,ServerSocket是服务器用的.
1.19 建立并初始化ServerSocket对象后,调用下列哪个方法可使服务器开始侦听指定端口等待连接() .
A.无
B. listen()
C. wait()
D. accept() -
答案:A
因为,在new的时候已经制定端口
1.20 对以下代码,用命令行参数运行:java Test,描述正确的是()。
1. public class Test { .
2.public static void main(String[] args){ .3.for(int i=1; i<=args.length; i++).
4.System.out.println(args[iD;
5.}-
6.}·
A.代码能通过编译,且正常运行,输出Test
B.代码能够通过编译,但运行时会出错。
C.代码无法通过编译
D.以上说法都不对
答案:D
编译通过并且正常运行,不输出任何东西。
1.21
1. public class Test{.
2.public static void main(String[] args){ -3. final char a='A', e='E';.
4. char grade='B';'.
5. switch(grade){ .6. default: .
7. case a: . ...
8. case 'B':'C: System.out.print("'great "); .9. case 'D:System.out.print("'good");break; .10. case e: .
11. case F:System.out.print("not good "); .12. }·
13}
14}
对上述代的描述正确的是()。
A.代码无法通过编译
B.代码能正确运行,输出great .
C.代码能正确运行,输出 great good
D.代码能正确运行,输出good .
答案:A
因为第8行有:
1.22
1.public class Test{
2.int num=1;.
3. public ? int triple(int num){
4. return 3*num;
5.}
6. public ? int countNum(){.7. return num;
8. }
9.}
在上述代码中,若要将”?”处改为static,则合适的位置应当是在第(
)行.
A.3
B.6
C.3,6均可
D.3,6均不可
答案:A
6这个地方没有定义num,使用的是顶上的num,如果使用static,就会报错
1.23
class A{
A(int n){
System.out.println(n);
}
}
class B extends A{
B(int n){
super(n);
}
}
public class C{
public static void main(String[] args){
B b=new B( 1);
}
}
A.代码能够通过编译,且正常运行。
B.代码能够通过编译,但无法正确运行.
C.代码无法通过编译,因为A没有提供无参构造方法。
D.代码无法通过编译,因为B没有提供无参构造方法。
答案:A
1.24
1.class C18} .
2. class C2 extends C1}.
3. class C3 extends C2}·
4. class C4 extends C2}·
5. public class C{.
6. public static void main(String[largs){
7.C1 c1=new C10;
8.C1 c2=new C2o;
9. C1 c3=new C30;-
10.C1 c4=new C40;
.11.}.
I
12.}
对上述代码,以下描述中正确的是(
) .
A.代码能够通过编译,且正确运行
B.代码能够通过编译,但运行时会报错。
C.代码无法通过编译,第8行会报错
D.代码无法通过编译,第9行会报错。
答案:A
1.25
1. public static int testa(int a, int b){.2.^try { .
3.return a / b; .
I
4.catch(ClassCastException e){ .
5. return 10;
6. }catch(RuntimeException e){.7. return 20;
8. } finally{.9. return 30; .10.}·
11.}.
对上述代码,当a和 b均为0时,函数的返回值是()。
A.抛出异常
B.30
C.20
D.10.
答案:B
1.26
1. try {.
2. Statement stmt=conn.createStatement(); .
3. String query=SELECT* from Student where Name like ’王%"";。
4. ResultSet rsrstmt.executeQuery(query); -
5. if(rs==null){.
6.System.out.println("'No results"');
6. }else{ .
7. System.out.println(rs.getString('Name'));
9. }.
10.}catch(SQLException e){.
11.System.out.println(SQLException");
12.}·
关于此代码片段,假设已经建立了数据库的连接,SQL查询能够得到结果,则下述描述正确的是().
A.代码无法通过编译,在第4行报错
B.输出第一个王姓学生的名字。
C.输出No results
D.输出SQLException.
答案:B
1.27
1.String str=54321";
2.String subs=str.substring(4); .
3.System.out.println(subs.charAt(2));-
对上述代码片段,以下描述正确的是。A.输出2
B.输出1
C.无输出
D.运行时报错.
答案:D
1.28
1.class Mammal}·
2.class Bat extends Mammal{ .
3. class Cat extends Mammali}.
4. class Sat {}.
5.class FurN extends Mammal>{.
6. void clean(){ .
7. Fur bat = newFur();
8. Fur cat = newFur(); .
9.Fur sat = new Fur();.
10. } .
11.}.
上述代码无法通过编译,请问出现第一个编译错误的是在第()行.A.5
B.7
C.8
D.9.
答案:D
1.29
1. import java.io.*;
2. public class Test {.
3.public static void main(String[1 args) throws IOException{
4. try {.
5.PrintWriter output =new PrintWriter("t.txt");
6. output.printf(2%c','1'); .
7. output.printf(%s"',"234');
8. output.printf(%.2f',56.789);
9. output.close(); .
10. }catch(IOException ex){
11. ex.printStackTrace();
12.}
13.}
14.}
文本文件默认编码为ASCII,运行程序后,文件t.txt的大小是(
)字节
A.18
B.16
C.9
D.8.
答案:C
1.30
1. public class Test{ .
2. public static void main(String[] args){
3. int start=1;.
4.int sum=0;
5.do{.
6.if(start%2==O) .
continue;
sum+=start; .
9. }while(start++<=10); .
10. System.out.println(sum);
11.}
12.} .
运行该程序后,程序的输出是
(31).
答案:36,
理由:1+3+5+7+9+11
1.31
1.public class Test {.
2.public static void main(String[] args){
3. String url="www.amazon.com";
4.int si-url.indteXdeXo."):
6. String sub=_
7.String rep-url.replace(sub,"baidu");
8. System.out.println(rep);
9. }.
10.} .
上述代码的功能是将任意形如www.xxx.com的网址变换成www.baidu.com,横线处该填入的代码是
(32).
答案:url.substring(si+1,ei);
1.32
public class Test {
public static String cry(int num){return"1"+num;
public static String cry(Integer num){return ”2"'+num;
public static String cry(Object num){return “3”+num; .
}
public static void main(String[] args){
System.out.println(cry(5.0));
}
述程序运行后的输出是
(33).
答案:35.0
1.33
public class Test {
public static String cry(int num){return"1"+num;
public static String cry(Integer num){return ”2"'+num;
public static String cry(Object num){return "3"+num; .
}
public static void main(String[] args){
System.out.println(cry(5.0));
}
述程序运行后的输出是
(33).
答案:3
1.34
lass Ai
public void printClass(){System.out.print("A");
class B extends A {.
public void printClass(){·System.out.print("B);
}.
class C extends B{,
public void printClass({.super.printClass(); .
System.out.println("C");}。
} ,
public class Test {.
public static void main(String[]args){·A[]a={new A(), new B(), new CO};for(A ea:a) .
ea.printClass(); }。
编译运行上述代码后,程序的输出是
答案:ABBC
1.35
package com.company;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
try{
System.out.print("A");
throw new ArrayIndexOutOfBoundsException();
}catch(RuntimeException ex){
System.out.print("B");
}catch(Exception ex){
System.out.print("C");
}finally {
System.out.print("D");
}
}
}
运行上述代码后,程序的输出结果是
(36).
答案:ABD
1.36
public static< >void selectionSort(E[]list){ .
for (int i = 1; i< list.length; i++){-
E currentElement = list[i];-
int k; .
while(list[k].compareTo(currentElement)>0) {.list[k+1]=list[k];·
k--;v
}·
1/Insert the current element into list[k+1]. list[k+1]=currentElement; -
.}12.}·
述代码实现了任意类型数组的选择排序方法,请补全方法头定义处缺失的代码
(37).
答案:E comparable <E>
1.37
1. public class Test {.
2.public static void main(String[] args){.
3.List<String dryFruits=new ArrayList<>(); ·4. dryFruits.add(Walnut?'); .
5. dryFruits.add("'Apricot"); .6. dryFruits.add('Aimond”); .7. dryFruits.add('Date");.
8. for(int i=0; i<dryFruits.size(); i++){。9.if(dryFruits.get(i).startsWith(”A'))10.dryFruits.remove(i);.
11.}.
12.System.out.println(dryFruits); .13. }·
14.} ·
当运行上述代码后,输出的内容是
(38).
答案:[Walnut, Almond, Date]
1.38
- DataOutputStream output=new DataOutputStream(new FileOutputStream(“t.dat”));.2. output.writeByte(123); .
- output.writeFloat(123.4F); 4. output.writeUTF(”花魁?);-
I
有以上代码片断,当执行完以上代码片断后,往文件t.dat中写入的字节数是
(39).
答案:13
1.39
- public class Test { .
- public static void main(String[] args){·3. xMethod(26480);·
- }.
5.public static void xMethod(int n){·6. ifn>0){· - System.out.print(n%10+”3);.8.xMethod(n/10);.
- } .
10.}11.}·
当编译运行上述程序后,输出结果是
(40) .
答案:0 8 4 6 2
1.40
第一个空:System.arraycopy(chars,0,this.chars,0,chars.length);
第二个空:return chars.length
第三个空:System.arraycopy(chars,begin,temp,0,temp.length)
第四个空:temp[cnt] = (char)(‘0’ + num%10)
第五个空:temp2[cnt-1-i] = temp[i];
1.41
1.42
package com.company;
import java.util.Scanner;
public class Main {
static String decToBin(int num){
return Integer.toString(num,2);
}
public static void main(String[] args) {
int num;
Scanner sc = new Scanner(System.in);
do {
num = sc.nextInt();
System.out.println(decToBin(num));
}while(num!=0);
}
}
1.43
package com.company;
import java.io.*;
class Species{
static abstract class Human{
void eat(){
System.out.println("Human eat");
}
void sleep(){
System.out.println("Human sleep");
}
}
interface Flyable{
default void fly(){
System.out.println("Flyable flies");
}
}
interface Dreamable{
default void dream(){
System.out.println("Flyable flies");
}
}
static class Superman extends Human implements Flyable{
void eat() {
System.out.println("Superman eats");
}
void sleep(){
System.out.println("Superman sleeps");
}
public void fly(){
System.out.println("Superman flies");
}
public String toString() {
return "Superman is flying";
}
}
static class Mortal extends Human implements Dreamable{
void eat(){
System.out.println("Mortal eats");
}
void sleep(){
System.out.println("Mortal sleeps");
}
public void dream() {
System.out.println("Mortal dreams");
}
public String toString(){
return "Mortal is dreaming";
}
}
static class Eagle implements Flyable{
public void fly() {
System.out.println("Eagle flies");
}
public String toString(){
return "Eagle is about to fly";
}
}
}
public class Main {
public static void main(String args[]) {
PrintStream out = System.out;
out.println(new Species.Mortal());
Species.Flyable[] flies = {new Species.Superman(),new Species.Eagle()};
for(Species.Flyable cur:flies){
out.println(cur);
}
}
}
/// 星期六
/// 星期鈤
// 星期1
// 2 3 4