Java基础试题及其答案 (1)

更新时间:2024-06-15 16:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java试题

1) java程序中,main方法的格式正确的是()。 (选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s)

d)public static void main(String[] args) 2) 给定java代码,如下:

public byte count(byte b1,byte b2){ return______; }

要使用这段代码能够编译成功,横线处可以填入() 。 (选择一项)

a) (byte) (b1-b2) b) (byte) b1-b2 c) b1-b2

d) (byte) b1/b2

3) 在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,

这个类必须定义为()。 (选择一项) a)protected b)private c)public d)friendly

4) 在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”;

b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+5.5; 5.5 double 5.5f float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项)

String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException

d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。 (选择一项) a)ArrayList List 有序可重复

b) HashSet Set 无序不可重复 同一对象是重复的

c) HashMap Map(key/value) 重复定义:hashCode、equals(业务) d) LinkedList List

8) 给定如下java代码,编译运行之后,将会输出()。 public class Test{

public static void main(String args[]){ int a=5;

1

System.out.println((a%2==1) ?(a+1) /2:a/2) ; 三目表达式 }

} (选择一项) a)1 b)2 c)2.5 d)3 9) 以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选

择一项) subString子串 [1, 3) a) “23” b) “123” c) “12” d) “234”

10) 给定如下java代码,以下()代码行编译会报错。(选择一项) class MyClass{ private final int a; 错误,类中属性是final时,必须赋初值 void myMethod(final int p){ final int il; 正确,函数中变量是final时,定义时可以不赋值 final int i2=p; 正确,函数中变量是final时,定义时可以赋初值 i1=20; 正确,因为它还没有赋初值,但是赋值后不能更改 i2=20; 错误,因为常量已赋值,不能更改 } }

a) void my Method(final int p) b) final int il; c) final int i2=p d) il=20 e) i2=20;

11) 给定如下java代码,编译时会在()出现错误。 class Parent{ }

class Child extends Parent{

public static void main(String args[]){

Parent p1=new Child() ;//第一行 正确,子类向父类是自动造型 Parent p2=new Parent () ;//第二行 Child c1=new Child() ;//第三行

Child c2=new Parent () ;//第四行 错误,父类向子类是强制造型 }

} (选择一项)

a) 第一行 b) 第二行 c) 第三行 d) 第四行

12)给定某java程序的main方法,如下:

2

public static void main (String[]arg){ System.out.print( “Hello”+args[1]) ; }

从命令行传参:people world nation,该程序的运行结果是()。 (选择一项) a) Hello people args:[“people”, “world”, “nation”] b) Hello world

c) Hello people world nation d) 运行时出现异常 13) 给定Java代码,如下: abstract class Shape{

abstract void draw() ; 方法重写规则 }

要创建Shape类的子类Circle,以下代码正确的是() (选择二项)

a) class Circle extends Shape{

int draw() {} 返回类型是int,不正确,应该是int }

b) abstract class Circle extends Shape{ }

c) class Circle extends Shape{

void draw() ; 无方法体 }

d) class Circle extends Shape{ void draw() {} }

14) 给定如下java代码,编译运行时,结果是()。 (选择一项)

public class Test{

public static void main (String args[]) { for (int i=0;i<3; i++) { System.out.print(i) ; }

System.out.print(i) ; i的作用域是在for循环内

} }

a) 编译时报错

b) 正确运行,输出012 c) 正确运行,输出123 d) 正确运行,输出0123

15) 给定一个Java程序的方法结构如下;以下方法体实现语句正确的是( )。(选择两项) public Integer change( int i) { }

a) Integer int =new Integer( i) ; 变量名int是关键字

return int;

b) Integer t = Integer.valueOf( i) ;

return t;

3

c) return new Integer( i) ;

d) return i; JDK1.5之后支持基本类型和对象类型的自动转换 16) 在java中,在尝试对null 对象操作时,会产生( )类型的异常。(选择一项) a) ArithmeticException b) NullPointerException c) IOException d) EOFException

6)

