Java复习题选择key.docx
《Java复习题选择key.docx》由会员分享,可在线阅读,更多相关《Java复习题选择key.docx(26页珍藏版)》请在冰豆网上搜索。
![Java复习题选择key.docx](https://file1.bdocx.com/fileroot1/2022-12/12/ab2272af-b21c-4cb9-9905-91eea8152f0e/ab2272af-b21c-4cb9-9905-91eea8152f0e1.gif)
Java复习题选择key
1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
(编译后产生的字节码是.class)
A. .java B. .class
C. .html D. .exe
2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( B )
A. 3 B. 3. 5
C. 4 D. 5
这道题不够严谨它没有指定x,y,z的类型
如果它们都是double型那么
等式等价于y=y+(z--)/(++x)
y=2+3/2;(注意z是在用后再自减的此时z=2;)
y=3.5;
如果它们都是int型的话那么
等式等价于y=y+(z--)/(++x)
y=2+3/2;(注意z是在用后再自减的此时z=2;)
y=2+1;(注意:
因为z和x都是int所以运算的结果也是int等于1
y=3;
如果是单选题的就选B,如果是多选题的话就选A、B;
3、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )?
A、public static void main( )
B、public static void main( String args[] )
这样写也是可以的publicstaticvoidmain(String[]args)
C、public static int main(String [] arg )
D、public void main(String arg[] )
4、在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
5、在Java Applet程序用户自定义的Applet子类中,常常重载( D )方法在Applet的界面中显示文字、图形和其它界面元素。
注意:
要知道Applet的生命周期即什么时候调用start()、stop()、init()
A. start( ) B. stop( )
C. init( ) D. paint( )
6、下面哪些是java语言中的关键字?
( )
Asizeof (是C++的)
B abstract
C NULL
D Native
7、下面语句哪个是正确的?
( )
A char='abc';(字符串要用双引号)
B long l=oxfff;(是十六进制的4095.0)
C float f=0.23; (floatf=0.23f;或者floatf=0.23F是一样的)
D double=0.7E-3; (如果有变更名就正确doubled=0.7E-3)
8、下程序测试String 类的各种构造方法,试选出其运行效果。
( A )
class STR{
public static void main(String args[]){
String s1=new String();
String s2=new String("String 2");
char chars[]={'a',' ','s','t','r','i','n','g'};
String s3=new String(chars);
String s4=new String(chars,2,6);(注:
取数组下标为2的开始6个元素)
byte bytes[]={0,1,2,3,4,5,6,7,8,9}; //注:
这个没有用到
StringBuffer sb=new StringBuffer(s3);
String s5=new String(sb);
System.out.println("The String No.1 is "+s1);
System.out.println("The String No.2 is "+s2);
System.out.println("The String No.3 is "+s3);
System.out.println("The String No.4 is "+s4);
System.out.println("The String No.5 is "+s5);
}
}
A The String No.1 is
The String No.2 is String 2
The String No.3 is a string
The String No.4 is string
The String No.5 is a string
B The String No.1 is
The String No.2 is String 2
The String No.3 is a string
The String No.4 is tring
The String No.5 is a string
C The String No.1 is
The String No.2 is String 2
The String No.3 is a string
The String No.4 is strin
The String No.5 is a string
D 以上都不对
9、下面语句段的输出结果是什么?
( B )
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two"); }
A default
B default, zero
C error default clause not defined
D no output displayed
注:
如果default在最前面且switch里面没有i的匹配值,那么
程序会运行第一个break前面的所有代码(这道题便是)
如果default在最后面且switch里面没有i的匹配值,那么
程序只会运行default语句后面的代码
只要switch里面有匹配值不管default在那里只运行那个
相应的case的代码
10、一个可以独立运行的Java应用程序(D)
A、可以有一个或多个main方法
B、最多只能有两个main方法
C、可以有一个或零个main方法
D、只能有一个main方法
11、设数组Array由以下语句定义
intArray=newint[10]
则数组的第一个元素的正确引用方法为()
A、Array[1]B、Array[0]C、Array[]D、Array
12、Java用来定义一个类时,所使用的关键字为()
A、classB、publicC、structD、class或struct
13、Java程序的执行过程中用到一套JDK工具,其中javac.exe是指()
A.Java文档生成器B.Java解释器(是java.exe)
C.Java编译器D.Java类分解器
14、一个可以独立运行的Java应用程序()
A、可以有一个或多个main方法
B、最多只能有两个main方法
C、可以有一个或零个main方法
D、只能有一个main方法
15、设数组Array由以下语句定义
intArray=newint[10]
则数组的第一个元素的正确引用方法为()
A、Array[1]B、Array[0]C、Array[]D、Array
16、break语句()
A、只中断最内层的循环B、只中断最外层的循环
C、借助于标号,可以实现任何外层循环中断D、只中断某一层的循环
17、Jcreator是()
A、一种全新的程序语言
B、一种程序辅助设计工具
C、一种由Java写成的,并支持JavaApplet的浏览器
D、一种游戏软件
18、以下声明的变量中,只有()是不合法的。
A、internet_networkB、*number
C、HelloD、_sys_path
19、以下程序段执行后的K值为()。
intx=20;y=30;
k=(x>y)?
y:
x
A、20B、30C、10D、50
.注 :
三元运算符
x>y为假所以k=x
(如果x>y为真,那么k=y)
20、要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符()。
A、finalB、publicC、privateD、abstract
21、以下代码中,this是指()。
classbird{
intx,y;
voidfly(intx,inty){
this.x=x;
this.y=y;
}
}
A、birdB、flyC、bird或flyD、不一定
(这里选D。
this指的是实例化这个类的对像
如果this是bird类的话,那么x和y必须是静态变量static)
22、作为Java应用程序图形界面基础的是()。
A、PanelB、FrameC、WindowsD、Applet
23、Java源文件和编译后的文件扩展名分别为()
A、.class和.javaB、.java和.class
C、.class和.classD、.java和.java
24.编译并运行以下程序,以下描述哪个选项是正确的()
1.classX{2.publicStringtoString(){3.returnsuper.toString();}4.}
A、编译通过运行无异常B、编译通过但运行时出错、
C、行2出错,不能成功编译D、不能成功编译,行3出错
注:
classX{
PublicStringtoString(){
Returnsuper.toString();
}}
Java每一个类都有一个toString()的方法现在这里是重写它,能够编译
但是运行不了(因为没有主函数)
25.下列关于修饰符混用的说法,错误的是()
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性(只能处理static的属性)
26.以下标识符中哪项是合法的是(选两个)
A、BigMeaninglessNameB、$intC、1stD、_1
27、Applet小程序和Application独立程序的主要区别是()。
A、小程序内必须有main()方法
B、独立程序必须包含main()方法,而Applet小程序的父类一定是Applet
C、两者都必须有main()方法
D、小程序必须包含main()方法,而独立程序的父类一定是Applet
28、在JAVA语言网络编程中,URL类是在包中,该类中提供了许多方法用来访
问URL对象的各种资源,下列哪个用来获取URL中的端口号。
()。
A、getFile()B、getProtocol()C、getHost()D、getPort()
29、JAVA语言中的套接字(Socket)是一种基于网络进程通信的接口,是网络通信协议的
一种应用。
它有两个主要类,下列哪个在Application应用程序中实现客户端的通信
功能。
()
A、ServerSocket类B、URL类
C、Socket类D、Client
30、在Java中,对组件可实现不同的布局,下列哪个不对()。
A、顺序布局(FlowLayout)(是Panel的默认布局)B、边界布局(BorderLayout)(是Frame,Dialog的默认布局)
C、网络布局(GridLayout)D、中央布局(CenterLayout)
31、下面的程序输出的结果是()。
publicclassCCimplementsBB
{
publicstaticvoidmain(String[]args)
{
inti=6;
CCc1=newCC();
i=c1.k;
System.out.println(“i=”+i);
}
}
interfaceBB
{
intk=10;
}
A、i=0B、i=6C、i=10D、i=true
装订线装订线装订线
32、以下关于Java语言继承的说法正确的是()。
A)Java中的类可以有多个直接父类(可以多个间接)B)抽象类不能有子类(不能直接实例化)
C)Java中的接口支持多继承D)最终类可以作为其它类的父类
33、下列方法中可以用来创建一个新线程的是()
A)实现java.lang.Runnable接口并重写start()方法
B)实现java.lang.Runnable接口并重写run()方法
C)继承java.lang.Thread类并重写run()方法
D)实现java.lang.Thread类并实现start()方法
34、要使用Java语言开发socket程序,需要使用()包。
A)B)java.ioC)java.awtD)java.util
35、当浏览器重新返回Applet所在页面时,将调用Applet类的方法是()
A)start()B)init()C)stop()D)destroy()
36、int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语
句是()
A)publicintMAX_LENGTH=100
B)finalintMAX_LENGTH=100
C)publicconstintMAX_LENGTH=100
D)publicfinalintMAX_LENGTH=100
37、已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为protected控制方式。
C类也位于packageA包,且继承了B类。
则以下说话正确的是()
A.A类的实例不能访问到B类的实例
B.A类的实例能够访问到B类一个实例的x成员
C.C类的实例可以访问到B类一个实例的x成员(看下面那张表可知)
D.C类的实例不能访问到B类的实例
packagepackageA;
classA{
}
classCextendsB{
}
packagepackageB
publicclassB{
protectedx;
}
38、以下()类不属于字符流类。
A.Reader
B.FileReader
C.BufferedInputStream
D.StringReader
注:
有Reader都是字符流
装订线装订线装订线
39、以下()类属于字节流类。
A.FileWriter
B.PushbackReader
C.FilterReader
D.FileInputStream
注:
如果是二进制的就有data
40、编译并运行下面的Java代码段:
charc='a';
switch(c){
case'a':
System.out.println("a");(注:
这里没有break所以它还是会运行下面的代码)
default:
System.out.println("default");
}
输出结果是()
A.代码无法编译,因为switch语句没有一个合法的表达式
B.a
Default
C.a
D.default
一java基础
1.将java源程序编译为目标代码采用的命令为javac.
2.解析执行一个java应用程序采用的命令为java.
3.在命令行编译运行java程序,需要设置的环境变量是classpath和path。
4.以下说法是否正确:
Java语言的语法和C++类似,java和C++都广泛使用了指针数据类型(X)
5.java中,下面不能作为标示符的是(BE)
A. MyName B.int C.IntCD._intCE.3intA
6.java关键字有const,sizeof,super,void,double?
(X)
7.java的原始数据类型?
(ABCD)
A.shortB.booleanC.byteD.float
8.创建4个float类型元素的数组。
floata[]=newfloat[4]
9.运行程序
publicclassTest{
Staticinta[]=newint[10];
publicstaticvoidmain(Stringargs[])
{
System.out.println(a[1]);
}
}
输出结果:
0//因为没有初始化,系统默认为0
二表达式和程序结构
1.逻辑运算符优先级由高到低:
非not,与and,或or
2.如果inta=90;intb=104;表达式a=b的逻辑值为true。
表达式!
(a>=b)的值true。
表达式(a==90)&&(b>105)的值false。
表达式(a==90)||(b>105)的值true。
3.运行程序
inti=2,j=10;
do
{if(i++<--j)continue;
}
while(i<5);
i=5j=7
4.运行程序
inti=0,j=3;
while
(1){
i+=2;
if(i>=10)break;
j++;
}
i=10j=7
5.运行程序
intx=-2;
if(x>0){System.out.println(“first”);}
elseif(x>-3){System.out.println(“second”);}
else{System.out.println(“third”);}
系统输出:
second。
6.inti=2;
string[]myString=newString[5];
strings1=myString[i];
s1的值为null。
7.正确的包含50个字符串数组的声明:
Stringobj[]=newString[50]
8.java主函数的正确写法:
publicstaticvoidmain(String[]args)
9.for,while,dowhile在条件求值前循环体至少要执行一次,应使用dowhile
10.程序差错7
1)publicvoidmodify(){
2)inti,j,k;
3)i=100;
4)while(i=0){
5)j=i*2;
6)System.out.println(“thevalueofjis”+j);
7)k=k+1;//k没有初始化
8)i--;
9)}
10)}
三类和对象
1.判断以下描述是否正确。
A对象的典型周期、生命周期是创建、运行、存储和释放四个阶段。
(X)(注:
创建、运行、释放)
Bjava中的类定义了同类对象共有的变量和方法。
(Y)
C一个类可以生成多个对象,并且这些对象都具有相同属性。
(Y)
D对象间的通信是通过消息传递来实现的。
(Y)
E只要把所有的方法和变量写到同一文件中,便可以实现这些方法和变量的封装。
(X)
F通过继承,子类可以获得父类的所有特性。
(X)
G在一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同,这种现象称为类的多态。
(Y)
H类的多态体现在方法的重载上,包括成员方法、成员变量和构造方法的重载。
(X)
2.下面哪个方法是构造方法MyClass的重载?
(B)
publicclassMyClass{publicMyClass(intx,inty,intz){}}
A.protectedintMyClass(){}
B.publicMyClass(){}
C.privateintMyClass{intz,inty,bytex}{}
D.publicvoidMyClass(bytex,bytey,bytez){}
3、判断一下关于类的描述是否正确
A、在java中一个类卡可以有多个直接父类F
B、在java中一个类只能实现一个接口,F
C、在java中一个类不能同时集成一个类和实现一个接口,F
D、在java中只允许单一继承,T
E、子类不能继承父类中的private成员,除此之外,其它所有的成员都可以通过继承变成子类的成员,T
F、java程序