java基础测试题及答案
- 格式:doc
- 大小:53.50 KB
- 文档页数:6
JA V A练习题一、选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的。
1.下面对形参的说法,( )是正确的。
A.必须有多个B.至少有一个C.可以没有D.只能是简单变量2.main方法是java application 程序执行的入口点,关于main方法的方法头,以下()是合法的。
A.public static void main()B.public static void main(String args[])C.public static int main(string [] arg)D.public void main(string arg[])3.现在两个类A、B,以下描述中表示B继承自A的是()。
A.class A extends B B.class B implements AC.class A implements B D.class B extends A4.类Test定义如下,将下列( )方法插入③行处是不合法的。
①public class Test{②public float Method (float a,float b){ }③④}A.public float Method (float a,float b,float c){ }B.pubic float Method(float c,float d){}C.public int Method (int a,int b){}D.pivate float Method (int a,int b,int c){}5.在编写异常处理的java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动java的异常处理机制。
A.if-else B.switchC.try D.throw6.下列不属于Java的图形用户界面内容的包是( )。
A.java.awt B.javax.swingC.java.awt.event D.java.io7.有关构造函数的说法不正确的是( )。
Java基础测试题⼀、选择题1.下⾯哪些是合法的变量名? ( DEG )A.2variableB. .variable2C. ._whatavariableD._3_E.$anothervarF.#myvarG. $_¥2.请问 “abcd” instanceof Object返回的值是? ( B )A. “abcd”B. trueC. falseD. String3.下⾯有关⽅法覆盖说法不正确的是:( B )A. ⽅法覆盖要求覆盖和被覆盖的⽅法有相同的名字,参数列以及返回值B. ⽅法覆盖要求覆盖和被覆盖的⽅法必须具有相同的访问权限;C. 覆盖的⽅法不能⽐被覆盖的⽅法抛出更多的异常D. 覆盖的⽅法⼀定不能是private的4. 下⾯代码段中:( A )String String=”String”;System.out.println(String);A. StringB. 不知道C. 编译出错D. 运⾏出错5. 下⾯哪种是正确的创建Map集合的⽅式:( D )A. Map m=new Map();B. Map m=new Map(init capacity, increment capacity);C. Map m=new Map(new Collection());D. Map是接⼝,所以不能实例化。
6.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ( A )A.可以被三种类所引⽤:该类⾃⾝、与它在同⼀个包中的其他类、在其他包中的该类的⼦类B. 可以被两种类访问和引⽤:该类本⾝、该类的所有⼦类C. 只能被该类⾃⾝所访问和修改D.只能被同⼀个包中的类访问7.下列有关继承的说法。
正确的是:(B )A. ⼦类能继承⽗类的所有⽅法和属性;B. ⼦类能继承⽗类的⾮私有⽅法和属性C. ⼦类只能继承⽗类public⽅法和属性D. ⼦类能继承⽗类的⽅法,⽽不是属性。
8.对于构造⽅法,下列叙述正确的是:(AC )A. 构造⽅法的⽅法名必须与类名相同;B. 构造⽅法必须⽤void申明返回类型C. 构造⽅法可以被程序调⽤D. 若编程⼈员没再类中定义构造⽅法,程序将报错。
JavaSE考试题(时间150分钟)一.选择题(75分)1.在Java中负责对字节码解释执行的是( B )A.垃圾回收器B.虚拟机C.编译器D.多线程机制2.BufferedReader的父类是( B )A.FileReaderB.ReaderC.PipedReaderD.InputStreamReader3.在读字符文件Post.dat时,使用该文件作为参数的类( A )A.BufferedReaderB.DataInputStreamC.DataOutputStreamD.FileInputStream4.下列不是InputStream子类的是( C )A.FileInputStreamB.ObjectInputStreamC.CharInputStreamD.ZipInputStream5.下列方法中可以用来创建一个新线程的是( D )A.实现ng.Runnable接口并重写start()方法B.实现ng.Runnable接口并重写run()方法C.继承ng.Thread类并重写start()方法D.继承ng.Thread类并重写run()方法6.当启动Applet程序时,首先调用的方法是( B )A.stop()B.init()C.start()D.destroy()7.序列化一个类时,如果要隐藏某个成员,使之在反序列化时不能看到搞成员的真实数据,应当使用的关键字是( C )A.hiddernB.privateC.transientD.destroy8.将键值对(key--value)保存到映射(Map)对象中的方法是( B )。
A.add(Object key,Object value)B.put(Object key,Object value)C.insert(Object key,Object value)D.get(Object key,Object value)9. 一个java Application 运行后,在系统中是作为一个( B )A.线程B.进程C.进程或线程D.不可预知10.下列关于线程调度的叙述中,错误的是:( D)A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会B.调用线程的yield()方法,只会使与当前线程相同优先级的线程获得运行机会C.当有比当前线程优先级高的线程出现时,高优先级的线程将抢占CPU并运行D.具有相同优先级的多个线程的调度一定是分时的.11.下列关于线程优先级别的说法中,正确的是( C)A.线程的优先级是不能改变的B.线程的优先级在创建线程时设定C.在创建线程后的任何时候都可以设置D.B,C12.实现一个线程的创建方法有几种( B )A.一种B.二种C.三种D.四种13.下列关于泛型的说法,错误的是( B )A、泛型是一种参数化类型B、可以取代继承机制。
初级部分阶段测试卷选择题1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。
A. public int MAX = 100;B. final int MAX = 100;C. public static int MAX = 100;D. public static final int MAX = 100;2) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。
(选二项)public class Test{public void cal(int x, int y, int z) {}}A. public int cal(int x, int y, float z){ return 0; }B. public int cal(int x, int y, int z){ return 0; }C. public void cal(int x, int z){ }D. public void cal(int z, int y, int x){ }3) 下面Java代码的运行结果是()。
class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() {health = 10;sex = "雄";System.out.println("执行构造方法。
");}public void print() {System.out.println("企鹅的名字是" + name +",健康值是" + health + ",性别是" + sex+ "。
");}public static void main(String[] args) {Penguin pgn = new Penguin();pgn.print();}}A. 企鹅的名字是null,健康值是10,性别是雄。
JavaWeb测试题一:选择题:第1题. 编写一个Filter,需要()A. 继承Filter 类B. 实现Filter 接口C. 继承HttpFilter 类D. 实现HttpFilter接口正确答案为:B第2题. 自定义标签的配置文件放在________A. WebRootB. libC. classesD. WEB-INF正确答案为:D第3题. 在J2EE中,重定向到另一个页面,以下()语句是正确的A. request . sendRedi rect(“http :svse . com . cn”);B. request . sendRedirect();C. response . sendRedirect(“ svse . com . cn”);D. response .sendRedirect();正确答案为:C第4题. 自定义标签的作用是A. 编写和使用方便B. 规定是这样的,如果不用,别人会说我们不专业C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发D. 连数据库正确答案为:C第5题. 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。
(选择一项)Public class Servlet1 extends HttpServlet{Publicvoid init() throws ServletException{Publicvoid service(HttpServletRequest request,HttpServletResponse response) ThrowsServletException,IOException{PrintWriterout = ();(“hello!”);}}A. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过B. 编译后,把放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!C. 编译后,把放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字D. 编译后,把放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息正确答案为:B第6题. 在Servlet中,()返回的是____________A. JspWriter对象B. PrintWriter对象C. Out对象D. ResponseWriter对象正确答案为:B第7题. 在中使用___________标签配置过滤器A. <filter>和<filter-mapping>B. <filter-name>和<filter-class>C. <filter>和<filter-class>D. <filter-pattern>和<filter>正确答案为:A第8题. J2EE中,Servlet API为使用Cookie,提供了()类。
JA V A考试题一填空题1 定义类用的关键字是class;继承类用的关键子是__extends_____;实现接口用的关键字是_implements________2 线程的五种状态分别是产生就绪__运行_____ 阻塞_______ 结束;3 对窗口的监听用的是________接口,该接口中的方法较多,为了便于实现该接口,可以使用__________;4 Panel和Applet容器的默认布局模式是_FlowLayout_______,Window、Frame、Dialog容器的默认布局模式是_______.5 开发与运行JAVA程序需要经过的三个主要步骤为编写源程序, _编译生成字节码___________和__解释运行字节码。
____________。
6 JA V A中类成员的限定词有以下几种:public , __protected________ ,默认和private。
其中,_private_________ 的开放范围最小。
7 在面向对象概念中,每个对象都是由__属性_________和_方法_________两个最基本的部分组成的。
8 一个if语句可以跟随__多_________个else if语句,但是只能有一个__else________语句。
9 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用__2个_______字节内存空间,这样,无论是中文字符还是英文字符,都是占用____2个_____字节内存空间。
10 程序的错误分为两种_________ ,__________。
11 面向对象的三大特征分别是继承,__多态___________ 和__抽象和封装__________。
12 JA V A中类成员的限定词有以下几种:private, public, ___________ , __________ 。
13 若x = 5,y = 10,则x < y和x >= y的逻辑值分别为__true ______和___false________。
1.下列哪个选项是合法的标识符 24A.1232.B._name3.C.class4.D.1first5.下列变量定义中,正确的是16. A long 1 = 123L7. B long 1 = 3.14156f8. C int i="k"9. D double = 2f10.switch语句中表达式(expression)的值不允许用的类型是12411. A byte B int C Boolean D char12.13.下列语句中正确的是314. A 1’ B int I=2+’2’;15. C string s =”on”+’one’; D byte b=25716.17.下列的哪个赋值语句是不正确的 12A.float f = ;18.B.double d = ;19.C.float d = 3.14f ;20.D.double f=10f;21.下列的哪个赋值语句是正确的 2A.char a=12;22.B.int a=;23.C.int a=12.0f;24.D.int a=(int);25.给出下列的代码,哪行在编译时可能会有错误 1326.① publ ic void modify(){27.② int i, j, k;28.③ i = 100;29.④ while ( i > 0 ){30.⑤ j = i * 2;31.⑥ (" The value of j is " + j );32.⑦ k = k + 1;33.⑧ }34.⑨ }35.A.line 436.B.line 6C.line 737.D.line 838.下列关于继承的哪项叙述是正确的 3A.在java中允许多重继承39.B.在java中一个类只能实现一个接口40.C.在java中一个类不能同时继承一个类和实现一个接口41.D.java的单一继承使代码更可靠42.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问 4A.private43.B.无修饰符44.C.public45.D.protected46.给出下列代码,如何使成员变量m 被方法fun()直接访问 347.class Test48.{49.private int m;50.public static void fun()51.{52....53.}54.}55.A.将private int m 改为protected int m56.B.将private int m 改为 public int m57.C.将private int m 改为 static int m58.D.将private int m 改为 int m59.下列对Java源程序结构的叙述中,错误的是60. A import语句必须在所有类定义之前61. B 接口定义允许0或者多个62. C Java Application中的public class类定义允许0或多个63. D package 语句允许0或1个64.65.下列关键字中可以表示常量的是66. A final B default C private D transient67.68.在Java语言中,被成为内存分配的运算符是69. A new B instance of C [] D ()70.71.阅读下面程序public class Cycle{public static void main (String args[]){}}在命令中输入java Cycle one two,该程序输出结果是A CycleB oneC twoD 上述A、B、C均不对72.阅读下面程序public calss MyVal{public static void main(String args[]){MyVal m=new MyVal();();}public void amethod(){boolean b[]=new Boolean [5];}}程序编译或运行结果是A 1B nullC “ “D 编译不通过73.接口中,除了抽象方法之外,还可以含有74. A 变量 B 常量 C 成员方法 D 构造方法75.阅读下面程序76. Public class Test2________{77. Public static void main(String[] args){78. Thread t=new Test2();79. ();}Public void run(){are you.”);}}在程序下划线处填入正确选项是A implements ThreadB extemds RunnableC implements runnableD extends Thread80.阅读下面程序Public class Test implements Runnable{Public static void main(String[] args){_____________________________;();}Pubic viod run(){}}在程序下划线处填入正确选项是A Test t = new Test();B Thread t = new Thread();C Thread t = new Thread(new Test());D Test t = new Thread();81.下列带下划线的标识符符合Java 命名约定的是82. A package B public class xvz83. C int I D void setCustomerName()84.JSP中脚本元素不包括:A、表达式(Expression)B、注释C、Java代码片段D、声明(Declaration)85.已知有下列类的说明,则下列哪个语句是正确的86.public class Test87.{88.private float f = 1.0f;89.int m = 12;90.static int n=1;91.public static void main(String arg[])92.{93.Test t = new Test();94.}95.}96.A.;97.B.;98.C.;99.D.;100.下列代码的执行结果是101.public class Test102.{103.public int aMethod()104.{105.static int i=0;106.i++;107.(i);108.}109.public static void main(String args[])110.{111.Test test = new Test();112.();113.}114.}115.A.编译错误116.B.0C.1117.D.运行成功,但不输出118.下面程序的运行结果为 ( )class Parent {int x=10;public Parent(){add(2);}void add(int j){x+=j;}}class Child extends Parent{int x=9;void add(int j){x+=j;}}class T {public static void main(String args []){Parent p = new Child();}}A)9 B)10 C)11 D)12119.以下说法正确的是()A.异常定义了程序中遇到的非致命错误,而不是编译时的语法错误。
附录2:习题答案第1章:Java简介——自我检测(答案)1、填空题1、Java源程序文件的后缀是*.java ,Java字节码文件的后缀名称是*.class 。
2、Java程序实现可移值性,依靠的是JVM 。
3、Java语言的三个分支是:JA V A SE 、JA VA ME 、JA V A EE 。
4、Java程序由类组成,如果Java使用public class 声明类,则文件名称必须与类名称一致。
5、Java执行是从main() 方法开始执行的,此方法的完整定义是public static void main(String args[]) 。
6、从命名标准上来讲,Java类名的每个单词的首字母通常要求大写。
7、当使用java命令解释一个程序时,一定需要classpath 环境属性来定位类资源路径;2、选择题1、下面那个是属于解释Java程序所使用到命令?(A)A、java.exeB、javac.exeC、keytool.exeD、cmd.exe2、下面的那个环境变量java解释时所需要的 B 。
A、pathB、classpathC、JA V A_HOMED、TEMP3、下面那一种开发方向不属于Java定义的? CA、JavaSEB、Java EEC、JavaCED、JavaME3、判断题1、Java语言属于编译型的开发语言。
(×)2、Java Application程序不是由main()方法开始执行的。
(×)4、简答题1、简述Java实现可移值性的基本原理。
答:Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class 文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操作系统平台,有不同版本的Java虚拟机,即:由Java虚拟机去适应不同的操作系统,即:只要Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。
JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)1.当线程因异常而退出run()后,其所处状态为()A.阻塞状态 B。
运行状态 C、就绪状态D、结束状态2.wait()方法首先是哪个类的方法?()A. ObjectB. Thread.C. RunnableD. File3.如果在关闭socket时发生一个I/O错误,会抛出()。
A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin4.用read()方法读取文件内容时,判断文件结束的标记为()A. 0B. 1 C -1 D. 无标记5.以下哪个方法只对使用了缓冲的流类起作用?()A. read()B. write() C skip() D. flush()6.Java提供的那个类来进行有关Internet地址的操作.( )A. SocketB.ServerSocketC. DatagramSocket D InetAddress7.InetAddress类中哪个方法可实现正向名称解析?()A. isReachable()B. getHostAddress()C. getHosstName()D.getByName()8.为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息()A.getPort()B.getHostC.openStream()D.openConnection()9.java程序中,使用TCP套接字编写服务端程序的套接字类是()A. SocketB. ServerSocketC. DatagramSocketD.DatagramPacket10.ServerSocket的监听方法accept()的返回值类型是()A. voidB. ObjectC. SocketD. DatagramSocket11.ServerSocket的getInetAddress()的返回值类型是()A. Socket B ServerSocket C.InetAddress D,.URL12.当使用客户端套接字Socket创建对象时,需要指定()A.服务器主机名称和端口 B、服务器端口和文件C、服务器名称和文件D.服务器地址和文件13.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()A.getInetAddress() B. getLocalPort()C.getOutputStream()D.getInputStream()14.使用UDP套接字通信时,常用哪个类把要发送的信息打包?()A. StringB. DatagramSocketC. MulticastSocketD.DatagramPacket15.使用UDP套接字通信时,哪个方法用于接收数据()A. read()B. receive()C. accept()D. Listen()16.若要取得数据包的中源地址,可使用下列哪个语句()?A. getAddress() B. getPort() C. getName() D.getData()17.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()18.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()19.java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()20.java程序与数据库连接后,需要更新某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()二.多项选择题(所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分)(每题2分)1.用Statement对象执行一条新增数据到数据表的语句,可以用以下那些函数完成()A.executeQuery()B.executeUpdate()C.execute()D.close()2.以下那些类创建的对象可以用来执行SQL语句,完成对数据库的新增,修改,删除和查询数据等操作( )A.ConnectionB.ResultSetC.StatementD.PreparedStatement3.以下关于TCP(Transfer Control Protocol) 传输控制协议说法正确的是()A.基于连接的高可靠性传输协议 B. 可以保证数据准确的按顺序到达目的地C. 以流的方式传输数据D. 数据包的大小限制在64K以下4. 以下关于UDP(User Datagram Protocol)用户数据报协议说法正确的是()A. 基于连接的高可靠性传输协议B. 基于无连接的协议C.不会在发送数据之前建立连接,不管传输正确与否,也不保证数据包的正确次序D. 可以广播的方式发送数据,数据包的大小限制在64K以下5. 下列说法错误的有()A、Java面向对象语言容许单独的过程与函数存在B、Java面向对象语言容许单独的方法存在C、Java语言中的方法属于类中的成员(member)D、Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同6. createStatement(int type ,int concurrency)的参数说明:type 参数设置ResultSet 对象中的指针是否能够上下自由移动;可选值为()A. TYPE_FORWARD_ONLY: 只能使用next方法向下移动指针B. TYPE_SCROLL_SENSITIVE: 能够上下移动,且能得到临时修改后的数据库值C. TYPE_SCROLL_INSENSITIVE:能可上下移动,只能得到当前查询的值D.CONCUR_READ_ONLY: ResultSet对象对结果集只能读7.以下关于connection对象提供的方法描述正确的是()A.setAutoCommit(boolean autoCommit) 设置操作是否自动提交到数据库B. commit( ) 提交对数据库的更改,使更改生效C. rollback( ) 回滚当前执行的操作D. isclose( ) 判断连接是否关闭8.PreparedStatement对象可以执行已经预编译过的sql语句,其sql执行效率比Statement对象的执行效率更高,以下描述正确的是()A.可以在执行过程中向该对象中的sql语句传递参数B.对于sql中每个输入参数都保留一个问号“?”作为占位符C.每个?占位符的值必须在该语句执行前被赋值D. 每个?占位符的值可以在该语句执行后被赋值9. 下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法10.关于逻辑操作(&,|,^)与条件操作(&&,||)的说法正确的是()A.条件操作只能操作布尔型的B.逻辑操作不仅可以操作布尔型,而且可以操作数值型C.逻辑操作不会产生短路D.条件操作不会产生短路三.填空题(每空一分,10分)1.网络连接中合法端口的范围是 0 到 65535 ,其中 0~1023 范围的端口为给系统的网络服务与应用预留的2.取得当前线程的语句是: Thread.currrentThread() ;3.可以调用 Thread 类的方法 getPriority()和 setPriority() 来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是 NORM_PRIORITY4. InetAddress 是用于封装IP地址和DNS的一个类。
Java 语言程序设计》测试卷一、选择题(每题2分,共30 分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A.javaB. classC. htmlD. exe2、不允许作为类及类成员的访问控制符的是( B )。
A. publicB. privateC. staticD. protected3、为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( A) 。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )4、声明为static的方法不能访问(C )类成员。
A•超类B•子类C•非static D.用户自定义类5、下面选项中,Java对类Welcome进行定义正确的是:(D)A.public class 1Welcome{ } B.public class We lcome{ }C.public class welcome { } D.public class Welcome { }6、若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是( C )。
A •它们的返回值类型的不同B•它们的名称的不同C.它们的参数列表的不同D.它们的修饰符不同7、定义主类的类头时可以使用的访问控制符是( C )。
A. privateB. protectedC. publicD.private protected8、下列方法定义中,正确的是(C )。
A.int x( ){ char ch='a' 。
return (int)ch。
}B.void x( ){ ...return true。
}C.int x( ){ ...return true。
黑马程序员基础测试题答案一、选择题1. 以下哪一项不是Java基本数据类型?答案:D. String解析:Java基本数据类型共有8种,分别为byte、short、int、long、float、double、char、boolean。
String是Java 中的一个类,不属于基本数据类型。
2. 在Java中,下列哪个操作符用于取模?答案:C. %解析:在Java中,取模操作符是%。
例如,5 % 2的结果为1。
3. 下列哪个方法可以实现字符串的截取?答案:B. substring(int start, int end)解析:substring(int start, int end)方法是String类中用于截取字符串的方法,其中start表示开始截取的位置,end表示结束截取的位置。
二、填空题1. Java中,定义一个整型变量需要使用______关键字。
答案:int2. 在Java中,数组的默认初始化值为______。
答案:0(对于数值类型),false(对于布尔类型),null (对于引用类型)3. 下列哪个方法可以实现字符串的拼接?答案:concat(String str)三、判断题1. 在Java中,所有的对象都继承自Object类。
答案:正确解析:在Java中,所有的类都直接或间接继承自Object类,Object类是Java类库中的根类。
2. Java中的方法可以重载,即可以有多个同名方法,但参数列表必须不同。
答案:正确解析:Java中的方法重载是指同一个类中可以有多个同名方法,但参数列表必须不同,包括参数个数和参数类型。
3. 在Java中,数组是一种引用类型。
答案:正确解析:在Java中,数组是一种引用类型,它可以存储多个相同类型的元素。
数组的声明、创建和初始化如下:```javaint[] arr = new int[10]; // 声明并创建一个整型数组,长度为10arr[0] = 1; // 初始化数组第一个元素```四、编程题1. 编写一个Java程序,实现以下功能:输入一个字符串,输出字符串中字母和数字的个数。
单选题:(每道题目2分)1.下面哪个不是集合和数组的区别?A:集合长度可变B:集合只能存储引用数据类型C:集合只能存储一种引用数据类型D:集合可以存储不同引用数据类型2.Collection中contains()方法的作用是?A:往集合中添加元素B:从集合中删除元素C:判断元素在集合中是否存在D:判断集合是否为空3.下面关于迭代器,说法错误的是?A:专门用于遍历数组B:专门用于遍历集合C:依赖于集合而存在D:内部类的方式实现4.List集合元素的特点是?A:元素有序B:元素无序C:元素不可重复D:元素自然排序5.List集合的get()方法的作用是?A:获取第一个位置的元素B:获取最后一个位置的元素C:获取指定位置的元素D:获取中间位置的元素6.ConcurrentModificationException是什么东西?A:空指针异常B:访问越界异常C:类型转换异常D:并发修改异常7.下面哪个不属于常见的数据结构?A:栈B:队列C:链表D:圆8.ArrayList集合的底层数据结构是?A:数组B:链表C:哈希表D:红黑树9.下面哪个不是Vector的特有功能?A:addElement()B:add()C:elementAt()D:elements()10.Vector集合的特点是?A:线程同步B:线程不同步C:增删快D:底层结构是链表11.LinkedList集合的特点是?A:查询快B:增删快C:元素唯一D:元素按比较器排序12.下面代码运行的结果是?ArrayList<String> al = new ArrayList<String>();al.add(true);al.add(123);al.add("abc");System.out.println(al);A:编译失败B:[true,123,abc]C:[true,123]D:[abc]13.ArrayList集合和Vector集合的区别说法正确的是?A:ArrayList是线程安全的,Vector是线程不安全的B:ArrayList是线程不安全的,Vector是线程安全的C:ArrayList底层结构是数组,Vector底层结构是链表D:ArrayList底层结构是链表,Vector底层结构是数组14.下面代码运行的结果是?ArrayList al = new ArrayList();al.add(“a”);al.add(“b”);al.add(“c”);Iterator it = al.iterator();while(it.hasNext()){String s = (String)it.next();if(s.equals(“c”)){al.add(“c1”);}}System.out.println(al)A:编译失败B:[a,b,c]C:[a,b,c,c1]D:抛出ConcurrentModificationException异常15.Set集合的特点是?A:元素有序B:元素无序C:元素可重复D:元素从大到小排序16.有关HashSet集合的说法正确的是?A:底层数据结构是链表B:底层数据结构是数组C:元素是重复的D:保证元素的唯一性依赖于hashCode()和equals()17.有关TreeSet集合的说法错误的是?A:底层数据结构是红黑树B:元素可重复C:可以通过自然排序对元素进行排序D:可以通过比较器排序对元素进行排序18.有关Map集合说法错误的是?A:Map集合由键值对组成B:Map集合的键可重复C:Map集合的值可重复D:Map集合不是Collection集合的子体系19.下面关于HashMap说法正确的是?A:底层数据结构是链表B:底层数据结构是数组C:可以允许null键和null值D:不允许null键和null值20. LinkedHashMap集合的底层数据结构是?A:数组B:栈C:红黑树D:链表和哈希表多选题:(每道题目3分)21.下面哪些方法是ArrayList和LinkedList都有的?A:add()B:addFirst()C:get()D:iterator()22.以下有关增强for的说法正确的是?A:增强for是JDK5的新特性B:增强for可以直接遍历数组C:增强for可以直接遍历Map集合D:增强for可以直接遍历Collection集合23.下面关于泛型的说法正确的是?A:泛型是JDK5的新特性B:泛型增强了程序的安全性C:泛型避免了强制类型转换D:泛型要求必须强制类型转换24.ArrayList集合可以通过下面哪些方式进行遍历A:Iterator迭代器实现B:增强for实现C:get()和length()方法结合实现D:get()和size()方法结合实现25.Map集合可以通过哪些方式进行遍历?A:直接通过迭代器即可B:根据键找值的方式C:根据for循环直接遍历D:根据键值对对象找键和值的方式简答题目:(每道题目3分)26:ArrayList,Vector以及LinkedList的特点?ArrayList:底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector:底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList:底层数据结构是链表,查询慢,增删快线程不安全,效率高27:HashMap和Hashtable的区别?A:HashMap 线程不安全,效率高。
JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)1.Java语言中提供了一个()线程,自动回收动态分配的内存。
A.异步B.消费者C.守护D.垃圾收集2.以下哪个关键字可以用来为对象加互斥锁?()A、transientB、staticC、 serializeD、synchronized3.当()方法终止时,能使线程进入死亡状态。
A.runB.setProrityC.yieldD.sleep4.用()方法可以改变线程的优先级。
A.runB.setProrityC.yieldD.sleep5.线程通过()方法可以使具有相同优先级线程获得处理器。
A.runB.setProrityC.yieldD.sleep6.线程通过()方法可以休眠一段时间,然后恢复运行。
A.runB.setProrityC.yieldD.sleep7.方法resume( )负责重新开始()线程的执行。
A.被stop( )方法停止B.被sleep( )方法停止C.被wait( )方法停止D.被suspend( )方法停止8.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是( ).public class A {public static void main(String args[]) throws IOException{BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));String str=buf.readLine();int x=Integer.parseInt(str);System.out.println(x/100);}}A) 45 B)5 C) 123 D) 123459.下面的程序段执行后输出的结果是( )StringBuffer buf=new StringBuffer("Beijing2008");buf.insert(7,"@");System.out.println(buf.toString());A) Beijing@2008 B) @Beijing2008C) Beijing2008@ D) Beijing#200810.下面的程序编译运行后输出的结果是( )。
一、选择题(每题2分,共40分)1、下面哪个是Java语言中正确的标识符( C )A、3comB、importC、thatD、this2、下面哪个语句(初始化数组)是不正确的:( B)A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态C.类、封装 D.过程调用4、下面的代码段中,执行之后i 和j 的值是什么 ( B )int i = 1;int j;j = i++*2+3*--i;A.1, 2 B.1, 5 C. 2, 1 D. 2, 25、下面哪条语句把方法声明为抽象的公共方法( B )A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;6、下面关于java中类的说法哪个是不正确的( C )A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的( C )class A{ int i;static String s;void method1() { }static void method2() { }}A、;B、();C、();D、()8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变 ( B )A、 CardLayoutB、 FlowLayoutC、 BorderLayoutD、 GridLayout9、下列哪个用户图形界面组件在软件安装程序中是常见的 ( C )A.滑块B.进度条C.按钮D.标签10、在Java 中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法:(B)A.mid(2,s); B.charAt(2); C.(‘V’);D.indexOf(s,’V’);11、Java中哪个类提供了随机访问文件的功能。
( A )A. RandomAccessFile类B. RandomFile类C. File类D. AccessFile类12、下面哪个方法是类的成员方法,用来获取Socket的输入流。
( C )A.getChannel() B.getConnetion()C.getInputStream() D.getStream()13、给出下面代码:public class Person{static int arr[] = new int[10];public static void main(String a[]){}}哪个语句是正确的 ( B )A.编译时将产生错误;B.输出零;C.编译时正确,运行时将产生错误;D.输出空。
14、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:1) A a0=new A();2) A a1 =new B();3) A a2=new C();问以下哪个说法是正确的( D)A.只有第1行能通过编译B.第1、2行能通过编译,但第3行编译出错C.第1、2、3行能通过编译,但第2、3行运行时出错D.第1行、第2行和第3行的声明都是正确的15、下列哪个方法可用于创建一个可运行的类( A )A. public class X implements Runable{ public void run(){......} }B. public class X implements Thread{ public void run(){......} }C. public class X implements Thread{ public int run(){......} }D. public class X implements Runable{ protected void run(){......} }16、哪个关键字可以抛出异常 ( C )A、 transientB、 finallyC、 throwD、 static17、如果类中的成员变量可以被同一包访问,则使用如下哪个修饰符( C )A、 privateB、publicC、protectedD、no modifier18、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B )A.安全性 B.多线程 C.跨平台 D.可移植19、编译并运行以下程序段的结果是:( A )public class MyClass{final static int i;MyClass(){i =0;}public static void main(String args[]){A.编译出错 B、 null C、1 D、020、下列哪个方法可以用来加载JDBC驱动程序( D)A.类的 getDriver方法B.类的getDrivers方法C.类的connect方法D.类的 forName方法二、填空题。
(每空2分,共30分)1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为类名.class 。
2.构造方法是一个特殊的方法,主要用于创建对象时初始化对象。
构造方法的方法名要求与___类名_____相同,而且无返回值,构造方法无返回值,并不是要在构造方法名前加上 void 。
3.Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构成的,在程序执行过程中, init() 方法只被调用执行一次,但start() 方法可以多次被调用执行。
4.我们把awt组件称为重量组件,而把 swing 组件称为轻量组件。
在编写swing组件的程序时,很多情况下只要在原有的awt组件的类名前面加上字母 J 。
5.创建多线程的途径有两种:创建Thread类的子类与实现 Runable接口。
6.异常处理过程中,一个try程序块可以对应多个catch块。
7.数据流类分为DataInputStream和 DataOutputStream 。
8.当两个或多个线程要同时访问共享数据时,一次只允许一个线程访问共享资源,支持这种互斥机制称为线程锁。
9. TCP 协议提供的是可靠无差错的数据传输, UDP 协议不保证数据传输的可靠性。
10、基于UDP网络程序设计中,使用Datagram类来创建套接字连接。
1、下面哪项可以得到数组元素的个数,java中定义数组名为 abc,( B )A、( )B、C、len(abc)D、ubound(abc)2、构造方法何时被调用(B )A.类定义时B.创建对象时C.调用对象方法时D.使用对象的变量时3、下列语句片段int a=10,b=4,c=20,d=6;的结果为( C ).28 C D.不能执行4、下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )A、protectedB、staticC、privateD、public5、编译并运行下述程序段的结果是:( A )。
public class Test{public static void main(String argv[]){int[] count = new int[4];编译时错误 B.运行时错误 C.输出0 D.输出null6、下列说法不正确的是( B )A. IOException必须被捕获或抛出B. java语言会自动初始化变量的值C. java语言不允许同时继承一个类并实现一个接口D. java语言会自动回收内存中的垃圾7、在java的一个异常处理中,哪个语句块可以有多个( A )A、catchB、finallyC、tryD、throws8、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( C )。
A.本地方法 B.静态方法C.最终方法 D.抽象方法9、类Test1定义如下:1) public class Test1{2) public float aMethod(float a, float b){ }3)4) }将以下哪种方法插入行3是不合法的。
( B )A、public float aMethod(float a, float b, float c){ }B、public float aMethod(float c, float d){ }C、public int aMethod(int a, int b){ }D、private float aMethod(int a, int b, int c){ }10、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器( B )A、BoxLayoutB、GridLayoutC、BorderLayoutD、FlowLayout11、哪个关键字可以对对象加互斥锁 ( B )A、 transientB、 synchronizedC、 serializeD、static12、Java程序的执行过程中用到一套JDK工具,其中是指( B )文档生成器解释器编译器类分解器13、下面哪个不是Thread类的方法( C)A.yield() B.sleep(long msec) C.go() D.stop() 14、为实现多线程之间的通信,需要使用下列哪种流才合适( D )A.Filter stream B. File stream C. Random access stream D. Piped stream15、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。
子句子句子句子句16、定义一个类名为“”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:(C)A. private class MyClass extends ObjectB. class MyClass extends ObjectC. public class MyClassD. protected class MyClass extends Object17、给出如下代码:class Test{private int m;public static void fun() {.}}如何使成员变量m 被函数fun()直接访问 ( C )A、将private int m 改为protected int mB、将private int m 改为 public int mC、将private int m 改为 static int mD、将private int m 改为 int m18、对象使用时,下面描述错误的是( B )A.通过“.”运算符调用成员变量和方法B.通过成员变量的访问权限设定限制自身对这些变量方法的调用C.将一个对象申明为类的成员时,必须在使用前为其分配内存D.在方法中使用对象作为参数时,采用引用调用19、下面代码哪行会引起错误 ( D )1) class Parent {2) private String name;3) public Parent(){}4) }5) public class Child extends Parent {6) private String department;7) public Child() {}8) public String getValue(){ return name; }9) public static void main(String arg[]) {10) Parent p = new Parent();11) }12) }A、第3行B、第6行C、第7行D、第8行20、下面关于Applet的说法正确的是 ( C )A、 Applet也需要main方法B、 Applet必须继承自C、 Applet能访问本地文件D、 Applet程序不需要编译二、填空题。