17) Java语言中,String str=”123456789”,System.out.println(str.indexOf(“5”)),输出结果为()。(选择一项) indexOf定位,下标从0开始 a) 6 b) 5 c) 4 d) -1

18) 在java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确

的是( ) 。(选择一项) a) interface A extends B,C 接口 b) interface A implements B,C 接口 c) class A implements B,C d) class A implements B,implements C 19)给定JAVA代码,如下:

Class Parent{

public void count() {

System.out.println(10%3) ; } }

public class Test extends Parent{ public void count() {

System.out.println(10/3) ; }

public static void main(String args[]) { Parent p = new Test() ;

p.count() ;

这里实际是调用具体类(Test)的count方法,如果要调用Parent的count,那么需要

在Test中如下写:

public void count() {

super.count(); 使用super引用父类

System.out.println(10/3) ; }

在调有重写方法时,首先在子类找,如果子类中没有,则自动查找父类,直到找到

一个为止。如果子类有,则调用子类中重写方法,这时父类中的重写方法不会再自动查找,如果要调用,则需要在子类重写方法中使用super来显示调用。

} }

4

运行编译后,输出结果是( )。(选择一项) a) 1 b) 1.0 c) 3

d) 3.3333333333333335

20) 在Java中,下列( )是不合法的赋值语句。(选择一项)

a) float f=1/3; b) int i=1/3;

c) float f=1*3.0; 3.0 double d) double f=1.0/3;

21) 利用JAVA SWING 编程,要在当前窗体中显示如下信息提示框,则需要编写的代码

是( )。(选择一项)

a) JOptionPane.showMessageDialog(null,\请输入登陆名!\提示信

\

b) new JOptionPane.showMessageDialog(null,\请输入登陆名!\提示信

\

c) new JOptionPane.messageDialog(null,\请输入登陆名!\提示信

\

d) JOptionPane.messageDialog(null,\请输入登陆名!\提示信

\

22) 给定某java程序的main方法,如下;(选择一项)

public static void main(String [ ]args) { int i = 0; System.out.println(i++) ; i++表示本语句执行完成后,再执行++操作 }

a) 0 b) 1

c) 编译错误

d) 运行时出现异常

23)给定java程序,如下:编译运行Test.java,结果是( )。(选择一项)

public class Test{ private static final int counter=10; public static void main(String[] args) { System.out.println(++counter) ; ++counter修改常量值,是错误的 } }

a) 10 b) 11

5

息息息息

c) 编译错误

d) 运行时出现异常

24)在JAVA中,要创建一个新目录,要使用( )类的实例。(选择一项)

a) File 文件和目录 b) FileOutputStrean 文件输出字节流 c) PrintWriter 输出字符流 d) Dir 没有这个类

25) 在java 中,下列( ) 类不能派生出子类. (选择一项)

a) public class MyClass{ } b) class MyClass{ }

c) abstract class MyClass{ } 表示抽象类,不能实例化 d) final class MyClass { } 表示具体类,不能派生子类

26) 在java 中,以下( )命令能够将java源文件编译为类文件 (选择一项)

a) java 运行命令 b) javaw 运行命令 c) javac 编译命令

d) jar 打Jar包 归档命令

27)在JAVA中,通过调用以下( )方法,可以装载SUN的JDBC-ODBC桥。(选择一项)

a) new Class() .load(“sun.jdbc.odbc.jdbcodbcDriber”) ;

b) new Class() .forName(“sun.jdbc.odbc.JdbcOdbcDriver”) ; c) Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”) ; d) Class.load(“sun.jdbc.odbc.JdbcOdbcDriver”) ;

28) 在JAVA中,要判断D盘下是否存在文件abc.txt,应该使用以下( )判断语句。(选择一项)

a) if(new File(“d:abc.txt”) .exists() = =1) b) if(File.exists(“d:abc.txt”) = =1)

c) if(new File(“d:/abc.txt”) .exists( ) ) exists( ) 直接返回布尔值 d) if(File.exists(“d:/abc.txt))

