说明:这里是怀化学院java考试平台题库里的题,为了方便将题整理出来,但题库还在不断更新中,故此集合整理的题最新截止至发布时间,我将正确答案用红色粗体标注,但这里大概有226道选择题,我将题集分为四个部分,这里是第三部分(121-180),由于题量较大,整理时难免会将某些题的答案标错,如有错误,请各位读者给出
Java选择题集合目录:
Java选择题集合(一)
Java选择题集合(二)
Java选择题集合(三)
Java选择题集合(四)
- java中用来抛出异常的关键字是 ( )
A、try
B、catch
C、throw
D、finally - 已知变量定义:
int i = 10;
String s = null;
下列代码哪些项会抛出空指针异常:( )
A、if( i>0 || s.length() ==0 ){ … }
B、if( i>0 | s.length() ==0 ){ … }
C、if( i>0 & s.length() ==0 ){ … }
D、if( i>0 && s.length() ==0 ){ … } - 下述4行代码组成的小程序总共创建String对象的个数为: ( )
String s1 = "abc";
String s2 = new String("abc");
String s3 = "abc";
String s4 = new String("abc");
A、3
B、2
C、4
D、1 - 下列哪些项有编译错误:( )
A、Integer i = 1000;
B、float f = 1.0
C、long int = 100
D、byte b = 200
E、char c = 100000 - 下列哪几项可以作为有效的Java标示符:( )
A、_sys_val
B、$change
C、room#
D、2Name
E、identifier -
下面关于布局管理器说法正确的是( )
A、使用布局管理器可以使JAVA生成的图形用户界面具有平台无关性
B、布局管理器LayoutManager本身是一个接口,通常使用的是实现了该接口的类
C、布局管理器用来管理组件放置在容器中的位置和大小
D、每个容器都有一个布局管理器 -
创建一个向文件"file.txt"追加内容的输出流对象的语句有( )
A、OutputStream out=new FileOutputStream("file.txt", "append")
B、FileOutputStream out=new FileOutputStream("file.txt", true)
C、FileOutputStream out=new FileOutputStream(new file("file.txt"))
D、OutputStream out=new FileOutputStream(new File("file.txt"),true)
E、OutputStream out=new FileOutputStream("file.txt") -
运行如下代码的结果是( )
public class MyObj{
int x=3;
public MyObj(int x){
x=x;
}public static void main(String[] args){
MyObj obj=new MyObj(50);
System.out.println(obj.x);
}
}
A、运行错误
B、50
C、3
D、编译错误 -
运行如下代码的结果是( )
public class MyObj{
int x=3;
public MyObj(int x){
this.x=x;
}public static void main(String[] args){
MyObj obj=new MyObj(50);
System.out.println(obj.x);
}
}
A、3
B、编译错误
C、编译通过,但运行错误
D、50 -
使用关键字static修饰符修饰的成员称为类成员,下列关于类成员的描述正确的有( )
A、类成员变量是该类型的所有实例所共有
B、类成员可以通过类型名直接访问,也可以通过对象实例访问
C、类成员必须通过实例才能访问
D、非类成员方法不能使用类成员 -
关于子类与父类关系的描述正确的是( )
A、子类型实例也是父类型的实例对象
B、子类型的数据可以隐式转换为其父类型的数据
C、父类型的数据必须通过显示类型转换为其子类型的数据
D、父类型的数据可以隐式转换为其子类型的数据 -
Java兼容给定是强类型语言,它对变量类型的检查非常严格,同时也提供了一些赋值兼容原则,赋值兼容原则规定( )
A、在继承树中允许向上赋值,既子类实例可以赋值给同类变量,还可以赋值给其祖先类的变量
B、在继承树种不允许向下赋值,既父类实例不允许赋值给子类变量
C、在继承树种不允许向下赋值,既子类实例不允许赋值给父类变量
D、在继承树中允许向上赋值,既父类实例可以赋值给同类变量,还可以赋值给其子类的变量 -
关于类继承的描述,正确的描述有( )
A、子类可以继承父类的成员,还可以增加自己的属性和方法
B、继承的定义使用关键字extends说明
C、子类中通过使用super调用父对象的属性和方法
D、没有直接使用extends关键字说明父类,其直接父类是Object -
类定义中可以定义构造方法,它是一类特殊的方法,定义类的构造方法应该满足( )
A、必须有参数列表
B、参数列表必须为空
C、没有返回值
D、名字应该与类名相同 -
访问权限修饰符有public、private、protected和默认修饰符(没有写任何修饰符),他们既可以用来修饰类,也可以用来修饰类中的成员,使用public修饰符的成员可见情况有( )
A、同一类
B、不同包中的子类
C、同一包中的非子类
D、不同包中的非子类
E、同一包中的子类 -
访问权限修饰符有public、private、protected和默认修饰符(没有写任何修饰符),他们既可以用来修饰类,也可以用来修饰类中的成员,使用protected修饰符的成员可见情况有( )
A、同一类
B、不同包中的子类
C、同一包中的非子类
D、不同包中的非子类
E、同一包中的子类 -
访问权限修饰符有public、private、protected和默认修饰符(没有写任何修饰符),他们既可以用来修饰类,也可以用来修饰类中的成员,使用无修饰符的成员可见情况有( )
A、不同包中的子类
B、同一包中的非子类
C、同一包中的子类
D、不同包中的非子类
E、同一类 -
下列关于类的定义,描述正确的有( )
A、class前的修饰符可以有多个,用来说明并限定所定义的类的使用方式
B、定义一个类使用关键字class
C、类名是用户为该类所起的名字,要遵循标识符的语法要求,并尽量遵循命名约定
D、要将该类定义成一个类的子类,使用关键字extends和implements -
break语句可以使用的情况有( )
A、 函数体语句
B、switch语句块
C、块语句
D、for、while和do while等循环语句 -
引用数据类型变量具有基本属性为( )
A、变量名
B、存储单元
C、变量值
D、数据类型 -
Java提供类型转换机制有( )
A、相同类型的换
B、自动类型转换
C、不同类型转换
D、强制类型转换 -
下列是复合数据类型的类型有( )
A、字符串
B、类
C、数组
D、接口类型 -
Java的数据类型共分为两大类型,他们是( )
A、复合数据类型
B、基本数据类型
C、自定义数据类型
D、数组类型 -
命名规范的主要内容有( )
A、变量名一般建议使用名词或名词性词组,变量名的首写字母一般是小写字母,中间单词的首字母大写
B、包的名称通常全部采用小写字母
C、常量名一般全部采用大写字母,如果一个常量由多个单词组成,则单词之间一般用下划线“_”分隔
D、类名或接口名或枚举名一般建议使用名词或名词性词组 -
制定程序编写规范的目标是( )
A、提高程序的运行效率
B、增强程序的可读性
C、尽量使程序代码的风格一致
D、缩短程序编写和维护的时间 -
面向对象技术的特性是( )
A、有效性
B、继承性
C、封装性
D、多态性 -
下列关于命名习惯正确的做法是( )
A、命名常量名中均使用大写形式
B、由于方法及变量名的标识符,首字符小写,而其他各字的首字母大写,非首字符小写
C、用于类及接口名的标识符,名字的首写字母都大写,其他字符都小写
D、尽量不要在方法名和变量名中使用下画线,还要避免使用美元符合,因为该字母对内部类有特殊含义 -
下面关于Java语言说法正确的是( )
A、Java语言可对内存垃圾自动收集
B、Java语言是面向对象的、解释执行的网络编程语言
C、Java语言具有可移植性,是与平台无关的编程语言
D、 Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境 -
编译运行下面的代码会发生什么情况为( )
public class Bground extends Thread{
public static void main(String argv[])
{
Bground b = new Bground();
b.run();
}
public void start()
{
for (int i = 0; i <10; i++){
System.out.println("Value of i = " + i);
}
}
}
A、编译无错,打印0到9
B、运行时错误,Thread类中的run方法没有定义
C、编译无错,不打印任何值
D、编译错误,Thread类中的run方法没有定义 -
关于下面一段代码,描述正确的是( )
public class Agg {
public static void main(String argv[]) {
Agg a = new Agg();
a.go();
}
public void go() {
DSRoss ds1 = new DSRoss("one");
ds1.start();
}
}
class DSRoss extends Thread {
private String sTname = "";
DSRoss(String s) {
sTname = s;
}
public void run() {
notwait();
System.out.println("finished");
}
public void notwait() {
while (true) {
try {
System.out.println("waiting");
wait();
} catch (InterruptedException ie) {
}
System.out.println(sTname);
notifyAll();
}
}
}
A、运行时错误,会抛异常
B、能够编译, 输出“waiting",紧接着输出"finish"
C、能够编译,输出“waiting"
D、编译错误 -
编译运行下面的代码会发生什么( )
public class Test extends Thread {
private String sThreadName;
public static void main(String argv[]) {
Test h = new Test();
h.go();
}
Test() {
}
Test(String s) {
sThreadName = s;
}
public String getThreadName() {
return sThreadName;
}
public void go() {
Test first = new Test("first");
first.start();
Test second = new Test("second");
second.start();
}
public void start() {
for (int i = 0; i < 2; i++) {
System.out.println(getThreadName() + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
}
}
}
A、运行时错误
B、输出first0, second0, first1, second1
C、输出first0, first1, second0, second1.
D、 编译错误 -
编译运行下面的代码会发生什么( )
public class Test {
public static void main(String argv[]) {
Pmcraven pm1 = new Pmcraven("one");
pm1.run();
Pmcraven pm2 = new Pmcraven("two");
pm2.run();
}
}
class Pmcraven extends Thread {
private String sTname = "";
Pmcraven(String s) {
sTname = s;
}
public void run() {
for (int i = 0; i < 2; i++) {
try {
sleep(1000);
} catch (InterruptedException e) {
}
yield();
System.out.println(sTname);
}
}
}
A、输出Two Two One One
B、输出One One Two Two
C、编译错误
D、输出One Two One Two -
在Java中不存在的布局方式是( )
A、中央布局(CenterLayout)
B、网络布局(GridLayout)
C、流布局(FlowLayout)
D、边界布局(BorderLayout) -
下面关于事件监听的说明,哪一个语句是正确的? ( )
A、所有组件,都不允许附加多个监听器
B、监听器机制允许按照我们的需要,任意调用addXxxxListener 方法多次,而且没有次序区别
C、组件不允许附加多个监听器
D、如果多个监听器加在一个组件上,那么事件只会触发一个监听器 -
下列Java常见事件类中哪个是鼠标事件类?( )
A、WindowEvent
B、InputEvent
C、MouseEvent
D、KeyEvent -
假设你正在为应用系统设计一个Java图形用户界面(GUI),需要能输入多行文本信息,下列组件中最能满足这个要求的是( )
A、TextArea
B、Checkbox
C、TextField
D、Label -
阅读下列程序
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.Panel;
import javax.swing.*;
public class X extends JFrame{
public X(){
setLayout(new GridLayout(2,2));
JPanel p1=new JPanel();
add(p1);
JButton b1=new JButton("One");
p1.add(b1);
JPanel p2=new JPanel();
add(p2);
JButton b2=new JButton("Two");
p2.add(b2);
JButton b3=new JButton("Three");
p2.add(b3);
JButton b4=new JButton("Four");
add(b4);
}
public static void main(String[] args){
X x=new X();
x.pack();
x.setVisible(true);
}
}
当frame改变大小时, 下面正确的描述为( )
A、Button "Three" 改变宽度
B、Button "Four"改变高度和宽度
C、Button "Two"改变高度
D、Button "One" 改变高度 -
关于以下程序段的说法,类包含不考虑情况下,正确的是( )
1.class MyListener implements
2. ActionListener,ItemListener{
3. public void actionPerformed(ActionEvent ae){
4. System.out.println("Action");}
5. public void itemStateChanged(ItemEvent ie){
6. System.out.println("Item");
7. }
8.}
A、第3行产生编译错误
B、第2行产生编译错误
C、可通过编译
D、第5行产生编译错误 -
以下说法哪项是正确的( )
1.class MyListener
2.extends MouseAdapter implements MouseListener{
3. public void mouseEntered(MouseEvent mev)
4. { System.out.println("Mouse entered."); }
5. }
A、不能通过编译,因为类头定义不能分行
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、以上代码可通过编译
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常 -
下列哪个布局管理器中的按钮位置有可能会根据JFrame的大小改变而改变?( )
A、GridLayout
B、BorderLayout
C、CardLayout
D、FlowLayout -
下列哪个是不属于容器的组件?( )
A、JApplet
B、JPanel
C、JButton
D、JFrame -
关于以下的组件的接口,正确的是( )
A、Choice组件可实现的接口是ActionListener
B、List组件可实现的接口,除了ItemListener,还可以是ActionListener
C、以上都不对
D、TextArea组件可实现的接口是ActionListener -
监听事件和处理事件( )
A、都由相应事件Listener处登记过的构件完成
B、由Listener和构件分别完成
C、由Listener和窗口分别完成
D、都由Listener完成 -
Character流与Byte流的区别是( )
A、前者带有缓冲,后者没有
B、前者是块读写,后者是字节读写
C、二者没有区别,可以互换使用
D、每次读入的字节数不同 - 在代码中使用catch(Exception e)的好处是( )
A、忽略一些异常
B、捕获try块中产生的所有类型的异常
C、只会捕获个别类型的异常
D、执行一些程序 -
下列常见的系统定义的异常中,哪个是输入、输出异常?( )
A、ClassNotFoundException
B、UnknownHostException
C、FileNotFoundException
D、IOException -
异常包含下列哪些内容?( )
A、程序的编译错误
B、程序中的语法错误
C、程序事先定义好的可能出现的意外情况
D、程序执行过程中遇到的事先没有预料到的情况 -
下面的程序段执行后输出的结果是( )。
StringBuffer buf=new StringBuffer("China2008");
buf.insert(5,"@");
System.out.println(buf.toString( ));
A、China2008@
B、@China2008
C、China#2008
D、 China@2008 -
String或StringBuffer类的对象在调用以下哪个方法时其自身会发生更改?( )
A、StringBuffer类的length ()方法
B、String类的toUpperCase()方法
C、StringBuffer类的reverse ()方法
D、String类的charAt()方法
E、String类的replace()方法 -
下列数组初始化形式正确的是( )
A、 int t2[][]={1,2,3,4,5,6};
B、int t1[][]={{1,2},{3,4},{5,6}};
C、int t3[3][2]={1,2,3,4,5,6};
D、 int t4[][]; t4={1,2,3,4,5,6}; -
有整型数组:int[] x={2,33,88,5,10};, 则调用方法 Arrays.sort(x) 后,数组x中的元素值依次是( )
A、25103388
B、88331052
C、 53321088
D、88102335 -
执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( )
A、x[0]为空
B、 x[9]未定义
C、x[10]为0
D、 x[9]为0 -
编译下列源程序会得到哪些文件?( )
class A1{
}
class A2{
}
public class B{
public static void main(String args[]){
}
}
A、编译不成功
B、有A1.class、A2.class和B.class文件
C、只有B.class
D、只有A1.class和 A2.class文件 -
下列哪一项说法最好地描述了Java中的对象?( )
A、对象是一组具有共同的结构和行为的类
B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值
C、对象是一种数据结构,它具有操作数据的方法
D、对象是通过import命令引入到程序中的所有事情 -
类Test1、Test2定义如下:
1. public class Test1
2.{ public float aMethod(float a,float b) throws
3. IOException { }
4. }
5. public class Test2 extends Test1{
6.
7.}
将以下哪种方法插入行6是不合法的。( )
A、public int aMethod(int a,int b)throws IOException{ }
B、float aMethod(float a,float b){ }
C、public int aMethod(int a,int b)throws Exception{ }
D、 public float aMethod(float p,float q){ } -
下列哪种说法是正确的?( )
A、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法
B、子类可以覆盖超类中的任何方法
C、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集
D、私有方法不能被子类覆盖 -
关于类继承的说法,正确的是( )
A、接口和类都允许多继承
B、Java 类允许多重继承
C、接口和类都不允许多继承
D、Java接口允许多继承 -
使用以下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?( )
A、protected
B、不使用保留字
C、abstract
D、private -
为了区分重载多态中同名的不同方法,要求( )
A、返回值类型不同
B、调用时用类名或对象名做前缀
C、参数名不同
D、采用不同的参数列表 -
下列关于构造方法的叙述中,错误的是( )
A、Java语言规定构造方法只能通过new自动调用
B、Java语言规定构造方法没有返回值,但不用void声明
C、Java语言规定构造方法名与类名必须相同
D、Java语言规定构造方法不可以重载