if(x[i]>y)
y=x[i];
}
System.out.println(y);
A)678B)122C)987D)33
5.下列语句序列执行后,K的值是()
intx=2,y=5,k=0;
switch(x%y){
case0:
k=x+y;break;
case1:
k=x-y;break;
case2:
k=x*y;break;
default:
k=x/y;break;
}
System.out.println(k);
A)2B)5C)10D)0
6.下面的程序输出的结果是()
publicclassAimplementsB{
publicstaticvoidmain(String[]args){
inti;
Ac1=newA();
i=c1.k;
System.out.println("i="+i);
}
}
interfaceB{
intk=10;
}
A)i=0B)i=10C)编译错误D)i=true
二多选题(本大题6小题,每小题2分,共12分)
1.下面说法正确的是()
A)final可修饰类,属性变量,方法
B)abstract可修饰类,方法
C)抽象方法只有方法头,没有方法体
D)关键字final和abstract不能同时使用
2.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是()
A)内部类可以直接访问外部类的成员
B)外部类也可以直接访问内部类的成员
C)外部类不可以直接访问内部类的成员
D)外部类可以通过创建内部类的实例来访问内部类的成员
3.下面关于JAVA中输入/输出流的说法正确的是()
A)FileInputStream与FileOutputStream类用读,写字节流
B)Reader与Writer类用来读,写字符流
C)RandomAccessFile既可以用来读文件,也可以用来写文件
D)File类用来处理与文件相关的操作
4.下面关于JAVA中的线程的说法正确的是()
A)Java提供了Thread类,支持多线程机制。
B)一个线程创建并启动后,它将执行自己的run()方法
C)要在程序中实现多线程,必须在源程序前面使用import语句显示的导入Thread类
D)实现多线程有两种方法:
继承线程类Thread;实现Runnable接口
5.类B是一个抽象类,类C是一个类B的子类,但不是抽象类,下列创建对象X1的语句中正确的是()
A)BX1=newB()
B)BX1=newC()
C)CX1=newC()
D)CX1=newB()
6.关于下面的程序的说法正确的是()
1:
publicclassTest1implementsRunnable{
2:
Stringname;
3:
publicTest1(Strings){
4:
this.name=s;
5:
}
6:
publicstaticvoidmain(String[]args){
7:
Threadthread1=newThread(newTest1("111"));
8:
Threadthread2=newThread(newTest1("222"));
9:
thread1.start();
10:
thread2.start();
11:
}
12:
publicvoidrun(){
13:
System.out.println(name);
14:
}
15:
}
A)程序第12-14行的run方法是Runnable接口中的方法
B)程序第9,10行的方法调用的功能是分别启动两个线程对象thread1和thread2
C)程序能编译运行,输出结果有可能是:
111222。
D)程序能编译运行,但没有任何结果输出。
三填空题(本大题6小题,每小题2分,共12分)
1.定义字符串:
Strings=newString("javaok1"),s1=s.substring(1,4);,则s的值是____,s1的值是____.
2.在一个JAVA源文件中定义了3个类,编译该JAVA源文件时会产生_____个节码文件。
3.JAVA中,把数据和基于数据的操作封装在一起的数据类型称为______.
4.在循环中使用_____语句,将跳过本轮循环的剩余语句,进入循环的下一轮。
5.JAVA中,___是可以用来实现类间多重继承功能的结构。
6.在子类中使用关键字_____做前缀可调用被子类覆盖的父类中的方法。
四阅读程序,回答问题(本大题4小题,每小题5分,共20分)
1.
1:
publicclassOutput{
2:
publicstaticvoidmain(String[]args){
3:
inti=0;
4:
for(charch=97;ch<113;ch++,i++){
5:
if(i%8==0)
6:
System.out.println("");
7:
System.out.println("\t"+ch);
8:
}
9:
}
10:
}
(1)程序第5,6行的语句的功能是什么?
(2)程序输出的结果有几行?
2.
1:
importjava.util.Arrays;
2:
3:
publicclassSortArray{
4:
publicstaticvoidmain(String[]args){
5:
String[]str={"size","abs","length","class"};
6:
Arrays.sort(str);
7:
for(inti=0;i8:
System.out.println(str[i]+"");
System.out.println(str[0]);
9:
}
10:
}
写出程序运行后的结果
3.定义类A和类B如下:
publicclassA{
inta=1;
doubled=2.0;
voidshow(){
System.out.println("ClassA:
a="+a+"\td="+d);
}
}
classBextendsA{
floata=3.0f;
Stringd="Javaprogram.";
voidshow(){
super.show();
System.out.println("ClassB:
a="+a+"\td="+d);
}
}
(1)若在应用程序的main方法中有以下语句
Aa=newA();
a.show();
则输出的结果如何?
(2)若在应用程序的main方法中有以下语句
Ab=newB();
b.show();
System.out.println(b.a);
则输出的结果如何?
4.
importjava.util.Stack;
publicclassW{
staticString[]s={"甲","乙","丙","丁"};
publicstaticvoidmain(String[]args){
Stackstk=newStack();
for(inti=0;i stk.push(s[i]+"");
}
intk=0;
while(k<3){
System.out.println(stk.pop());
k++;
}
}
}
(1)堆栈的操作规则如何?
(2)写出程序运行后的结果。
五根据题目要求编写程序(10分)
若应用程序的main方法中,定义字符串数组f和s:
分别表示扑克牌面值和花色;定义52个元素的
Card类型数组desk,用来存放4个花色的52张牌。
如下所示:
Stringf[]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
Strings[]={"黑桃","红桃","梅花","方块"}
Card[]deck=newCard[52];
类源代码如下:
publicclassCard{
privateStringface;
privateStringsuit;
publicCard(Stringf,Strings){
face=f;
suit=s;
}
publicStringgetFace(){
returnface;
}
publicStringgetSuit(){
returnsuit;
}
publicStringtoString(){
returnface+"of"+suit;
}
}
(1)使用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存