29) 在JAVA接口中,下列选项里有效的方法声明是( )。(选择二项)

a) public void aMethod( ) ; 接口中的方法声明中,范围只能是public和默认 b) void aMethod( ) ;

c) static void aMethod( ) ; d) protected void aMethod( ) ;

30) 给定JAVA代码,如下:编译运行,结果是( )。(选择一项)

public static void main(string[] args) { String s; System.out.println(“s=”+s) ;

对象类型必须赋值后才能使用,这里s没有赋值,它的值并不是null。如下所写,则代码是正确的:

String s = null;

System.out.println(\

6

}

a) 编译错误

b) 编译通过,但出现运行是错误 c) 正常运行,输出s=null d) 正常运行,输出s=

31) 给定一个java程序的main方法的代码片段如下:假如d 目录下不存在abc.txt文件,现运行该程序,下面的结果正确的是( )。 ( 选择一项)

new FileOutputStream(“d:/abc.txt”)输出时没有文件则创建,有文件则覆盖。

try {

PrintWriter out=new PrintWriter(new FileOutputStream(“d:/abc.txt”)) ; String name=”chen”; out.print(name) ; out.close( ) ; }

catch(Execption e) {

System.out.println(“文件没有发现!“) ; }

a) 将在控制台上打印:“文件没有发现!” b) 正常运行,但没有生成文件abc.txt c) 运行后生成abc.txt ,但该文件中无内容 d) 运行后生成abc.txt,该文件内容为:chen

32) 在JAVA中,对于PreparedStatement的方法setInt(int i,int x) ,描述正确的是( (选择一项) JDBC中给SQL语句赋参数,i是从1开始

a) 使得第i-1个参数的值设为x b) 使得第x-1个参数的值设为 i c) 使得第x个参数的值设为 i d) 使得第i个参数的值设为 x 33) 给定JAVA程序Test.java,如下:

package com; public class Test{

public void talk( ) { }

protected void walk( ) { } private void climb( ) { } private void jump( ) { } 给定Test的子类Test2,代码如下: Package com.util; Import com.*;

Public class Test2 extends Test {

Public static void main(String[] args) {

Test2 tt=new Test2( ) ;

7

)。 //A }

}

可以在Test2的A处加入的代码是()。(选择二项) a) tt.talk( ) ; b) tt.walk( ) ; c) tt.climb( ) ; d) tt.jump( ) ;

34) 在JAVA语言中,下面变量命名合法的有()。(选择二项)

a) variable123

b) 123varible 数字开头 c) private 关键字 d) variable_123

35)给定一段JAVA代码如下:要打印出list中存储的内容,以下语句正确的是( 择二项)

ArrayList list = new ArrayList( ) ; list.add(“a”) ; list.add(“b”) ;

Iterator it = list.iterator( ) ; a) while(it.hasNext( ) )

system.out.println(it.next( ) ) ; hasNext( )、next( ) 是Iterator 的方法 b) for(int i=0; i

system.out.println(list.get(i)) ; c) while(list.hasNext( ) )

system.out.println(list.next( ) ) ; d) for(int i=0; i

system.out.println(it(i)) ;

36) 下列Java Swing 组件,() 是容器组件。(选择二项)

a) JFrame b) JButton c) JTextArea d) JPanel

37) 给定某java 程序的main 方法如下,该程序的运行结果是() (选择一项) 。pubtic static void main ( String[] args) { boolean boo=true; if ( boo== false) {

System.out.println (\}else {

System.out.println (\}

a) a b) b c) c d) d

38)下列选项中,不属于Java语言的关键字的是() 。(选择一项)

a) import b) malloc

8

。(选 )

c) extends d) new

39)在JAVA中,() 类提供定位本地文件系统,对文件或目录及其属性进行基本操作。(选择一项)

a) Filelnputstream b) FileReader c) Filewriter d) File

40)在JAVA中,() 关键字用来终止循环语句。(选择一项)

a) return 函数返回 b) continue 中止当前循环 c) break 中止循环

d) exit 是System对象的方法,用于退出JVM

