一、单选(30小题共60.0分)
1.
类A,B的定义如下:
class A {
private int a = 100;
A() {
System.out.print("A()");
System.out.println(a);
}
}
class B extends A {
private int a = 200;
B() {
System.out.print("B()");
System.out.println(a);
}
}
运行下面的代码:
new B();
输出的结果是:()。
A.
A() 100
B() 200
B.
A() 200
B() 200
C.
B() 200
A() 100
D.
B() 200
A() 200
正确答案:A
2.
下列代码编译和运行的结果是:
public static void main(String[] args) {while在c语言中是什么意思
Float pi = new Float(3.14f);
if (pi > 3) {
System.out.print("pi is bigger than 3. ");
} else {
System.out.print("pi is not bigger than 3. ");
}
finally {
System.out.println("Have a nice day.");
}
}
A.
编译失败
B.
输出:pi is bigger than 3.
C.
输出:pi is bigger than 3. Have a nice day
D.
输出:pi is not bigger than 3. Have a nice day.
正确答案:A
3.
下列属于不合法Java标识符的是()。
A.
_mem
B.
12a
C.
M12
D.
$12
正确答案:B
4.
下列代码的运行结果是:
String test = "Test A. Test B. Test C.";
String regex = "\\.\\s*";
String[] result = test.split(regex);
for (String s : result)
System.out.print(s + " ");
A.
Test A Test B Test C
B.
Test A. Test B. Test C.
C.
Test . Test . Test .
D.
A.  B.  C.
正确答案:A
5.
类Super及Sub定义如下:
public class Super {
private void f() {
System.out.println("Super.f()");
}
public void g() {
f();
}
public void k() {
f();
}
}
public class Sub extends Super {
private void f() {
System.out.println("Sub.f()");
}
public void k() {
f();
}
}
运行下列语句:
Super obj = new Sub();
obj.g();
obj.k();
输出的结果是:()。
A.
Sub.f()
Sub.f()
B.
Sub.f()
Super.f()
C.
Super.f()
Sub.f()
D.
Super.f()
Super.f()
正确答案:C
6.
下列代码的运行结果是()。
public class Forest implements Serializable {
private Tree tree = new Tree();
public static void main(String[] args) {
Forest f = new Forest();
try {
FileOutputStream fs = new FileOutputStream("Forest.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(f);
os.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
class Tree {}
A.
编译失败
B.
运行时,抛出异常
C.
Forest的实例被序列化到文件
D.
Forest的实例和Tree的实例都被序列化到文件
正确答案:B
7.
运行下列代码,输出为false的是:()。
A.
String st1 = "abc";
System.out.println("abc" == st1);
B.
String st2 = "abc";
System.out.println(st2.equals(new String("abc")));
C.
Integer i
= 100;
System.out.println(100 == i);
D.
ArrayList list = new ArrayList();
System.out.ains(null));
正确答案:D
8.
类A,B和C的定义如下:
public class A {
public void f() {
System.out.println("A.f()");
}
}
public class B extends A {
public void f() {
System.out.println("B.f()");
}
}
public class C {
public void g(A a) {
System.out.println("g(A a)");
a.f();
}
public void g(B b) {
System.out.println("g(B b)");
b.f();
}
}
运行下面程序:
filterconfig会带病毒吗C c = new C();
A a = new B();
c.g(a);
输出的结果是:()。
A.
g(A a)
A.f()
B.
g(A a)
B.f()
C.
g(B b)
A.f()
D.
g(B b)
B.f()
正确答案:B
9.
运行下面的程序:
Calendar c = Instance();
c.set(Calendar.YEAR, 2012);
c.set(Calendar.MONTH, Calendar.SEPTEMBER);
c.set(Calendar.DATE, 31);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.Time()));
输出的结果是:()。
A.
2012-10-1
B.
2012-10-01
C.
2012-09-30
D.
2012-9-30
正确答案:B
10.
请看下列代码编译和运行的结果是()。
interface DeclareStuff {
public static final int EASY = 3;
void doStuff(int t);
}
public class TestDeclare implements DeclareStuff {
public static void main(String[] args) {
int x = 5;
new TestDeclare().doStuff(++x);
}
void doStuff(int s) {//要写public
s += EASY + ++s;
System.out.println("s=" + s);
}
}
A.
s=14
B.
s=16
C.
s=10
D.
编译失败
正确答案:D
11.
需要读取一个比较大的文本文件,这个文件里有很多字节的数据,那么下列最合适读这个文件的选项是:()。
A.
new FileInputStream(“fileName”);
B.
new InputStreamReader(new FileInputStream(“fileName”));
C.
new BufferedReader(new InputStreamReader(new FileInputStream(“fileName”)));
D.
new RandomAccessFile(“fileName”,”+rw”);
正确答案:C
12.
请看下列代码:
public static void main(String[] args) {
Date d = new Date(0);
String ds = "December 15, 2004";
<;插入代码1>
DateFormat df= DateInstance();
try {
d = df.parse(ds);
} catch (ParseException e) {
System.out.println("Unable to parse " + ds);
}
<;插入代码2>
d.setTime( (1000 * 60 * 60 * 24) + d.getTime());
}
在<;插入代码1>处创建一个DateFormat对象,在<;插入代码2>处给Date对象d加上一天,下列选项正确的是:
A.
DateFormat df= DateFormat();
d.setTime( (60 * 60 * 24) + d.getTime());
B.
DateFormat df= DateInstance();
d.setTime( (1000 * 60 * 60 * 24) + d.getTime());
C.
DateFormat df= DateFormat();
d.setLocalTime( (1000*60*60*24) + d.getLocalTime());
D.
DateFormat df= DateInstance();
d.setLocalTime( (60 * 60 * 24)
+ d.getLocalTime());
正确答案:B
13.
下列代码的输出结果是:
public static void main(String[] args) {
BigDecimal d1 = new BigDecimal("3.0");
BigDecimal d2 = new BigDecimal("2.9");
BigDecimal d3 = d1.subtract(d2);
System.out.println(d3);
}
A.
0
B.
0.1
C.
0.10000000000000009
D.
0.10
正确答案:B
14.
下列赋值语句中,正确的是()。
A.
byte b1 = 10, b2 = 20;
byte b=b1+b2;
B.
byte b1 = 10, b2 = 20;
byte b=~b1;
C.
byte b1 = 10, b2 = 20;
byte b=b1>>1;
D.
byte b1 = 10;
byte b=++b1;
正确答案:D
15.
下列代码的输出结果是:
public class Yikes {
public static void go(Long n) {
System.out.println("Long ");
}
public static void go(Short n) {
System.out.println("Short ");
}
public static void go(int n) {
System.out.println("int ");
}
public static void main(String[] args) {
short y = 6;
long z = 7;
go(y);
go(z);
}
}
A.
Long
Long
B.
Short
Long
C.
int
Long
D.
int
int
正确答案:C
16.
IO 包中,唯一代表磁盘本身的对象类是()。
A.
FileInputStream 
B.
File
C.
InputStream   
D.
BufferedReader
正确答案:B
17.
仔细分析下列代码,请指出错误的行()。
public class SomeThing{
private String str;
public int addOne(final int x){
return ++x;
}
}
A.
public class SomeThing
B.
private String str;
C.
public int addOne(final int x)
D.
return ++x;
正确答案:D
18.
请看下列代码:
interface Data { public void load(); }
abstract class Info { public abstract void load(); }
下列选项中,能正确使用Data接口和Info类的是()。
A.
pyhon 安装xpathpublic class Employee extends Info implements Data {
public void load() { /*do something*/ }
}
B.
public class Employee implements Info extends Data {
public void load() { /*do something*/ }
}
C.
public class Employee implements Info extends Data {
public void Data.load() { /*d something */ }
public void load() { /*do something */ }
}
D.
public class Employee extends Info implements Data {
public void load() { /*do something */ }
public void Info.load() { /*do something*/ }
}
正确答案:A
19.
请看下列代码:
public static void main(String[] args) {
Calendar c = Instance();
c.set(Calendar.YEAR, 2013);
c.set(Calendar.MONTH, Calendar.FEBRUARY);
c.set(Calendar.DATE, 28);
<;插入代码>
}
在<;插入代码>处填入将Calendar表示的日期转换为Date表示的日期:
A.
Date Date();
B.
Date Calendar();
C.
Date Now();
D.
Date Time();
正确答案:D
20.
下列代码的运行结果是()。
public class Animal {
public String noise() {
return "peep";
}
public static void main(String[] args) {
Animal animal = new Dog();
Cat cat = (Cat)
animal;
System.out.ise());
}
}
class Dog extends Animal {
public String noise() {
return "bark";
}
}
class Cat extends Animal {
public String noise() {
return "meow";
}
}
A.
peep
B.
bark
C.
meow
D.
抛出运行时异常
正确答案:D
21.
下列异常类是RuntimeException的子类的是:()。
A.
ArrayIndexOutOfBoundsException
B.
Exception
C.
FileNotFoundException
D.
IOException
正确答案:A
22.
请看下列代码,出现错误的行是:()
public interface Cookie{
Cookie cookie=new Cart ("小面包","盼盼");
}
public class Cart implements Cookie{
private String name;
private String production;
public Cart(String name,String production){
this.name=name;
this.production=production;
}
public void smell(){
cookie =new Cart("蛋黄派","达利园");
}
}
A.
第2行
B.
第4行
C.
第11行
D.
第12行
正确答案:D
23.
执行下列语句:
int a = 0x81fd0000; // 1000 0001 1111 1101 0000 0000 0000 0000
a >>>= 1;
变量a的值为:()。
A.
0x40fe8000
B.
0xc0fe8000
C.
0x3fa0000
D.
0x7e02ffff
正确答案:A
24.
请看下列代码:
class B extends A {}
class C extends A {}
class D extends B {}
下列说法正确的是:
A.
List<A>类型可以转换为List类型
B.
List<B>类型可以转换为List<A>类型
C.
List<D> 类型可以转换为 List<? extends B>.
D.
List<? extends A>类型可以转换为 List<A>.
正确答案:C
25.
下列不属于Java运算符的是()。
A.
!=
B.
<>
C.
>>
D.
<<
正确答案:B
26.
下列代码的作用说法不正确的是:()。
class Card implements java.io.Serializable{}
A.
开启序列化功能,使得Card类的对象可以存储到文件中
B.
开启序列化功能,使得Card类的对象可以在网络上传输
C.
使得Card类的子类的对象可以被序列化
D.
导致Card的子类的对象不可以被反序列化
git操作流程正确答案:D
27.
请看下列代码:
interface Foo {
int bar();
}
public class Sprite {
public int fubar(Foo foo) {
return foo.bar();
}
public void testFoo() {
fubar(
<;插入代码>
);
}
}
使类Sprite编译通过,在<;插入代码>处应填入的代码是:
A.
Foo { public int bar() { return 1; } }
B.
new Foo { public int bar() { return 1; } }
C.
new Foo() { public int bar(){return 1; } }
D.
new class Foo { public int bar() { return 1; } }
正确答案:C
28.
下列关于JVM说法,错误的是()。
A.
JVM通过专门的线程实现内存的回收。
B.
使用java命令时,可以通过参数来设置分配JVM的内存大小。
C.
JRE包括JVM及Java核心类库。
D.
目前主流版本JVM通过纯解释的方式运行Java字节码。
正确答案:D
29.
在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:()。
A.
java常见笔试题
10
B.
7
C.
13
D.
14
正确答案:D
30.
下列代码的运行结果是()
public static void main(String[] args) {
String str = "420";
str += 42;
System.out.print(str);
}
A.
42
B.
420
C.
462
D.
42042
正确答案:D
二、多选(5小题共10.0分)
1.
请看下列代码:
public abstract class Shape {
int x;
int y;
public abstract void draw();
public void setAnchor(int x, int y) {
this.x = x;
this.y = y;
}
}
下列选项中能正确使用Shape类的是:
A.
public class Circle implements Shape {
private int radius;
}
B.
public abstract class Circle extends Shape {
private int radius;
}
C.
public class Circle extends Shape {
private int radius;
public void draw();
}
D.
public class Circle extends Shape {
private int radius;
public void draw() {/* code here */}
}
正确答案:BD
2.
已知类Foo的定义如下:
public class Foo {
int value;
Foo(int value) {
this.value = value;
}
public boolean equals(Object obj) {
if (obj instanceof Foo) {
Foo foo = (Foo) obj;
return value == foo.value;
} else {
return false;
}
}
运行下面程序段:
ArrayList list = new ArrayList();
HashSet set = new HashSet();
list.add(new Foo(1));
set.add(new Foo(1));
System.out.println(《插入代码》);
如果控制台输出的结果是true,false,那么《插入代码》处应填入的代码是:
A.
B.
C.
new Foo(1).equals (new Foo(1)) + ","+ ains(new Foo(1))
D.
new Foo(1).equals (new Foo(1)) + ","+ ains(new Foo(1))
正确答案:AD
3.
请看下列代码:
public class TestFive {
private int x;
public void foo() {
int current = x;
x = current + 1;
}
public void go() {
for (int i = 0; i < 5; i++) {
new Thread() {
public void run() {
foo();
System.out.print(x + ", ");
}
}.start();
}
}
public static void main(String[] args) {
new TestFive().go();
}
}
为了确保输出结果是“1,2,3,4,5, ”,需要变化的两项内容是:
A.
移动代码“ System.out.print(x + ", ");”行进入foo方法,放置在“x = current + 1;”行下面
B.
改变go方法的声明为:public synchronized void go()
C.
改变x的变量声明为:private static int x;
D.
把foo方法中的所有代码,使用synchronized( this )块括起来
正确答案:AD
4.
下列关于Java的说法,错误的是()。
A.
Java语言是纯粹的面向对象的语言。
B.
Java程序的运行必须有Java虚拟机(JVM)的支持。
C.
Java语言支持指针。
D.
Java语言支持多重继承。
正确答案
:CD
5.
查看如下代码:
public class Foo {
public void method(String str,int age){}
}
下列选项中,和 Foo 类中 method 方法重载的方法是()。
A.
public int method(String str,int age){}
B.
public void  method(int year,String s){}
C.
public int  method(int year,String s){}
D.
public int method(String str){}
正确答案:BCD
三、完形填空(小题共30.0分)
1.
有一个父类Account表示银行账户。银行账户又分为储蓄账户(SavingAccount)和支票账户(CheckingAccount)。两种账户的区别是计算活期年利息的方式不同:有
储蓄账户:利率为:0.0036
支票账户:¥0—¥20000      利率为:0.0036
¥20000—¥40000  利率为:0.0037
¥40000—¥80000  利率为:0.0038
¥80000以上      利率为:0.0040
计算利息额公式为:利息= 余额×利率
以下是Account(帐户)和SavingAccount(储蓄账户)中的代码实现,根据所给代码推断出各个空白处应该填入代码。
public abstract class Account {
private String idCard;
private double balance;
//Account类构造方法
空白处1       
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
//给出balance的getter和setter方法
空白处2       
public abstract double getInterest();
}
public class SavingAccount extends Account {
public SavingAccount(String name, double balance) {
//调用父类的构造方法
空白处3       
}
//覆盖父类的getInterest方法
空白处4          {
为什么mid函数提取不了数据
return getBalance() * 0.0036;
}
}
public class Test {
public static void main(String[] args) {
空白处5         
//调用Account类的getInterest方法
double b = Interest();
System.out.println(b);
}
}
(1).
下列选项中,能填入空白处1的代码是(    )
A.
public Account(String idCard, double balance) {
this.idCard = idCard;
this.balance = balance;
}
B.
public Account(String idCard, double balance) {
idCard = idCard;
balance = balance;
}
C.
public void Account(String idCard, double balance) {
this.idCard = idCard;
this.balance = balance;
}
D.
public  void Account(String idCard, double balance) {
idCard = idCard;
balance = balance;
}
正确答案:A
(2).
下列选项中,能填入空白2的代码是(    )
A.
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
B.
public double getbalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
C.
pu

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。