哪个选项不属于java的特点?C
A、A.面向对象
B、健壮性
C、单一平台性
D、分布性
Java体系主要分为三部分,下列哪个选项不是其中的一个组成部分?D
A、Java ME
B、Java SE
C、Java EE
D、Java AE
java源程序文件的扩展名是什么?A
A、.java
B、.class
C、.obj
D、.exe
Java在( )年的5月23日诞生。C
A、1991
B、1993
C、1995
D、1997
main方法前的修饰符不应该包括哪一项?C
A、public
B、static
C、char
D、void
下列哪个是Java应用程序主类中正确的main方法?( )D
A、public void main(String args[])
B、static void main(String args[])
C、public static void Main(String args[])
D、public static void main(String args[])
java字节码文件的扩展名是什么?B
A、.java
B、.class
C、.obj
D、.exe
下列哪个选项不属于java的特点?A
A、复杂性
B、面向对象性
C、跨平台性
D、健壮性
哪个选项不属于java的特点?C
A、A.面向对象
B、健壮性
C、单一平台性
D、分布性
下列哪个是JDK提供的编译器?B
A、java.exe
B、javac.exe
C、javap.exe
D、javaw.exe
Java虚拟机简称( JVM)
java运行时环境简称(JRE )
一个java文件中可以有多个类,但只能有一个公共类用( public)来修饰,且该公共类的类名与Java文件名相同。
以下不属于基本数据类型的是哪个?C
A、boolean
B、int
C、数组
D、double
设有定义int a=12;则执行以下语句后,a的值为( )。A
a*=12;
A、144
B、12
C、24
D、0
int[] array=new int[10];
System.out.println(array[1]);
下面叙述正确的是()。C
A、在编译的时候会出现错误
B、编译通过,但运行时会出现错误
C、输出结果为0
D、输出结果为null
设有定义int x=5;则执行以下语句后,x的值为( )。B
x+=x+5;
A、10
B、15
C、20
D、25
下列语句序列执行后,输出的结果是()。A
public class ex{
public static void main(String[ ]args){
int a=13;
a%=a/5;
System.out.println( a);
}
}
A、1
B、13
C、55
D、15
对于int a[]=new int[3];下列哪个叙述是错误的?( )C
A、a数组的长度是3
B、a[0]的值是0
C、a[1]的值是1
D、a[1]的值等于a[2]的值
设x=1,y=2,z=3,则表达式y+=z--/++x的值是( )。A
A、3
B、3.5
C、4
D、5
下面定义一个整型数组,不合法的是( )D
A、int array[][]=new int[2][3];
B、int array[][]=new int[6][];
C、int [][]array=new int[3][3];
D、int [][]array=new int[][4];
下面声明一个String类型的数组,正确的是()。C
A、char str[];
B、char str[][];
C、String str[];
D、String str[10];
下列关于作用域的说法中,正确的一个是( )。B
A、不同方法中声明的不同变量,可以互相访问
B、在不同方法中可以声明相同数据类型的同名局部变量
C、在同一个程序块中可以声明相同数据类型的同名变量
下列语句序列执行后,x的值是( )。B
public class ex{
public static void main(String[ ]args){
int a=2;
int b=3;
int x=4;
x=++a*x;
System.out.println(x);
}
}
A、13
B、12
C、11
D、10
可用做Java标识符的是( )。B
A、final
B、_is
C、2time
D、my name
下列关于short类型数据的说法中正确的一个是( )。D
A、short类型数据的长度为8位
B、short类型只能自动转换为byte类型
C、short类型被包装在类java.1ang.Character中
D、short类型被包装在类java.lang.Short中
现在有一个int类型的变量a和一个char类型的变量b,关于它们之间类型转换的说法中,正确的一个是( )。A
A、a必须强制转换为b
B、a可以自动转换为b
C、b必须强制转换为a
D、它们不可以相互转换
下列哪一项叙述是正确的?( )B
A、char型字符在Unicode表中的位置范围是0至32767
B、char型字符在Unicode表中的位置范围是0至65535
C、char型字符在Unicode表中的位置范围是0至65536
D、char型字符在Unicode表中的位置范围是-32768至32767
在java中定义常量的格式中,正确的是哪一个?C
A、 const double pi=3.14;
B、final PI=3.14;
C、final double pi=31.4;
D、 #define PI 3.14
现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是( )。B
A、int
B、double
C、float
D、long
以下定义一维数组a正确的是?C
A、int[4] a=new int[4];
B、int[4] a={1,2,3,4};
C、int [] a=new int[4];
D、int[] a=new int[4]{1,2,3,4};
下列说法中,正确的一项是( )。C
A、双精度数强制转换成单精度数后,其数值精度会提高
B、Java语言中的布尔变量可以和整型变量相互强制转换
C、强制转换是将存储长度长的数据转换为长度短的数据
D、强制转换是将存储长度短的数据转换为长度长的数据
以下哪个选项在内存中不占有4个字节?C
A、int
B、2个char
C、4个char
D、float
Integer.SIZE的值为( 2147483647)。
在java语言中利用(final )关键字来定义常量
public class ArrayCopyClone {
public static void main(String[] args) {
int[] array1 = { 1, 2, 3, 4, 5 };
int[ ] array2 = array1.clone();
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i]+",");
}
}
}
演示结果:(1,2,3,4,5,)
数组的长度可以使用它的属性( length)来获得,创建一个数组对象可以使用(new )关键字来创建
(Object )类是所有类的父类。
对于一个Java 源文件,import, class定义以及package 正确的顺序是:A
A、package,import,class
B、class,import,package
C、import,package,class
D、package,class,import
有一个类Person,以下为其构造方法的声明,其中正确的是()。A
A、public Person (int x){...}
B、static Person (int x){...}
C、public a(int x){...}
D、void Person (int x){...}
构造方法被调用是在( )。C
A、类定义时
B、调用对象方法时
C、创建对象时
D、使用对象的变量时
下列关于类和对象的描述中,不正确的一项是( )C
A、现实世界中,可以把每件事物都看做是一个对象
B、有共同属性的对象可以抽象为一个类
C、一个类只能实例化一个对象
下列方法定义中,正确的是()。D
A、int x( ){ char ch='a'; return (int)ch; }
B、void x( ){ ...return true; }
C、int x( ){ ...return true; }
D、int x( int a, b){ return a+b; }
下列关于Java程序结构的描述中,不正确的一项是()。C
A、一个Java源文件中可以包括一个package语句
B、一个Java源文件中可以包括多个类定义,但是只能有一个public类
C、一个Java源文件中可以有多个public类
D、源文件名与程序类名必须一致
有一个类Student,以下为其构造方法的声明,其中正确的是()。B
A、void Student (int x){...}
B、Student (int x){...}
C、s(int x){...}
D、void s(int x){...}
下列哪个不是面向对象程序设计方法的特点?()D
A、抽象
B、继承
C、多态
D、结构化
下列方法定义中,不正确的是()。D
A、float x( int a,int b ) { return (a-b); }
B、 int x( int a,int b) { return a-b; }
C、 int x( int a,int b ) { return a*b; }
D、int x(int a,int b) { return 1.2*(a+b); }
下列哪个叙述是正确的?( )D
A、成员变量的名字不可以和局部变量的名字相同。
B、方法的参数的名字可以和方法中声明的局部变量的名字相同。
C、成员变量没有默认值。
D、局部变量没有默认值。
下列关于类、包和源文件的说法中,错误的一项是( )。D
A、一个文件可以属于一个包
B、一个包可包含多个文件
C、一个类可以属于一个包
D、一个包只能含有一个类
下列方法定义中,正确的是()。D
A、int x( int a,b ) { return (a-b); }
B、double x( int a,int b) { int w; w=a-b; }
C、double x( a,b ) { return b; }
D、int x( int a,int b) { return a-b; }
以下哪个关键字代表本类对象?B
A、This
B、this
C、super
D、Super
下列关于构造方法的叙述中,哪个选项是错误的?C
A、Java语言规定构造方法名与类名必须相同
B、Java语言规定构造方法没有返回值,但不用void声明
C、Java语言规定构造方法不可以重载
D、Java语言规定构造方法只能通过new自动调用
设 A为已定义的类名,下列声明A类的对象a的语句中正确的是()。D
A、float A a;
B、public A a=A( );
C、A a=new int( );
D、A a=new A( );
用来导入已定义好的类或包的语句是什么?B
A、main
B、import
C、public class
D、class
关于构造方法的说法哪个正确?C
A、一个类只能有一个构造方法
B、一个类可以有多个不同名的构造方法
C、构造方法与类同名
D、构造方法必须自己定义,不能使用父类的构造方法
为了使包ch4在当前程序中可见,可以使用的语句是( )。A
A、import ch4.*;
B、package ch4.*;
C、ch4 import;
D、ch4 package;
关于对象成员占用内存的说法哪个正确? ( )B
A、同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C、对象的方法不占用内存
D、以上都不对
在Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为()C
A、隐藏
B、重写
C、重载
D、Java 不支持此特性
定义类时,不可能用到的保留字是()。A
A、private
B、class
C、extends
D、implements
对成员的访问控制保护最强的是( )。C
A、public
B、缺省
C、private
D、protected
下列哪个叙述是正确的?( )C
A、Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B、Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C、Java源文件含有主类。
D、Java源文件如果含有主类,主类必须是public类
在Java程序中,可以使用protected来修饰一个类。T
T、正确
F、错误
静态变量是被同一个类的所有实例所共享的。T
T、正确
F、错误
Java中类的构造方法只能有一个。F
T、正确
F、错误
Object是Java中所有类的共同父类。T
T、正确
F、错误
构造方法没有任何返回类型,哪怕是void也不行。T
T、正确
F、错误
只要类中显式地定义一个构造方法,那么Java默认的构造方法不再存在T
T、正确
F、错误
String类在java.lang包中。T
T、正确
F、错误
一个数组可以存放不同类型的数值。F
T、正确
F、错误
类也是一种数据类型(type)。T
T、正确
F、错误
通过关键字( package)声明包语句,指明该源文件定义的类所在的包
用户编写的类肯定和类库中的类不在一个包中。如果用户需要使用类库中的类就必须使用(import )语句来把需要的类导入。
下面是一个类的定义,请将其补充完整。
class ___Student __
{
String name;
int age;
Student( ___String__ s, int i)
{
name=s;
age=i;
}
}
设Derived类为Base类的子类,则如下对象的创建哪个是错误的?D
A、Base base=new Derived( );
B、Base base=new Base( );
C、Derived derived=new Derived();
D、 Derived derived=new Base();
在Java中,下面关于类的描述正确的是( )。A
A、一个父类可以有多个子类
B、一个子类可以有多个直接父类
C、子类可以直接使用父类的所有成员
D、子类一定比父类有更多的成员方法
用final修饰的类必须被继承。F
T、正确
F、错误
super和this方法只能在构造函数里调用.F
T、正确
F、错误
构造方法可以被继承。F
T、正确
F、错误
Java支持多重继承。F
T、正确
F、错误
在类的声明中,通过使用关键字( extends)来声明继承的父类。
使用(final )关键字修饰的方法不能被重写。
以下程序的输出结果是什么?
class A {
int f(int x,int y){
return x+y;
}
}
class B extends A{
int f(int x,int y){
return x*y;
}
}
public class Test {
public static void main(String[] args) {
A a=new A();
B b=new B();
System.out.println(a.f(3,5));
System.out.println(b.f(3,5));
}
}
8
15
使用(final )关键字声明的不能被继承,即不能有子类
以下哪项接口的定义是正确的?( )D
A、interface B { void print( ) { } }
B、abstract interface B { void print( ); }
C、abstract interface B extends A1,A2 { abstract void print( ){ } }
D、interface B { void print( ); }
重写与重载的关系是 ( )A
A、重写只有发生在父类与子类之间,而重载可以发生在同一个类中
B、重写方法可以不同名,而重载方法必须同名
C、final 修饰的方法可以被重写,但不能被重载
D、重写与重载是同一回事
关于抽象方法的说法正确的是( )A
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
假设C 是B 的子类,B 是A 的子类,cat 是C 类的一个对象,bird 是B 类一个对象,下列哪个叙述是错误的?( )D
A、cat instanceof B 的值是true
B、bird instanceof A 的值是true
C、cat instanceof A 的值是true
D、bird instanceof C 的值是true
下面关于类及其修饰符的一些描述,不正确的是( )。D
A、abstract只能用来派生类,不能创建abstract类的对象
B、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法
C、final修饰的类不能用来派生子类
D、abstract可与final同时修饰一个类
下列关于抽象类的说法中,哪个选项是正确的?C
A、某个抽象类的父类是抽象类,则这个子类必须重写父类的所有抽象方法
B、接口和抽象类是同一回事
C、绝对不能用抽象类去创造对象
D、抽象类中不可能有非抽象类的方法
关于接口哪个正确?A
A、实现一个接口必须实现接口的所有方法
B、一个类只能实现一个接口
C、接口不能有继承关系
D、接口和抽象类是同一回事
用final定义的class是可以创建实例对象的。T
T、正确
F、错误
实现一个接口,则在类中一定要实现接口中的所有方法T。
T、正确
F、错误
( interface)是定义接口的关键字
用( abstract)关键字修饰的方法是抽象方法,抽象方法是没有方法体的
用(abstract )关键字修饰的类称为抽象类。
所有的异常类皆继承哪一个类?( )。B
A、java.io.Exception
B、java.lang.Throwable
C、java.lang.Exception
D、java.lang.Error
下列方法中哪一个不能用于获取异常信息( )?C
A、toString ( )
B、getMessage( )
C、drawline( )
D、printStackTrace()
下面()类是Throwable类的父类。A
A、Object
B、Error
C、Exception
D、RuntimeException
对于已经被定义过可能抛出异常的语句,在编程时: ( )A
A、必须使用try /catch 语句处理异常,或用throws 声明将其抛出
B、如果程序错误,必须使用 try /catch 语句处理异常
C、可以置之不理
D、只能使用try /catch 语句处理
下列描述中不属于Java异常处理机制优点的一项是( )。D
A、把错误处理代码从正常代码中分离出来
B、按错误类型和差别分组
C、对无法预测的错误的捕获和处理
D、能够处理任何类型的错误
异常包含下列哪些内容? ( )A
A、程序执行过程中遇到的事先没有预料到的情况
B、程序中的语法错误
C、程序的编译错误
D、以上都是
下列描述中,正确的一项是( )。A
A、当异常被抛出时,可能产生由于没有与之匹配的catch子句而过早地结束程序的情况
B、一个try代码段必须和一个catch代码段相对应
C、catch(Exception e)不能捕获异常抛出的任何类型
D、非GUI程序产生异常时,若没有合适的异常处理与之匹配,则程序将恢复正常的运行
下面关键字中,哪一个不是用于异常处理语句()B
A、try
B、break
C、catch
D、finally
下列关于抛出异常的描述中,错误的是:()D
A、捕捉到发生的异常可在方法中处理,也可以抛到调用该方法的方法中处理
B、在说明要抛出异常的方法时应加关键字throws <异常列表>
C、<异常列表>中可以有多个逗号分隔的异常
D、抛出异常的方法要使用下述抛出异常的语句:throw <异常名> ; 其中,<异常名>是异常类的类名。
下列类中在多重catch中同时使用时,()异常类应该最后列出。B
A、NullPointerException
B、Exception
C、ArithmeticException
D、NumberFormatException
能单独和finally语句一起使用的块是()A
A、try
B、catch
C、throw
D、throws
下面()属于非检查性异常。B
A、ClassNotFoundException
B、NullPointerException
C、Exception
D、IOException
用于方法声明中声明抛出异常类型的关键字是()B
A、try
B、throws
C、throw
D、catch
程序中抛出异常时(throw …),只能抛出自己定义的异常对象。F
T、正确
F、错误
在Java编程语言中,用(try)(catch)(finally)语句来处理异常。(按照结构顺序填空)
在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列( )选项中的方法是LinkedList类有而ArrayList类没有的。D
A、add(Object o)
B、add(int index, Object o)
C、remove(Object o)
D、removeLast()
下面不是继承自Collection接口的是( )。D
A、ArrayList
B、LinkedList
C、TreeSet
D、HashMap
以下能以键_值对的方式存储对象的接口是( )B
A、java.util.Collection
B、java.util.Map
C、java.util.HashMap
D、java.util.Set
向ArrayList对象中添加一个元素的方法是:C
A、set(Object o)
B、setObject(Object o)
C、add(Object o)
D、addObject(Object o)
LinkedList类的特点是( )B
A、查询快
B、 增删快
C、元素不重复
D、 元素自然排序
使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 ( )A
A、实现Comparable接口
B、有main方法
C、 有get和set方法
D、实现Serializable接口
下面用于创建动态数组的集合类是( )。A
A、ArrayList
B、LinkedList
C、TreeSet
D、HashMap
构造ArrayList类的一个实例,此类继承了List接口,下列哪个是正确的?B
A、ArrayList myList=new Object();
B、List myList=new ArrayList();
C、ArrayList myList=new List();
D、 List myList=new List();
实现下列哪个接口,可以启用比较功能( )D
A、Runnable接口
B、 Iterator接口
C、Serializable接口
D、 Comparable接口
泛型的类型参数只能是类类型而不能是基本数据类型。T
T、正确
F、错误
如果在一个集合中放入若干字符串,要保证字符串不重复,并且按照字典顺序排序,那么应该使用(TreeSet )类。
Iterator迭代器的使用步骤:首先通过( iterator)方法获得集合的迭代器,然后通过调用( hasNext)方法判断是否存在下一个元素,再调用(next )方法得到当前遍历到的元素。(只需要填写方法名称,不需要加方法的小括号!)
流的传递方式是()B
A、并行的
B、串行的
C、并行和串行
D、 以上都不对
下列流中哪一个使用了缓冲区技术 ()A
A、BuffereOutputStream
B、FileInputStream
C、DataOutputStream
D、FileReader
凡是从中央处理器流向外部设备的数据流称为()D
A、文件流
B、字符流
C、输入流
D、 输出流
测试文件是否存在可以采用如下哪一个方法 ( ) 。D
A、isFile()
B、isFiles()
C、exist()
D、exists()
下面哪种流可以用于字符输出?B
A、InputStream
B、Writer
C、OutputStream
D、Reader
当处理的数据量很多,或向文件写很多次数据,一般使用()流,可以提高写的效率。C
A、DataOutputStream
B、FileOutputStream
C、BufferedOutputStream
D、PipedOutputStream
用于关闭流的方法是 ()A
A、close()
B、flush()
C、read()
D、writer()
java语言提供处理不同类型流的类的包是()D
A、java.sql
B、java.util
C、java.math
D、java.io
下列不属于FileInputStream输入流的read()成员函数的是()D
A、int read();
B、int read(byte b[]);
C、int read(byte b[],int offset,int len);
D、int read(int line);
Java中提供了处理字节流的类,即以InputStream和OutputStream为基类派生出的一系列类。T
T、正确
F、错误
一个类可以序列化要实现Serializable接口。T
T、正确
F、错误
Java中,InputStream和OutputStream是以( 字节)为数据读写单位的输入输出流的基类;Reader和Writer是以( 字符 )为数据读写单位的输入输出流的基类。
以字符方式对文件进行读、写可以通过( FileReader )类和( FileWriter)类来实现
Statement的executeUpdate()方法会返回是否更新成功的boolean值。F
T、正确
F、错误
ResultSet有一个记录指针,指针所指的数据行叫做当前数据行,初始状态下记录指针指向第一条记录。F
T、正确
F、错误
要按照先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所以不能先关闭Connection。T
T、正确
F、错误
Statement的executeQuery()方法会返回一个结果集。T
T、正确
F、错误
( DriverManager)类是JDBC的驱动管理类。(注意大小写)
典型的JDBC程序按(DBECFA)顺序编写。
A.释放资源
B.获得与数据库的物理连接
C.执行SQL命令
D.注册JDBC Driver
E.创建Statement
F.如果有结果集,处理结果集