35) 给定java 代码,如下,编译运行后,结果是0。(选择一项)

public class Test{ static String s;

public static void main(String args[]) {

char c=s.charAt(0) ; System.out.println(c) ; }} a) 编译错误

b) 运行期异常,异常类型为NullPointerException c) 运行期异常,异常类型为ArithmeticExceptioin d) 正确运行,但无输出内容

36) 给定Java代码如下,关于super的用法,以下描述正确的是() 。(选择一项)

class C extends B { public C() {

super(); super()是父类构造函数,this()是本类的构造函数 } }

a) 用来调用类B 中定义的super() 方法 b) 用来调用类C 中定义的super() 方法 c) 用来调用类B 的无参构造方法

d) 用来调用类B 中第一个出现的构造方法

37) 给定java程序Test.java如下,编译运行,结果是() 。(选择一项) package com; class Test {

protected void talk () { System.out.print(\ } }

给定Test 的子类Test2,

代码如下:package com.util; import com.*;

在com包中Test类是默认作用域,只能本包内访问

9

public class Test2 extends Test {

public static void main (String[]args) {

new Test2() .talk() ;

}

a) 输出字符串:talk

b) 输出字符串:talk talk

c) 编泽错误:在com.util.Test2 中无法访问方法talk0 d) 编译错误:com.Test不是public 无法在包外访问 39) 给定java代码如下,编译运行,结果是() 。(选择一项)

在类和函数是定义变量和常量时行为不同,变量作为类属性可以默认赋值,常量作为类属性必须显示赋值。变量和常量作为函数变量必须显示赋值,

作为类的属性定义时,变量会默认赋初值,例如int i为0,String s为null static int i;

public static void main (String[] args) {

在方法内,则必须显示的赋初值,否则不可使用。即不会默认赋初值。这里int i中的i是不能使用的。 int i;

System.out.println (“i=“+i) ; }

a) 编泽错误

b) 运行时出现例外

c) 正常运行,输出i=-1 d) 正常运行,输出i=0

40) 研究下面的Java 代码,当x=2 时,运行结果是() 。(选择一项)

switch ( x) {

case1: System.out.println(1) ; case2:

case3: System.out.println(3) ; Case4: System.out.println(4) ; }

a) 没有输出任何结果 b) 输出结果为3

c) 输出结果是3 和4 d) 输出结果是l 、3 和4

41) 在Java 语言中,下列() 是正确的JDBc 代码片断。(选择二项)

a) Preparedstatement pstmt=con.prepareStatement(\into EMP(EMPNO,ENAME) values ( ? ,?) \pstmt.setInt(l,7) ;

pstmt.setString(2,\

b) preparedstatement pstmt=con.prepareStatement(\into EMP(EMPNO,ENAME) values ( ? ,?) \

pstmt.setlnt(l,\方法表示值类型应该是int pstmt.setString(2,\

c) Statement stmt=con.createStatement(\

10

values( 7,?Admin?) \ 正确的写法如下:

Statement stmt=con.createStatement() ;

stmt.execute(\into EMP ( EMPNO ,ENAME) values( 7,'Admin')

\);

d) PreparedStatement stmtl=con.prepareStatement(\into EMP ( EMPNO ,ENAME) values ( 7,?Admin') \

42) 类java.util.HashMap 实现了()接口。(选择一项)

a) Collection b) Set c) Map

d) List

43) 在java 中,已获得默认类型的Resultset对象rs ,要获取结果集中的数据,必须执行的语句是() 。(选择一项)

a) rs.next() 返回结果集时游标指在第一行之前,使用next滚动游标指向第一行 b) rs.previous() c) rs.getNext()

d) rs.getPrevious()

44) 在Java中,com 包中某类的方法使用下列()访问修饰符修饰后,可以被com.db包中的子类访问,但不能被com.db 中其他类访问。(选择一项) a) private b) protected c) public

d) friendly

45) 在java中,使用关键字来定义一个接口。(选择一项)

a) class b) interface

c) extends d) implements 46) 在java中,()接口位于集合框架的顶层(选择一项)

