1.请看下列代码:
class ClassA {}
class ClassB extends ClassA {}
class ClassC extends ClassA {}
public class Test{
public static void main(String[] args) {
ClassA p0 = new ClassA();
ClassB p1 = new ClassB();
ClassC p2 = new ClassC();
ClassA p3 = new ClassB();
ClassA p4 = new ClassC();
<插入代码>
}
}
可以在<插入代码>处,填入的代码正确的是()
A.p0 = p1;
B.p1 =p2;
C.p2 = p4;
D.p2 = (ClassC)p1;
正确答案:A
2.运行下面程序:
public class Foo {
public static void main(String[] args) {
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
operator(a,b);
tln(a+","+b);
}
public static void operator(StringBuffer x,StringBuffer y){
nd(y);
y=x;
}
}
输出的结果是:()。
A.A,B
B.A,A
C.B,B
,B
正确答案:D
3.下列代码的输出结果是: ()。
public class A {
public void info(){
tln("A info");
}
}
public class B extends A{
public void info(){
tln("B info");
}
public static void main(String[] args) {
B b=new B();
A a=b;
();
}
}
A.B info
A info
B.A info
B info
C.A info
D.B info
正确答案:D
4.下列代码运行的结果是()。
public class Base {
public static final String FOO = "foo";
public static void main(String[] args) {
Base b = new Base();
Sub s = new Sub();
t();
t();
t();
t();
t(((Base) s));
}
}
class Sub extends Base {
public static final String FOO = "bar";
}
oofoofoofoo
arfoobarbar
arfoofoofoo
arfoobarfoo
正确答案:D
5.执行下列语句:
int a = 0x9af700; // 00 00 00 10 01 10 10 1111 0111 0000 0000 00
a <<= 2;
变量a的值为:()。
A. 0x26bdc00
B. 0xc6bdc00
C. 0x3fa0000
D. 0x7e02ffff
正确答案:A
6. 下面的代码用于对数组arr实现冒泡排序:【1,2,3,4,5】
for (int i = 0; i < th - 1; i++) {
boolean isSwap = false;
空白处
if (!isSwap)
break;
}
下列选项中,空白处可以填入的代码是:()。//每轮比较结束把最小的放在前面
A. for (int j = th - 1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
isSwap = true;
}
}
B. for (int j = th - 1; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
isSwap = true;
}
}
C. for (int j = i + 1; j< th; j++) {
if (arr[j] < arr[j - 1]) {
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
isSwap = true;
}
}
D. for (int j = i; j< th; j++) {
if (arr[j] < arr[j - 1]) {
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
isSwap = true;
}
}
正确答案:A
7.下列语句创建对象的总个数是:()。
String s=”a”+”b”+”c”+”d”+”e”;
A.1
B.2
C.3
D.4
正确答案:A
8.运行下列程序:
String str = "**oracle***oracle*****oracle***";
String str1 = "oracle";
int index = 0;
while ((index = xOf(str1, index)) != -1) {
t(index+””);
index += th();
}
控制台输出的结果是:()。
A.1 10 21
B.2 11 22
C.3 13 23
D.5 13 22
正确答案:B
9. 下列表达式中,可以得到精确结果的是()。
A. double d1 = 3.0 - 2.6; 0.4
B. double d4 = 2.5 * 1.5;
C. double d2 = 30/300;
D. double d3 = 1/2 + 0.5;
正确答案:B
10.类Super及Sub定义如下:
public class Super {
private void f() {
tln("Super.f()");
}
public void g() {
f();
}
public void k() {
f();
}
}
public class Sub extends Super {
private void f() {
tln("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
11. 下列数组声明语句中,错误的是:()。
[] arr = new int[8];
[] arr = new int[8]{};
[] arr = {};
[] arr = new int[]{};
正确答案:B
12.执行下列语句:
int num=~3+2; 变量num的值为()。
A.-3
B.3
C.-2
D.-1
正确答案:C
13.请看下列代码:
interface Data { public void load(); }
abstract class Info { public abstract void load(); }
下列选项中,能正确使用Data接口和Info类的是()。
ic class Employee extends Info implements Data {
public void load() { /*do something*/ }
}
ic class Employee implements Info extends Data {
public void load() { /*do something*/ }
}
ic class Employee implements Info extends Data {
public void () { /*d something */ }
public void load() { /*do something */ }
}
ic class Employee extends Info implements Data {
public void load() { /*do something */ }
public void () { /*do something*/ }
}
正确答案:A
14.下列代码编译和运行的结果是()。
public class A {
public void start() {
tln("TestA");
}
}
public class B extends A {
public void start() {
tln("TestB");
}
public static void main(String[] args) {
((A) new B())t();
}
}
A.输出:TestA
B.输出:TestB
C.输出:TestA TestB
D.编译错误
正确答案:B
15.类A,B的定义如下:
class A {
private int a = 100;
A() {
t("A()");
tln(a);
}
}
class B extends A {
private int a = 200;
B() {
t("B()");
tln(a);
}
}
运行下面的代码:new B();
输出的结果是:()。
A. A() 100
B() 200
B. A() 200
B() 200
C. B() 200
A() 100
D. B() 200
A() 200
正确答案:A
16.下列代码的输出结果是()
public static void main(String[] args) {
String test = "a1b2c3";
String[] tokens = t("d");
for (String s : tokens)
t(s + " ");
}
A.a b c
B.1 2 3
C.a1b2c3
D.a1 b2 c3
正确答案:A
17. 关于Java线程说法错误的是()。
A.创建线程的有2种方式,方式1是继承Thread类,方式2是实现 Runnable 接口
B.解决线程安全使用问题 synchronized关键字,使得同一时间只有一个线程执行该关键字限定的代码段
C.线程间通信所使用的方法有,wait,notify,notifyAll,它们都是 Thread 的方法
线程包括5个状态,线程的创建,可运行,运行,阻塞和消亡
正确答案:C
18.下列代码的输出结果是()。
boolean b=true?false:true==true?false:true;//b=tuer?false:false
tln(b);
e
D.空字符串
正确答案:B
19.请看下列代码编译和运行的结果是()。
interface DeclareStuff {
public static final int EASY = 3;
void doStuff(int t);// public rabstract
}
public class TestDeclare implements DeclareStuff {
public static void main(String[] args) {
int x = 5;
new TestDeclare()uff(++x);
}
void doStuff(int s) {
s += EASY + ++s;
tln("s=" + s);
}
}
A.s=14
B.s=16
C.s=10
D.编译失败
正确答案:D
20. 运行下面的程序:
String[] fileNames = { "", "", "", "","" };
for (String fileName : fileNames) {
if (With("")) {
t(tring(0, fileName
IndexOf(""))+" ");
}
}
控制台的输出结果是:()。
A. bcd. cde. efg.
B. bc cd ef
C.
D. bcd cde efg
正确答案:D
21.下列代码的作用说法不正确的是:()。
class Card implements alizable{}
A.开启序列化功能,使得Card类的对象可以存储到文件中
B.开启序列化功能,使得Card类的对象可以在网络上传输
C.使得Card类的子类的对象可以被序列化
D.导致Card的子类的对象不可以被反序列化
正确答案:D
22. 运行下列代码,输出为false的是:()。
A. String st1 = "abc";
tln("abc" == st1);
B. String st2 = "abc";
tln(ls(new String("abc")));
C. Integer i = 100; //
tln(100 == i);
D. ArrayList list = new ArrayList();
tln(ains(null));
正确答案:D
23.运行下列程序:
String str = "**java***java*****java*";
String str1 = "java";
int index = 0;
while ((index = xOf(str1, index)) != -1) {
t(index+””);
index += th();
}
控制台输出的结果是:()。
A. 1 8 17
B. 2 9 18
C. 5 12 21
D. 6 13 22
正确答案:B
24. 下列代码中不能正确获取到Class类的对象的是:()。
ng sub = "hello";
Class c1 = lass();
s c2 = ;
s c1 = ame ("ger");
on b = new Button();
Class c1 = lass();
Class c2 = uperclass();
正确答案:B
ncoding是一种应用于HTTP协议的编码方式,字符串“你好”基于UTF-8的URLEncoding编码为: “%E4%BD%A0%E5%A5%BD”
其中E4、BD、A0为字符“你”的UTF-8编码的十六进制形式(3个字节),而E5、A5、BD为字符“好”的UTF-8编码的十六进制形式。
下面的代码用程序的方式输出字符串“你好”的基于UTF-8的URLEncoding序列:
String msg = "你好";
空白处1
StringBuilder sb = new StringBuilder();
for (int i = 0; i < th; i++) {
空白处2
nd("%")nd(str);
}
tln(ring());
空白处1及空白处2分别应填入的代码是()。
A. byte[] bs = hars("utf-8");
和 String str = xString(bs[i]& 0xff)perCase();
B. byte[] bs = ytes("utf-8");
和 String str = xString(bs[i])perCase();
C. byte[] bs = ytes("utf-8");
和 String str = xString(bs[i] & 0xff)perCase();
D. byte[] bs = ytes();
和 String str = xString(bs[i])perCase();
正确答案:C
26.程序执行的结果是()。
public class Test {
String name="Tom";
public Test(String name){
name=name;
}
public static void main(String [] args){
Test t = new Test("Jack");
tln();
}
}
D." "
正确答案:B
27. 下列属于不合法Java标识符的是()。
A._avaj
B.5save
D.$80
正确答案:B
28.下列代码的输出结果是()。
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
t("Cat");
}
};
Thread t = new Thread(r) {
public void run() {
t("Dog");
}
};
t();
}
C.没有任何输出
D.抛出运行时异常
正确答案:B
29. 下面关于final说法正确的是:()。
l修饰类时,该类能被继承。
l修饰方法时,该方法能被重写。
C.当使用static final 修饰的常量时,将采用编译期绑定的方式。
D.当使用final和abstract共同修饰一个类时,final应至于abstract之前。
正确答案:C
30. 下面关于final说法错误的是:()
A. final修饰类时,该类不能被继承。
B. final修饰方法时,该方法不能被重写。
C. 当引用到使用static final 修饰的常量时,将采用编译期绑定的方式。
D. 当使用final和abstract共同修饰一个类时,final应至于abstract之前。
正确答案:D
31.请看下列代码:
public static void main(String[] args) {
<插入代码>
tln(s);
}
如果程序输出的结果是4247,那么在<插入代码>处应该填入代码是()。
ng s = "123456789";
s = (s-"123")ace(1,3,"24") - "89";
ngBuffer s = new StringBuffer("123456789");
te(0,3)ace( 1,3, "24")te(4,6);
ngBuffer s = new StringBuffer("123456789");
tring(3,6)te( 1 ,3)rt( 1, "24");
ngBuilder s = new StringBuilder("123456789");
tring(3,6)te( 1 ,2)rt( 1, "24");
正确答案:B
32. 下面关于interface,叙述错误的是:()
A.一个interface可以继承多个interface
B.接口中的方法可以由private修饰
rface中可以定义static final 常量
rface中可以无任何方法定义
正确答案:B
33.分析如下代码,输出结果为()。
public static void main(String[] args) {
int i = 0;
boolean re = false
re = ((++i) + i == 2) ? true : false;
tln("i=" + i + ",re="+re);
}
A.i=1,re=true
B.i=0,re=true
C.i=1,re=false
D.i=0,re=false
正确答案:A
34. 下列数组声明语句中,错误的是:()。
A. int[] arr = new int[]{};
B. int[] arr = new int[];
C. int[] arr = {};
D. int[][] arr = new int[2][]
正确答案:B
35.下列代码的运行结果是()
public static void main(String[] args) {
String str = "420";
str += 42;
t(str);
}
A.42
B.420
C.462
D.42042
正确答案:D
36.所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 = 1*1*1+5*5*5+3*3*3,下面的.程序用于输出2~1000内的水仙花数:
for (int n = 2; n <= 1000; n++) {
空白处
if (s == n) {
tln(n);
}
}
下列选项中,空白处可以填入的代码是:()。
A. int s = 0, n1 = n;
while (n1 > 0) {
int t = n1 % 10;
s += t * t * t;
n1 /= 10;
}
B. int s = 0, n1 = n;
while (n1 > 0) {
int t = n1 / 10;
s+= t * t * t;
n1 %= 10;
}
C. int s = 0;
for(int n1 = n; n1>0; n1 /= 10) {
int t = n1%10;
s += t * t * t;
}
s = 0;
for(int n1 = n; n1>0; n1 %= 10) {
int t = n1 / 10;
s += t * t * t;
}
正确答案:AC
37. 下面的方法属于StringBuffer的是:()。
A. size
B. insert
C. delete
D. length
正确答案:BCD
38.类Super的定义如下:
class A {
protected void f() throws IOException {
………
}
}
下列代码段中,没有编译错误的是:()。
A. class B extends A {
public void f() throws Exception {
………
}
}
B. class B extends A {
public void g() throws IOException {
f();
}
}
C. class B extends A {
public void g() {
try {
f();
………
}catch(Exception e) {
………
}catch(IOException e1) {
………
}
}
}
D. class B extends A {
public void g() {
try {
f();
}catch(IOException e) {
throw new RuntimeException(e);
}
}
}
正确答案:BD
39.查看如下代码:
public class Foo {
public void method(String str,int age){}
}
下列选项中,和 Foo 类中 method 方法重载的方法是()。
ic 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
40. 下列关于Java的说法,错误的是()。
A. Java语言是纯粹的面向对象的语言。
B. Java程序的运行必须有Java虚拟机(JVM)的支持。
C. Java语言支持指针。
D. Java语言支持多重继承。
正确答案:CD
41.矩阵是指纵横排列的数据表格,最早来自于方程组的系数及常数所构成的方阵,如:
a11 a12... a1n
a21 a22... a2n
... ... ...
am1 am2... amn
矩阵乘积规则示例如下:
两个矩阵a和b可以相乘的条件是a矩阵的列数和b矩阵的行数相同,例如:
假设矩阵a为“2行3列”:
a11 a12 a13
a21 a22 a23
矩阵b为“3行2列”:
b11 b12
b21 b22
b31 b32
a和b可以相乘,乘积矩阵为:
a11*b11+a12*b21+a13*b31 a11*b12+a12*b22+a13*b32
a21*b11+a22*b21+a23*b31 a21*b12+a22*b22+a23*b32
Matrix类的定义如下:
public class Matrix {
private double[][] data;
private int rows;
private int cols;
public Matrix(int rows, int cols) {
if (rows <= 0 || cols <= 0)
throw new IllegalArgumentException("");
= rows;
= cols;
data = new double[rows][cols];
}
public Matrix(int rows, int cols, String line) {
if (rows <= 0 || cols <= 0 || line == null)
throw new IllegalArgumentException("");
String[] dataStr = t(",");
if ( 空白处1 ) {
throw new IllegalArgumentException("");
}
= rows;
= cols;
data = new double[rows][cols];
for (int i = 0; i < th; i++) {
( 空白处2 )
}
}
public Matrix mul(Matrix ma) {
if ( 空白处3 ) {
throw new IllegalArgumentException();
}
Matrix mc = new Matrix(rows, );
for (int i = 0; i < ows(); i++) {
for (int j = 0; j < ols(); j++) {
for ( 空白处4 ) {
空白处5
}
}
}
return mc;
}
public int getRows() {
return rows;
}
public int getCols() {
return cols;
}
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols - 1; j++) {
nd(data[i][j])nd(",");
}
nd(data[i][cols - 1])nd("n");
}
return ring();
}
}
(1). 空白处1()
A. th != (rows-1) * (cols-1)
B. th != (rows-1) * cols
C. th != rows * cols
D. th != rows * (cols-1)
正确答案:C
(2). 空白处2()
A. data[i % cols][i / cols] = eDouble(dataStr[i]);
B. data[i/cols][i % cols] = eDouble(dataStr[i]);
C. data[i/ rows][i % rows] = eDouble(dataStr[i]);
D. data[i % rows][i /rows] = eDouble(dataStr[i]);
正确答案:B
(3). 空白处3()
A. cols !=
B. rows !=
C. rows !=
D. cols !=
正确答案:D
(4). 空白处4()
A. int k = 0; k < cols; k++
B. int k = 0; k
C. int k = 0; k
D. int k = 0; k
正确答案:A
(5). 空白处5()
A. [i][j] += data[k][j] * [i][k];
B. [i][j] += data[k][i] * [j][k];
C. [i][j] += data[j][k] * [k][i];
D. [i][j] += data[i][k] * [k][j];
正确答案:D
42.下面的程序用于从54张扑克牌中,随机选出13张不同的扑克牌。
public static void main(String[] args) {
String[] cards = { "红桃3", "红桃4", "红桃5", "红桃6", "红桃7",
"红桃8","红桃9","红桃10","红桃J","红桃Q","红桃K","红桃A",
"黑桃3", "黑桃4", "黑桃5", "黑桃6", "黑桃7","黑桃8","黑桃9",
"黑桃10","黑桃J","黑桃Q","黑桃K","黑桃A","红方块3", "红方块4",
"红方块5", "红方块6", "红方块7","红方块8","红方块9","红方块10",
"红方块J","红方块Q","红方块K","红方块A","黑方块3", "黑方块4",
"黑方块5", "黑方块6", "黑方块7","黑方块8","黑方块9","黑方块10",
"黑方块J","黑方块Q","黑方块K","黑方块A"};
int len=th;
空白处1
while (true) {
Random rd = new Random();
空白处2
(cards[index]);
if ( 空白处3 == 13) {
break;
}
}
空白处4
while ( 空白处5 ) {
tln(());
}
}
(1).下列选项中,能填入空白处1的代码是( )
cardThirteen = new HashSet();
cardThirteen = new Set();
cardThirteen = new List();
cardThirteen = new ArrayList();
正确答案:A
(2).下列选项中,能填入空白处2的代码是( )
x = Int();
x = Int(5);
x = Int(len + 1);
x = Int(len);
正确答案:D
(3).下列选项中,能填入空白处3的代码是( )
th
th()
()
正确答案:D
(4).下列选项中,能填入空白处4的代码是( )
ator it = ator();
ator it = ();
ators it = ator();
ators it = s();
正确答案:A
(5).下列选项中,能填入空白处5的代码是( )
ext()
exts ()
()
s()
正确答案:A