习题集Java单选题一、JAVA概述2.main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()?B0.2A、publicstaticvoidmain()B、publicstaticvoidmain(Stringargs[])C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])3.JavaApplication源程序的主类是指包含有()方法的类。A、main方法B、toString方法C、init方法D、actionPerfromed方法4.Java语言是()。A.面向问题的解释型高级编程语言B.面向机器的低级编程语言C.面向过程的编译型高级编程语言D.面向对象的解释型高级编程语言5.以下变量不符合Java语言变量的规定的是()A、123variableB、variable123C、variable_$_123D、$variable$$$6.下列为合法类名的是:()A.class;B.123Student;C.WatchTV;D.”类名”;7.以下数据类型定义正确的是:()A.floatf=1.5;B.Strings=“a”;C.byteb=258;D.booleanb=null;8.Java语言具有许多优点和特点,下列选项中哪个反映了Java程序并行机制的特点?()A、安全性;B、多线程;C、跨平台;D、可移植9.如下标识符中()是有效的?()A.3LongStringB.okButtonC.¥intD.byte10.下列关于main()方法说法正确的是?()A.一个类中可以没有main()方法;B.所有对象的创建都必须放在main()方法中;C.main()方法可以有多个;D.main()方法头的定义可以根据情况任意修改。11.下列关于Java开发过程说法不正确的是:()A、编写Java的源程序可以使用任意的文本编辑器,如NoteBook或记事本等;B、Java程序分为两类程序,一种是独立应用程序Application,另一种是小应用程序Applet;不管是哪种程序都需要使用Java编译器(javac.exe)编译源文件得到字节码文件;C、在得到了java的字节码文件后通过Java的解释器就可以之间解释执行;D、JavaApplet不能直接解释执行必须通过支持Java标准的浏览器来解释执行。12.在安装了Java的开发工具箱JDK后,通常要进行相关环境变量的配置,下列说法正确的是:()A、需要在环境变量中配置path和classpath两个环境变量,其中path是指定JDK的可执行文件的运行路径,classpath是指向Java程序运行时所需要的Java类库。B、安装了JDK后,安装程序会自动配置系统的环境变量path和classpath。C、因为JDK安装在同一目录中所以path和classpath的路径完全相同。D、classpath环境变量设置中的“.;”是指可以加载Java运行程序所需的Java自带类库。13.下列有关Java程序的说法中错误的是:()A、由于Java程序是解释执行的,所以执行前不需要进行编译。B、程序执行过程中需要的所有类都是通过字节码校验程序装入的。C、代码的运行是由Java运行环境中的解释器完成的。D、在缺省的安全配置条件下,Applet不能访问任何本地资源。14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。A、8B、16C、32D、6415.若a的值为3时,下列程序段被执行后,c的值是多少?()c=1;if(a0)if(a3)c=2;elsec=3;elsec=4;A、1B、2C、3D、416.在Java应用程序的主类体中,main()函数头是非法的?publicstaticvoidmain(String[]args)publicstaticvoidmain(Stringargs[])publicstaticvoidmain(String[]arg)publicvoidmain(String[]args)17.下列的变量定义中,错误的是()。A)inti;B)intI=Integer.MAX_VALUE;C)staticinti=100;D)int123_$;18.以下的变量定义语句中,合法的是()。A)float$_*5=3.4F;B)byteb1=15678;C)doublea=Double.MAX_VALUE;D)int_abc_=3721L;19.以下字符常量中不合法的是()。A)'|'B)'\''C)\nD)'我'20.下列哪个是面向大型企业级用容器管理专用构件的应用平台?A)J2EEB)J2MEC)J2SED)J2DE答案:1-10BBADBCABBA11-20CAABCDDCDA二、Java面向对象的基础知识1.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。A、importjava.awt.*;B、importjava.applet.Applet;C、importjava.io.*;D、importjava.awt.Graphics;2.对于构造函数,下列叙述不正确的是()。A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。B、构造函数的返回类型只能是void型。C、构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。3.下面是关于类及其修饰符的一些描述,不正确的是:()。A、abstract类只能用来派生子类,不能用来创建abstract类的对象。B、final类不但可以用来派生子类,也可以用来创建final类的对象。C、abstract不能与final同时修饰一个类。D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。4.下列说法哪个是正确的?()A、一个源文件中可以有一个以上的公共类;B、一个源文件只能供一个程序使用;C、一个源文件中只能有一个方法;D、一个程序可以包含多个源文件;5.若在某一个类定义中定义有如下的方法:abstractvoidperformDial();该方法属于()。A、本地方法B、最终方法C、解态方法D、抽象方法6.下列关于Java类的构造方法的说法中错误的是:()A.构造方法的名字必须与类的名字完全相同。B.构造方法一般不能由程序员在程序中主动调用。C.父类的构造方法能被子类继承。D.构造方法必须用public访问控制符修饰。7.下面哪一个函数是publicvoidexample(){...}的重载函数?()A.publicvoidexample(){...}B.publicintexample(){...}C.publicvoidexample2(){...}D.publicintexample(intm,floatf){...}8.如果类中的成员变量可以被同一包访问,则应使用如下哪个约束符?()A.privateB.voidC.protectedD.无修饰符9.下列哪些说法是错误的?()A.构造方法是创建对象时由系统自动调用的。B.Java语言会自动初始化变量的值。C.Java语言不允许同时继承一个类并实现一个接口。D.Java语言会自动回收内存中的垃圾。10.下列说法哪个是正确的?()A.不需定义类,就能创建对象;B.属性可以简单变量,也可以是一个对象;C.属性必须是简单变量;D.对象中必有属性和方法;11.下列关于main()方法说法正确的是?()A.一个类中可以没有main()方法;B.所有对象的创建都必须放在main()方法中;C.main()方法必须放在公共类中;D.main()方法头的定义可以根据情况任意修改。12.关于Java的包的叙述中正确的是:()A.Java的包可以有任意多层的子包。B.包是多个相关的Java源程序组成的集合。C.使用import语句可以将指定包中的所有类引入到源程序中。D.如果源程序中没有使用package语句,则该类就不会出现在任何包中。13.以下哪个约束符可用于定义成员常量?()A.staticB.finalC.abstractD.以上约束符都不能用14.下列关于接口的说法哪个是正确?()A.接口和抽象类是同一回事;B.一个类不可以实现多个接口;C.接口间不能有继承关系;D.实现一个接口必须实现接口的所有方法。15.下列关于抽象类的说法哪个是正确的?()A、某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法;B、接口和抽象类是同一回事;C、绝对不能用抽象类去创建对象;D、抽象类中不可以有非抽象的方法。16.下列声明的方法强制要求子类来实现的是:()A.publicdoublemethodda();B.staticvoidmethoda(doubled1){};C.publicnativedoublemethoda();D.abstractpublicvoidmethoda();17.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为()。A、隐藏B、覆盖C、重载D、Java不支持此特性18.对于构造函数,下列叙述不正确的是()。A、构造函数也允许重载。B、子类无条件地继承父类的无参构造函数。C、子类不允许调用父类的构造函数。D、在同一个类中定义的重载构造函数可以相互调用。19.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。A、privateB、protectedC、privateprotectedD、public20.构造函数何时被调用?()A.类定义时B.使用对象的属性时;C.使用对象的方法时;D.对象被创建时。21.设有下面两个赋值语句:a=Integer.parseInt(“1024”);b=Integer.valueOf(“1024”).intValue();下述说法正确的是()。A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。C、a和b都是整数类对象并且它们的值相等。D、a和b都是整数类型变量并且它们的值相等。22.若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是()。A)它们的返回值类型的不同B)它们的名称的不同C)它们的参数表的不同D)它们的修饰符不同23.下面是有关子类继承父类构造函数的描述,其中正确的是()。A)创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。B)子类无条件地继承父类不含参数的构造函数。C)子类必须通过super关键字调用父类的构造函数。D)子类无法继承父类的构造函数。24.下面说法正确的是()。A)final可修饰类、属性、方法。B)abstract可修饰类、属性、方法。C)定义抽象方法需有方法的返回类型、名称、参数列表和方法体。D)用final修饰的变量,在程序中可对这个变量的值进行更改。25.设有下面的两个类定义:classAA{voidShow(){System.out.println(我喜欢Java!);}classBBextendsAA{voidShow(){System.out.println(我喜欢C++!);}则顺序执行如下语句后输出结果为:()AAa;BBb;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++!我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java!我喜欢C++!26.设有下面的一个类定义:classAA{staticvoidShow(){System.out.println(我喜欢Java!);}}classBB{voidShow(){System.out.println(我喜欢C++!);}}若已经使用AA类创建对象a和BB类创建对象b,则下面哪