a) Map b) Collection c) Set d) List 47) Java中,byte 数据类型的取值范围是()。(选择一项)

a )-256 至255 b )-255 至255 c )-128 至127 d )-127 至128

48) 分析如下JAVA代码片段,输出结果为() . (选择一项)

int price = 10; int number =0; int monney =0; for(int i=0;i <2;i++){

number++; 1 2 --price; 9 8

monney +=number*price; 1*9 9+2*8 }

System.out.println(monney) ; a) 25 b) 28 c) 31 d) 30

11

49) 对于Java中的布局管理器,以下说法中错误的是()。(选择一项)

a) FlowLayout 以由上到下的方式从左到右排列组件 b) BorderLayout 使用”东”、”西”、”南”、”北”,”居中”来指定组件的位置 c) GridLayout 可以创建网格布局,网格布局中各组件的大小可以任意调整 d )可以通过容器的setLayout 方法为容器指定布局管理器 50) 给定一个java源程序Test.java ,在命令行中,使用下面()语句可以编译、运行该程序。

(选择一项)

a) javac Test.java

java Test Java命名后面是类的全路径名,没有.class b) javac Test.java java Test.class c) java Test.java javac Test

d) java Testjava javac Test.class

51) 给定java 代码如下,编译运行后,输出结果是()(选择一项)。

public class test { static int i;

public int aMethod() { i++; return i; }

public static void main (String args[]) { Test test=new Test() ; test.aMethod () ;

System.out.println (test.aMethod()) ; } }

a) 0 b) 1 c) 2 d) 3

52)Java语言中有如下代码,下列X 的定义中,可使上段代码输出100 的有() 。(选择二

项)

switch(x) { X类型只可以是整数、字符、枚举 case 100: System.out.println(100) ;break; case 110: System.out.println(110) ;break; }

a) byte x=100; b) float x=100; c) char x=?d? d) long x=100 53) 在java 的异常处理模型中,无论是否发生异常,()块中的代码都会被执行。(选择一

项) a) try b) catch c) finally d) throw

54) 在Java中,下列()是合法的变量名。(选择二项)

12

a) _myString b) $a+b c) myString d) 9myString

55) 在java中,下面()是不合法的声明。(选择两项)

a) short x[] b) short[] y c) short[5] x2 d) short z2[5] e) short [] z[][]

56) 在java中,以下代码()正确地创建了一个InputStreamReader类型的对象。

a) new InputStreamReader(new FileInputStream(\b) new InputStreamReader(new FileReader(\c) new InputStreamReader(new BufferedReader(\d) new InputStreamReader(\57) 在java中,访问修饰符限制性最高的是()。

a) private b) protected c) public d) friendly

58) java中,以下()接口以键-值对的方式存储对象。

a) java.util.Collection b) java.util.Map c) java.util.List d) java.util.Set

59) 在Java中下面关于构造方法说法错误的是() (选择二项)

如果类中没有定义构造函数,JVM会提供一个默认构造函数。如果类中自定义了构造函数,则JVM不再提供默认构造函数。

A) 对于每一个类,Java虚拟机都提供一个默认构造方法 B) 构造方法不能够被重载 C) 构造方法可以接受参数

D) 当类的父类只有一个带参数的构造方法时,这个类必须提供自定义的构造函数 60) 分析如下的Java代码段,()编译没有异常和错误 (选择一项)

a) byte b=257; 257超范围

b) boolean b=null; 基本类型不能赋null c) float f=1.3; 1.3是double d) int i=12;

61) 在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在()包中。(选择一项)

a) java.lang 使用包中类时不需要import b) java.sql c) java.util

13

d) java.math

62) 在Java的异常处理中,用户字定义的异常类应该是()的子类。(选择一项)

a) Exception 用户错误 b) Throwable 异常根类 c) Error 系统错误

d) RuntimeException 程序错误BUG

63)在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。(选择一项)

a) final b) static

c) abstract 没有方法体 d) void

64)在JAVA中,()关键字用来终止循环语句。(选择一项)

