一、 单选题
1、 用于将java源代码文件编译成字节码的编译器是 ( A )。
A. javac
B. java
C. jdb
D. javah
2、 Java应用程序的入口方法是( D )。
A. start() B. init() C. paint() D. main()
3、 下列选项在java中属于不合法的标识符的是( C )。
A. BigMeaninglessName
B. _whatavariable
C. #myvar
D. $dollar
4、 当在命令行输入:java myprog good morning 运行以下代码,输出结果是( D )。
public class myprog{
public static void main(String args[])
{
System.out.println(args[2]);
}
}
A. myprog
B. good
C. morning
D. Exception raised: "java.lang.ArrayIndexOutOfBoundsException: 2"
注释:数组下标从0算起。args[2]也就是3个元素。输入的参数为两个good和morning,而输出却有3个那当然就越界了.
5、 编译和运行下面代码后显示的结果是( )。
import java.awt.*;
public class Butt extends Frame{
public static void main(String argv[]){
Butt MyBut=new Butt();
}
Butt(){
Button HelloBut=new Button("Hello");
Button ByeBut=new Button("Bye");
add(HelloBut);
add(ByeBut);
setSize(300,300);
setVisible(true);
}
}
A. 2个按钮并排占据整个窗体,左边是Hello按钮,右边是Bye按钮
B. Hello按钮占据整个窗体
C. Bye按钮占据整个窗体
D. Hello和Bye按钮都位于窗体的上部
6、 下列整型数据类型中,需要内存空间最少的是 ( D )。
A. short B. long C. int D. byte
7、 下列代码段执行后的输出结果是( B )。
int x=3;
int y=10;
System.out.println(y%x);
A. 0
B. 1
C. 2
D. 3
8、 执行完代码int[ ] x = new int[25];后,下列选项说明正确的是( )。
A. x[24]为0 B. x[24]未定义 C. x[25]为0 D. x[0]为空
9、设有下面两个类的定义:
class Person
{ long id; // 身份证号
String name; // c和java先学哪个姓名
}
class Student extends Person
{ int score; // 入学总分
int getScore(){ return score; }
}
问:类Person和类Student的关系是( )。
A. 包含关系 B. 继承关系
C. 关联关系 D. 无关系,上述类定义有语法错误
10、下列语句执行后,k的值是( )
int i=6,j=8,k=10,m=7;
if(!(i>j|m>k++)) k++;
A 12 B. 11 C. 10 D. 9
11、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为( )。
A. private B. protected C.friendly D.public
12、设 x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。
A、public x x1= new y( );
B、x x1=x( );
C、x x1=new x( );
D、int x x1;
13、在switch(expression)语句中,expression的数据类型不能是( )。
A、double
B、char
C、byte
D、short
14、关于类的说法中,不正确的一项是( )
A. 一般类体的域包括常量、变量、数组等独立的实体
B. 类中的每个方法都由方法头和方法体构成
C. java程序中可以有多个类,但是公共类只有一个
D. java程序可以有多个公共类
15、下列数组初始化形式正确的是( )。
A、int t1[][]={{1,2},{3,4},{5,6}};
B、int t2[][]={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};
16、下列语句序列执行后,x 的值是( )。
int a=3, b=4, x=5;
if( ++a==b ) x=++a*x;
A、35 B、25 C、20 D、5
17、当下列程序执行时,其输出结果是( )。
int x = 5;
int y = 2;
System.out.println(x+ y + "k");
A、5k
B、7k
C、52k
D、3k
18、下列说法正确的是( )。
A、final 可修饰类、属性、方法
B、abstract可修饰类、属性、方法
C、定义抽象方法需有方法的返回类型、名称、参数列表和方法体
D、用final修饰的变量,在程序中可对这个变量的值进行更改
19、编译和运行下面代码时显示结果是( )
public class Conv{
public static void main(String args[]){
Conv c=new Conv();
String s=new String("ello");
c.amethod(s);
}
public void amethod(String s){
char c='H';
c+=s;
System.out.println(c);
}
}
A、Hello
B、ello
C、elloH
D、编译错误
20、Runnable接口中的抽象方法是( )。
A、start
B、stop
C、yield
D、run
21、在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是( )。
A、java.applet
B、java.awt
C、java.util
D、java.lang
22、在Java中,所有类的根类是( )。
A、java.lang.Object
B、java.lang.Class
C、java.applet.Applet
D、java.awt.Frame
23、Java语言的类间的继承关系是( )。
A、多重的
B、单重的
C、线程的
D、不能继承
24、当下列程序执行时,其输出结果是( )。
int i=9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
A、default
B、default, zero
C、错误: default 子句没有定义
D、没有输出结果
25、以下对封装的描述正确的是( )
A) 只能对一个类中的方法进行封装,不能对属性进行封装
B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
C) 封装的意义不大,因此在编码时尽量不要使用
D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
26、定义类B和类C如下,并将其保存为:B.java,编译B.java文件,得到的结果是( )
class B
{int b;B(int i){b=i;}}
class C extends B
{double c=7.8;}
A.代码能够成功编译并运行 B.代码无法编译,因为类B不是一个应用程序
C.代码无法编译,因为类B没有定义不带参数的构造器
D.代码无法编译,因为类C没有定义一个不带参数的构造器
27、阅读下列代码后,下列选项说法正确的是( )。
public class Person
{
int arr[]=new int[10];
public static void main(String args[])
{
System.out.println(arr[1]);
}
}
A、编译时将产生错误
B、编译时正确,运行时将产生错误
C、输出零
D、输出空
28、以下对继承的描述错误的是( )
A) Java中的继承允许一个子类继承多个父类
B) 父类更具有通用性,子类更具体
C) Java中的继承存在着传递性
D) 当实例化子类时会递归调用父类中的构造方法
29、下述声明中哪一种可防止该类产生子类?( )
A. static class FooBar{} B. private class Foobar{}
C. abstract class FooBar{} D . final public class FooBar{}
30、下面对methoda0方法的哪一种声明是被包中的类可访问的,并且访问时不需要建立methoda0方法所在类的实例?( )
A. abstract public void methoda();
B. public abstract double methoda();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论