java选择题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11111111111111
单选题第一套
1-1-1-1下面的main()方法的定义哪些是正确的?()
(A)public static void main(String args){}
(B)public static void main(String[]){}
(C)public static void main(String[] args){}
(D)public static void MAIN(String[] xyz){}
答案:C
1-1-2-1用于定义简单数据类型的一组关键字是()
(A)Student,float,main,public
(B)byte,boolean,int,float
(C)long,extends,float,double
(D)class,float,short,import
答案:B
1-1-3-1以下变量定义中正确的是()
(A)int I=123a (B)float f=7.8f
(C)char c=’abc’ (D)String str=’d’
答案:B
1-1-4-1 for(;;)是( )
(A)循环结构 (B)分支结构 (C)顺序结构
答案:A
1-1-5-1设类B和类C都不是抽象类,且类B是类C的父类。
下列声明对象x1的语句中不正确的是( )
(A) B x1=new B() (B) B x1=new C()
(C) C x1=new C() (D) C x1=new B()
答案:D
1-1-6-1设有对象x具有属性a则访问该属性的方法为()
(A) a.x (B) a.x() (C) x.a (D) x.a()
答案:C
1-1-7-2定义变量如下:
int i=18;
long L=5;
float f=9.8f;
double d=1.2;
String s=”123”;
以下赋值语句不正确的是()
(A)L=f+i (B)f=L+i
(C)s=s+i (D)s=s+i+f+d
答案:A
1-1-8-2下面表达式的值的类型为()
(int)(8/9.2*5)
(A)short (B)int (C)double (D)float
答案:B
1-1-9-2 设数组Array由以下语句定义
int Array=new int[10],则数组最后一个元素的正确引用方法为( )
(A)Array[10] (B)Array[9] (C)array[10] (D)array[9]
答案:B
1-1-10-2 定义类A如下:()
class A
{
int a,b,c;
public void B(int x,int y,int z){ a=x;b=y;c=z;}
}
下面对方法B()的重载哪些是正确的()?
(A)public void A(int x1,int y1,int z1){a=x;b=y;c=z;}
(B)public void B(int x1,int y1,int z1){a=x;b=y;c=z;}
(C)public void B(int x,int y){a=x;b=y;c=0;}
(D)public B(int x,int y,int z){a=x;b=y;c=z;}
答案:C
1-1-11-2定义一个类Point,类中有两个double型变量x和y,对于其构造函数的声明不正确的是()
(A) public Point(Point p ){…} (B) public Point(int x ){…}
(C) public Point(int x,int y ){…} (D) Point Point(int x ){…}
答案:D
1-1-12-2 以public修饰的类如:public class Car{…} 则Car( )
(A)可被其它程序包中的类使用(B)仅能被本程序包中的类使用
(C)不能被任意其它类使用 (D)不能被其它类继承
答案:A
1-1-13-2下列说法哪个正确?
(A)不需要定义类,就能创建对象
(B)对象中必须有属性和方法
(C)属性可以是简单变量,也可以是一个对象
(D)属性必须是简单变量
答案:C
1-1-14-3覆盖与重载的关系是()
(A)覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
(B)覆盖方法可以不同名,而重载方法必须同名
(C)final修饰的方法可以被覆盖,但不能被重载
(D)覆盖与重载是同一回事
答案:A
1-1-15-3执行下列程序段后,b,x,y的值正确的是()
int x=6,y=8;
boolean b;
b=x<y||++x= =--y;
(A)true,6,8 (B)false,7,7
(C)true,7,7 (D)false ,6,8
答案:A
单选题第二套
1-2-1-1下面说法正确的是()
(A)Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是java或txt
(B)JDK的编译命令是java
(C)一个java源程序编译后可能产生几个字节码文件
(D)在命令行运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序
答案:C
1-2-2-1以下变量定义语句正确的是()
(A)char c=”中” (B)double d=89L
(C)byte b=512 (D)double a=8.6f
答案:B
1-2-3-1有关Java语言的说法中,哪种是错误的()
(A) java是高级语言 (B) java是编译型语言
(C)java是结构化设计语言(D) java是移植性强的语言
答案:C
1-2-4-1 JDK是( )
(A)一种全新的程序语言
(B)一种程序开发辅助工具
(C)一种由Java写成的,并支持Java Applet的浏览器
(D)一种游戏软件
答案:B
1-2-5-1关于构造函数的说法哪个正确?()
(A)一个类只能有一个构造函数
(B)一个类可以有多个不同名的构造函数
(C)构造函数与类同名
(D)构造函数必须自己定义,不能使用父类的构造函数
答案:C
1-2-6-1下列关于finally的说法正确的是?()
(A)无论程序是否找到合适的例外控制器,都会去执行finally语句
(B)finally语句应该放在所有例外控制器的最前面
(C)如果程序在前面的例外控制器中匹配到了合适例外,就不再执行finally语句
(D)如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally
语句
答案:A
1-2-7-2以下语句输出的结果是()
String str=”123”;
int x=4,y=5;
str=str+x+y;
System.out.println(str);
(A)int 1239 (B)12345
(C)回产生编译错误 (D)123+4+5
答案:B
1-2-8-2定义类头时可以使用的访问控制修饰符是()
(A)public (B)abstract (C)final (D)private
答案:A
1-2-9-2下面的程序段输出的结果是()
int i=1,b,c;
int[] a=new int[3];
b=a[i];
c=b+i;
System.out.println(c );
(A)0 (B)2 (C)4 (D)1
答案:D
1-2-10-2 构造函数何时被调用?()
(A)创建对象时(B)类定义时
(C)使用对象的方法时(D)使用对象的属性时
答案:A
1-2-11-2抽象类与接口的区别在于:()
(A)抽象类可以实现多重继承,而接口不行
(B)抽象类不可以继承,而接口可以
(C)抽象类中可以有非抽象的方法,而接口中只能有抽象方法
(D)接口只是抽象类的另一种叫法
答案:C
1-2-12-2关于继承的说法正确的是:()
(A)子类将继承父类所有的属性和方法。
(B)子类将继承父类的非私有属性和方法。
(C)子类只继承父类public方法和属性
(D)子类只继承父类的方法,而不继承属性
答案:B
1-2-13-2为了区分重载多态中同名的不同方法,要求()
(A)返回值类型相同(B)采用不同的参数列表
(C)参数名称不同(D)以上三项都不对
答案:B
1-2-14-3下列语句序列执行后,k的值是()
int j=4,k=20;
for(int i=1;i!=j;i++) k=k-i;
(A)10 (B)24 (C)12 (D)14
答案:D
1-2-15-3关于对象成员占用内存的说法哪个正确?()
(A)同一个类的对象共用同一段内存
(B)同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
(C)对象的方法不占用内存
(D)以上都不对
答案:B
单选题第三套
1-3-1-1 Java用来定义一个新类时,所使用的关键字为()(A) class (B) public
(C) struct (D) class 或struct
答案:A
1-3-2-1一个可以独立运行的Java应用程序( )
(A)可以有一个或多个main方法
(B)最多只能有两个main方法
(C)可以有一个或零个main方法
(D)只能有一个main方法
答案:D
1-3-3-1布尔型变量假值表示为()
(A)true (B) false (C) t (D) f
答案:B
1-3-4-1 JDK不包括的工具有()
(A) Java编译器(javac) (B) Java解释器(java)
(C) Appletviewer (D) HotJava
答案:D
1-3-5-1下列修饰符中与访问控制无关的是()
(A) private(B) public
(C) protected (D) final
答案:D
1-3-6-1以public修饰的类如:public class fish{…} 则fish( )
(A)可被其它程序包中的类使用
(B)仅能被本程序包中的类使用
(C)不能被任意其它类使用
(D)不能被其它类继承
答案:A
1-3-7-2 设x=40 则y=(++x)+1和y=(x++)+1的结果,使y分别为( ) (A) 42,42 (B) 41,41 (C) 41,42 (D) 42,41
答案:D
1-3-8-2 break语句( )
(A)只中断最内层的循环
(B)只中断最外层的循环
(C)借助于标号,可以实现任何外层循环中断
(D)只中断某一层的循环
答案:D
1-3-9-2设数组Array由以下语句定义
int age=new int[10];
则数组的第一个元素的正确引用方法为( )
(A) age[1] (B) Age[0] (C) age[] (D) age[0]
答案:D
1-3-10-2抽象方法:()
(A) 可以有方法体
(B) 可以出现在非抽象类中
(C) 是没有方法体的方法
(D) 抽象类中的方法都是抽象方法
答案:C
1-3-11-2下列语句序列执行后,j的值是多少?
int j=5,i=2;
while (--i!=i/j)
j=j+2;
(A)4 (B)7 (C)8 (D)6
答案:B
1-3-12-2 throws的作用:()
(A) 表示方法可能会抛出例外(B) 表示后面是方法的输出量
(C) 方法的标志,每个方法都必须有(D) 没有意义
答案:A
1-3-13-2 关于变量的初始化赋值,以下说法不正确的是()
(A)所有的变量都可以自动地初始化为默认值
(B)类中变量的赋值可以通过构造函数来完成
(C)如果类中没有构造函数,则编译时会自动生成一个不带参数的构造函数,调
用该构造函数初始化类对象时,将变量初始化为该类型的默认值(如果类中没有为其赋值)
(D)方法体中的局部变量必须先赋值后才能使用
答案:A
1-3-14-3 若有以下类声明
public class A extends B implements C,D{}
下面的说法错误的是:()
(A)类A继承自父类B
(B)这个类声明是错误的
(C)C,D是接口
(D)类头的定义表明类A实现接口C和D
答案:B
1-3-15-3 在下面的指定位置添加哪个选项中定义的方法,编译时不会产生错误?
()
class B
{
float x=1.0f;
public float getNum()
{return x;}
//此处添加选项中的方法
}
(A)public float getNum(int y) {return x+y;}
(B)public double getNum(float d){return x+d;}
(C)public int getNum(double d){return (int)(x+d;)}
(D)public double getNum(){return x+10.0f;
答案:D
单选题第四套
1-4-1-1 Java中,哪种不可以用来限制存取权限的关键字()
(A) public (B) protected
(C) extends (D) private
答案:C
1-4-2-1 对Java运算符,下面说法正确的是()
(A) 不具有优先级的区别(B) 相同优先级的运算符,计算顺序是从右到左(C) 圆括号具有最高优先级(D) ”+”号的优先级高于”&&”
答案:D
1-4-3-1 Java源文件和编译后的文件扩展名分别为()
(A) .class和.java (B) .java和.class (C) .class和.class (D) .java和.java
答案:B
1-4-4-1下列哪个关键字用于引入包()
(A) import (B) include (C) implement (D) input
答案:A
1-4-5-1 以下关于执行Java小程序的论述错误的是:()
(A) 可以通过浏览器调用嵌入了Java小程序的HTML文档
(B) 可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档
(C) 可以通过java.exe调用嵌入了Java小程序的HTML文档
(D) 可以在Java集成开发环境中调用嵌入了Java小程序的HTML文档
答案:C
1-4-6-1关于super的说法正确的是:
(A) 是指当前对象的内存地址
(B) 是指当前对象的父类对象的内存地址
(C) 是指当前对象的父类
(D) 可以用在main()方法中
答案:C
1-4-7-2定义类A及类中的方法getVar(),定义类A的子类B,若要在类B中覆盖
类A中的同名方法,下面正确的定义是()
class A
{
private float x=1.0f;
protected floate getVar()
{return x;}
}
class B extends A
{
private float x=2.0f;
//覆盖类A中的同名方法的代码放在此处
}
(A)float getVar() {return x;}
(B)protected float getVar(float y){return x+y;}
(C)protected float getVar(){return x;}
(D)public float getVar() {return x;}
答案:C
1-4-8-2下列关于修饰符混用的说法,错误的是
(A)abstract不能与final并列修饰同一个类
(B)abstract类中可以有private的成员
(C)abstract方法必须在abstract类中
(D)static方法中不能处理非static的属性
答案:C
1-4-9-2下面的程序段输出的结果是()
int i=1,b,c;
int[] a=new int[3];
b=a[i];
c=b+i;
System.out.println(c );
(A)0 (B)2 (C)4 (D)1
答案:D
1-4-10-2 关于方法main()的说法哪个正确?()
(A) 方法main()只能放在公共类中
(A) main()的头定义可以根据情况任意更改
(A) 一个类中可以没有main()方法
(A) 所有对象的创建都必须放在main()方法中
答案:C
1-4-11-2 关于对象定义与创建的说法正确的是()
(A) 定义就是创建(B) 对象必须定义,但不创建也可以使用
(C) 对象必须先定义后创建,所以不能创建无名对象
(D) 定义和创建可以在一条语句中同时实现
答案:D
1-4-12-2方法内的变量:()
(A) 一定在方法内所有位置可见(B) 可能在方法内的局部可见
(C) 可以在方法外可见(D) 方法外也可用
答案:B
1-4-13-2字符流与字节流的区别在于()
(A) 前者带有缓冲,后者没有
(B) 前者是块读写,后者是字节读写
(C) 二者没有区别,可以互换使用
(D) 每次读写的字节数不同
答案:D
1-4-14-3下列语句序列执行后,j的值是多少?
int j=5,i=2;
while (--i!=i/j)
j=j+2;
(A)4 (B)7 (C)8 (D)6
答案:B
1-4-15-3有方法定义如下:
public static boolean B(int k)
{
boolean b1;
if (k/3= =1)
b1=true;
else
b1=false;
return b1;
}
下面的程序段调用了方法B(int k)
int m=8;
if(B(1))
m%=6;
System.out.println(m);
该程序段执行后显示的结果是()
(A)8 (B)2 (C)1 (D)0 答案:A。