a) return b) continue c) break d) exit

65)在Java中,下面关于变量及其作用域的描述错误的是()。(选择一项)

a) 实例变量是类的成员变量

b) 实例变量用关键字static声明 直接在类中定义即可 c) 在方法中定义的局部变量在该方法被执行时创建 d) 局部变量在使用前必须被初始化

66)在Java中,关于HashMap类的描述,以下说法错误的是()。(选择一项)

a) HashMap使用键/值的形式保存数据

b) HashMap能够保证其中元素的顺序 这是不能的,因为key是一个Set集合 c) HashMap允许将null用作键 d) HashMap允许将null用作值

67)以下()不是Java的原始数据类型。(选择二项)

a) short

b) Booleam boolean的对象类型 c) unit 这是C语言中类型 d) float

68) 在Java中,要使用布局管理器,必须导入下列()包。(选择一项)

a) java.awt.*

b) java.awt.layout.* c) javax.swing.layout.* d) javax.swing. *

69) 在JAVA中,无论测试条件是什么,下列()循环将至少执行一次。(选择一项)

a) for

b) do…while c) while

d) while…do

70) 给定某java程序的main方法如下,该程序的运行结果是()。(选择一项)

public static void main(String[] args) {

14

boolean boo=true;

if(boo==false) {

system.out.println(“a”) ; } else{

System.out.println(“b”) ; } } a) a b) b c) c d) d

71) 给定如下Java代码,编译运行时,以下()语句的值是true。(选择二项)

String s=”hello”; s和t引用的是同一对象,因为”hello”是一个常量 String t=”hello”;

String e=new String(”hello”) ; s、t引用同一对象,e引用的另一个对象,二者值相同 char c[]={?h?,e?,?l?,?l?,o?}; a) s.equals(t) ; b) t.equals(c) ; c) t.equals(e) ; d) t==c;

72) 在Java中,下面关于抽象类的描述正确的是()。(选择二项)

a) 抽象类可以被实例化

b) 如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类 c) 抽象类中的方法必须都是抽象的 d) 声明抽象类必须带有关键字abstract

73) 在Java中,下列代码运行后的输出结果是()。(选择一项)

int x=5*3;

int y=x+5/x+3; 5/x=0 15+0+3=18 运算符的优先级 System.out.println(y) ; a) 18 b) 21 c) 19 d) 4

74)分析下面这段Java代码,它的运行结果是()。(选择一项)

import java.io.*; public class B{

public static void main(String[]args) { int i=12;

System.out.println(i*=++i) ; (i*=++i)等价于(i = i * ++i) ++i表示i为13 I = 13 * 13 }

| ++i = 13|

15

| * | | i=12|

}

a) 145 b) 169 c) 156

d) 程序无法编译

75)在Java中,下面这段代码运行后的结果是()。(选择一项)

class FatherClass{

final protected void faMethod() { final方法不能被子类重写 System.out.println(“这是父类中的方法”) ; } }

class SonClass extends FatherClass{ public void faMethod() {

System.out.println(“这是子类中的方法”) ; }

public static void main(String[]args) { FatherClass obj=new SonClass() ; obj.faMethod() ; } }

a) 这是父类中的方法 b) 这是子类中的方法 c) 这是父类中的方法 这是子类中的方法 d) 编译错误

16

| * | | i=12|

}

a) 145 b) 169 c) 156

d) 程序无法编译

75)在Java中,下面这段代码运行后的结果是()。(选择一项)

class FatherClass{

final protected void faMethod() { final方法不能被子类重写 System.out.println(“这是父类中的方法”) ; } }

class SonClass extends FatherClass{ public void faMethod() {

System.out.println(“这是子类中的方法”) ; }

public static void main(String[]args) { FatherClass obj=new SonClass() ; obj.faMethod() ; } }

a) 这是父类中的方法 b) 这是子类中的方法 c) 这是父类中的方法 这是子类中的方法 d) 编译错误

16

本文来源:https://www.bwwdw.com/article/4m93.html

Top