JAVA模拟试题

JAVA模拟试题
JAVA模拟试题

模拟试题一

一、单项选择题(20*2=40分)

1、下列选项中不属于Java虚拟机的执行特点的一项是( )。

A、异常处理

B、多线程

C、动态链接

D、简单易学

2、下列选项中属于 Java语言的安全性的一项是( )。

A、动态链接

B、高性能

C、访问权限

D、内存跟踪

3、在Java语言中,那一个是最基本的元素?()

A、方法

B、包

C、对象

D、接口

4、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么?()

A、13个字节码文件,扩展名是.class

B、1个字节码文件,扩展名是.class

C、3个字节码文件,扩展名是.java

D、3个字节码文件,扩展名是.class

5、以下关于面向对象概念的描述中,不正确的一项是( )。

A、在现实生活中,对象是指客观世界的实体

B、程序中的对象就是现实生活中的对象

C、在程序对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)

D、在程序中,对象是一组变量和相关方法的集合

6、下列关于注释语句的描述中,正确的一项是( )。

A、以//开始的是多行注释语句

B、以/*开始,*/结束的是单行注释语句

C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句

D、以/**开始,*/结束的是单行注释语句

7、下列描述中,不正确的是( )。

A、Java不支持多线程

B、一个Java源程序中不允许有多个公共类

C、Java程序可以划分为两大类:Application和Applet

D、Java通过接口支持多重继承

8、下列标识符中,合法的一个是( )。

A、$#@!$

B、$--$

C、2$$2

D、$22$

9、下列说法中,正确的一项是( )。

A、双精度数强制转换成单精度数后,其数值精度会提高

B、Java语言中的布尔变量可以和整型变量相互强制转换

C、强制转换是将存储长度长的数据转换为长度短的数据

D、强制转换是将存储长度短的数据转换为长度长的数据

10、设有定义int x=5;则执行以下语句后,x的值为( )。 x+=x+5;

A、10

B、15

C、20

D、25

11、执行如下语句之后,输出的结果是( )。

public class ex6{

public static void main(String[ ]args){

int x= -6,Y=6;

x=x+Y- -;

System.out.println(x);

}

}

A、12

B、一12

C、一1

D、0

12、下列描述中不属于 Java异常处理机制优点的一项是( )。

A、把错误处理代码从正常代码中分离出来

B、按错误类型和差别分组

C、对无法预测的错误的捕获和处理

D、能够处理任何类型的错误

13、下列描述中,哪一项不属于finally语句应陔执行的功能( )?

A、释放资源

B、关闭文件

C、分配资源

D、关闭数据库

14、下列说法中错误的一项是( )。

A、若要编写出色的图形用户界面程序,首先需要考虑如何在界面中放置构件

B、若要编写出色的图形用户界面程序,不需要让构件响应

用户的操作

C、若要编写出色的图形用户界面程序,需要考虑如何让构件响应用户的操作

D、若要编写出色的图形用户界面程序,需要掌握构件的显示效果

15、JApplet的默认布局管理器是( )。

A、FlowLayout

B、BorderLayout

C、GridLayout

D、BoxLayout

16、下列关于类、包和源文件的说法中,错误的一项是( )。

A、一个文件可以属于一个包

B、一个包可包含多个文件

C、一个类可以属于一个包

D、一个包只能含有一个类

17、设有定义int a=12;则执行以下语句后,a的值为( )。 a*=12;

A、144

B、12

C、24

D、0

18、执行下列程序段之后,输出的结果为( )。

public class ex8{

public static void main(String[ ]args){

int a=5;

int b=5;

int c=10;

c/=(++ a/(b--));

System.out.println( c);

}

}

A、0

B、5

C、10

D、15

19、下列描述中不正确的一项是( )。

A、Java是纯面向对象语言,不兼容以往的任何语言

B、c++不是纯面向对象的,它兼容c语言

C、在1ava语言中,使用对象时必须先声明

D、Java语言和c++一样有指针

20、下列关于异常使用原则的说法中错误的一项是( )。

A、处理本异常,然后再把另一个不同异常重掷到较低层

B、中止程序,不让程序继续向下运行

C、使问题简化,不用花很多时间在跟踪错误上

D、让程序更安全

二、简答题(2*5分=10分)

1、Java有哪些数据类型?请描述其分类情况。

2、试比较break和continue语句的区别?

三.程序结果题(2*5分=10分)

1.public class test1{

public static void main(String[ ]args){

int a=2;

int b=3;

int c=7;

int d=a>c?a:b;

d=c%d;

System.out.println(d);

}

}

2、class AA

{

void Show( )

{

System.out.println("类AA");

}

}

class BB extends AA

{

void Show( )

{

System.out.println("类BB");

}

}

public class test1{

public static void main(String args[ ]) {

AA a=new AA( );

BB b=new BB( );

a.Show( );

b.Show( );

}

}

四、编程题(40分)

1、编写程序,求的值。(10分)

2、设一字符串中包含有大写字母的字符,也有下写字母的字符,编写一程序,将其中的大小写字母的字符分别输出。(10分)

3、假设已经存在Vehicle类(该类提供缺省的构造方法)。以下程序是类CarPark的定义,它包含一个缺省的构造方法和一个park()方法(20分)。

public class CarPark {

Vehicle[] slots;

int number_of_cars;

public CarPark()

{

slots=new Vehicle[10];

number_of_cars=0;

}

public void park(Vehicle v) throws CarParkFullException

{

//code need here

}

}

(1)编写代码实现异常类CarParkFullException。(5分)(2)实现park()方法,该方法是允许汽车停放到停车场中,如果没有停车位,则抛出异常。假定汽车按次序停放。(7分)

(3)编写一个测试类,要求创建一个CarPark对象,然后往里添加Vehicle实例,注意处理CarParkFullException异常。(8分)

答案

一、

1、D

2、C

3、C

4、D

5、B

6、C

7、A

8、D 9、C 10、B 11、D 12、D 13、C 14、B

15、B 16、D 17、A 18、C 19、D 20、A

二、

1、[解答]:Java定义了8个基本数据类型:字节型,短整型,整型,长整型,字符型,浮点型,双精度型,布尔型。它们分为4组:

1) 整数型(byte,short,int,long)

2) 浮点数型(float,double)

3) 字符型(char)

4) 布尔型(boolean)

2、[解答]:Break:强行退出循环,忽略循环体中的任何其他语句和循环的条件的条件测试。

Continue:语句用来终止本次循环。其功能是终止当前正在进行的本轮循环,即跳过后面剩余的语句,转而执行循环的第一条语句,计算和判断循环条件,决定是否进入下一轮循环。

三、

1、答案:1

2、答案:类AA

类BB

四、

1、[解答]:

public class Test_12 {

public static void main(String[] args) {

int k,sum=0;

for(k=1;k<=10;k++){

sum=sum+k*k;

}

System.out.println("sum="+sum);

}

}

2、[解答]:

public class test1 {

public static void main(String[] args) {

String s="sdQfEKJsfjEKjhjsjQHdFfKjSDFsdf"; String s1="",s2="",s3;

for(int i=0;i

s3="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

if(s3.indexOf(s.charAt(i))!=-1){

s1=s1+s.charAt(i);

}else{

s2=s2+s.charAt(i);

}

}

System.out.println("大写字母:");

System.out.println(s1);

System.out.println("小写字母:");

System.out.println(s2);

}

}

3、答案:(1)

class CarParkFullException extends Exception{ //2分 public CarParkFullException() //1分

{

}

public CarParkFullException(String str) //2分

{

super(str);

}

}

(2)

if(number_of_cars<10) //2分

{

slots[number_of_cars]=v; //2分

number_of_cars++; //1分

}

else

throw new CarParkFullException(); //2分(3)public class test

{

public static void main(String[] args)

{

CarPark cpark=new CarPark(); //1分

Vehicle[] v=new Vehicle[11]; //1分

for(int i=0;i<11;i++) //2分

v[i]=new Vehicle();

try

{

for(int i=0;i<11;i++)

cpark.park(v[i]); //2分

}

catch(CarParkFullException e) //2分

{

System.out.println(“已经没有停车位了,不能停车!”);

}

}

}

模拟试题二

一、单项选择题(20*2=40分)

1、下列API不属于java .1ang.Math类的一个是( )。

A、random( )

B、abs( )

C、drawLine( )

D、sin( )

2、下列选项中属于Java语言的垃圾回收机制的一项是( )。

A、语法检查

B、堆栈溢出检查

C、跨平台

D、内存跟踪

3、下列属于Java语言的特点的一项是( )。

A、运算符重载

B、类间多重继承

C、指针操作

D、垃圾回收

4、Java语言是以哪一种语言为基础的?()

A、Basic

B、Smalhalk

C、C

D、C++

5、下列说法中,不正确的一项是( )。

A、Java程序有两类:Application和Applet

B、类的方法只能由public修饰

C、面向对象的程序设计的优点有:可重用性、可扩展性、可管理性

D、Java语言通过接口支持多重继承

6、下列哪个不是面向对象程序设计方法的特点?()

A、抽象

B、继承

C、多态

D、结构化

7、以下的选项中能正确表示Java语言中的一个整型常量的是( )。

A、435

B、 -34+3

C、34,000

D、4 5 6

8、下列关于浮点型数据的说法中,不正确的一个是( )。

A、浮点型数据属于实犁数据

B、浮点型数据由数据和小数组成

C、浮点型数据小数位数越少越精确

D、浮点数据包括实型常量和实变量

9、下列单精度浮点数fValue的赋值语句中,不正确的一个是( )。

A、fValue=(double)-23.234f;

B、fValue=(char)-12.34f;

C、fValue=(char)-56.78d;

D、fValue=(int)23.234f;

10、下列说法中错误的一个是( )。

A、$1_abc是合法的Java标识符

B、局部变量必须先声明后使用

C、void是合法的Java保留字

D、在Java中,类不是用标识符命名的

11、下列数据表示十六进制数的一个是( )。

A、02l

B、123

C、’23’

D、0xa34

12、下列说法中,正确的一项是( )。

A、字符串“\’abce”的长度是6

B、False是Java的保

留字

C、324.23L代表单精度浮点数

D、False是合法的Java标识符

13、下列哪个属于java语言的保留字?()。

A、$_final

B、long

C、size

D、union

14、算术表达式1+2/3—4*5的值为 ( ) 。

A、1

B、-19

C、-5

D、0

15、阅读下列代码段,选出该代码段的正确的文件名( )。 class A{

void methodl(){

System.out.println(”methodl in class A”): }

}

public class B

void method2(){

System.out.println(”method2 in class B”): }

public static void main(String args[]){

Syste m.out.println(”main()in class B”):

}

}

A、java

B、A.class

C、B.class

D、B.java

16、下列语句序列执行后,输出的结果是( )。

public class test1{

public static void main(String[ ]args){

int a=13;

a%=a/5;

System.out.println( a);

}

}

A、1

B、13

C、55

D、15

17、下列哪一项不属下面向对象程序设计的基本要素?()

A、类

B、对象

C、方法

D、安全

18、main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项母合法的?( )

A、public static void main( )

B、public static void main(String args[ ])

C、public static int main(Stnng[ ]arg)

D、public Void main(Stnng arg[ ])

19、若需要定义一个静态域,应使用哪一个修饰符?()

A、static

B、synchronized

C、private

D、protected

20、下列方法中哪一个不能用于获取异常信息( )?

A、toString ( )

B、getMessage( )

C、drawline( )

D、

printStackTrace()

二、简答题(2*5分=10分)

1、JAVA当中有几种循环节构?并简述其使用语法。

2、简述public、private和protected的含义。

三.程序结果题(2*5分=10分)

1.public class test1{

public static void main(String[ ]args){

int al=3;

int a2=4;

int xl=5;

if(++al

xl=xl+1;

System.out.println(xl);

}

}

2.public class test1{

public static void main(String[]args)

{

for(int cnt=0;cnt<10;cnt++)

{

if (cnt==5)

break;

System.out.print(cnt);

}

}

}

四、编程题(40分)

1、编写一程序,定义一个字符串,并查找某一字符串是否包含有“abc” 。(10分)

2、编写一各Java程序,查找1~100之间的素数并将运行结果输出。(10分)

3、定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。(20分)

答案

一、

1、C

2、D

3、D

4、D

5、B

6、D

7、A

8、C 9、A 10、D 11、D 12、D 13、B 14、

B

15、D 16、A 17、D 18、B 19、A 20、C

二、

1、while语句是循环结构中的一种,其语法格式为:

初始化语句;

while(循环条件表达式)

{

语句序列;

迭代语句; //用于变更循环条件

}

当循环条件表达式为true时,就循环执行语句序列和迭代语句,

do……while语句也是循环结构中的一种语句,和while循环非常类似,格式为:

初始化语句;

do

{

语句序列;

迭代语句;

} while(条件表达式);

首先执行一遍循环体内的语句序列和迭代语句,然后判断条件表达式,若为true则继续执行循环体,否则终止循环,其结

构图如图2.5所示。

相对while循环来说,do……while至少执行循环语句一次。 for语句是Java语言中提供的另一种循环语句,它的语法结构如下:

for (循环初始化语句;循环条件表达式;迭代语句){ 循环体语句序列; }

首先执行循环初始化语句,然后判断循环条件表达式,如果为true,则执行循环体,然后执行迭代语句。

2、(1)public:公共、公开,可被任何类访问;可以用来修饰类、类中的成员和类中的方法;一个类被public修饰,表明它可以被所有的其他类所访问和引用,包括创建该类的对象,访问该类内部可见的成员和调用它可见的方法;

(2)private:私有;private只能用来修饰类中的成员和类中的方法;用private修饰的成员或方法,只能被该类自身所访问和修改,而不能被任何其他类,包括该类的子类来访问和引用;

(3)protected:保护;只用来修饰类中的成员和类中的方法;用protected修饰的成员可以被三种类所引用:本身、同一个包内的其他类、该类的子类;它主要是用于类的继承,即子类可以访问父类中的protected成员和方法。

三、

1、答案:5

java模拟试题附答案(一)

scjp模拟试题(一) Question No: 1 1.public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; 4. int j = ~i; 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. –15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 答案: C Question No: 2 Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d))

E. (d.equals (i)) F. (i.equals (42)) 答案: D, E Question No: 3 Exhibit : 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 6. ) 7. 8. public static void methodA(int i) { 9. boolean b: 10. b = i < 10 | methodB (4); 11. b = i < 10 || methodB (8); 12. } 13. 14. public static void main (String args[] ) ( 15. methodA (0); 16. system.out.printIn(j); 17. ) 18. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8”

java模拟试卷3与答案

复习题 3 一、选择题 1. JDK 提供的编译器是(B)。 (A ) java.exe(B ) javac.exe (C) javap.exe( D) javaw.exe 2.以下作为 Java 程序入口的 main 方法声明正确的( C)。 (A ) public void main(String args[]) (B ) public int main(String args[]) (C) public static void main(String args[]) (D ) public static int main(String args[]) 3.以下标识符错误的是( C )。 (A )Public( B)张三( C) class(D ) main 4.java 中定义字符串 String s= ”pzhu”,下面操作可以取得字符串长度的是( A )。 (A ) s.length()( B) s.length( C)s.size()( D) length(s) 5.如下定义数组,操作正确的是(D)。 int a[]={1,2,3}; (A ) a[3]=100(B ) a[0].length( C)a++( D) a.length 6.如下定义二维数组操作错误的是()。 int a[][]={{1,2},{3}}; (A ) a[0][1]=200( B) a[0].length( C) a[1][1]=100( D) a.length 7. 以下数据类型存储空间最大的是(B)。 (A ) byte( B) long(C) float(D ) char 8. 面向对象的三大特性,不包括如下( A)。 (A )异常( B)封装(C)继承(D )多态 9、关于类的定义以下说法错误(B)。 (A )类定义使用class 关键字( B)每个类中必须有一个main 方法 (C)一个包可以包含多个类( D) java 中所有类都是Object 类的子类 10. 关于构造方法以下说法错误的是(D)。 (A)构造方法名必须与类名一致(B)构造方法可以重载 (C)构造方法是通过new 来调用(D)每个类都必须编写构造方法代码 11.关于继承如下说法错误的是(C)。 (A) Java 是单继承的(B)通过extends 来定义继承 (C)所有父类方法都可以被override的(D)继承呈现的是 is a 的关系 12.以下代码执行的结果是 ( C )。 System.out.println(" 攀枝花学院 pzhu".length()); (A)编译错误(B)运行错误(C) 9(D) 14 13. 用来存储键值对的容器是 ()。 (A )ArrayList( B ) LinkedList(C) HashSet( D) HashMap 14、 java 中用来抛出异常的关键字是( C )。 (A) try(B) catch(C) throw(D) throws 15.关于 finally块中的代码,以下说法不正确的是(A)。 (A ) try 块中的 return 语句会中断finally 块中语句的执行 (B )无论 finally 块前的语句运行是否产生异常,其中的语句都会执行 (C) finally 块中的语句通常中用作资源的清理 - 1 -

JAVA模拟试题(含答案)

一、请分别写出下面程序的运行结果,将答案添在每道题后的空格处 1. public class Test1 { public static void main(String[] args) { int x=10,y=20; System.out.print("x="+(x++)+" y="+(++y)+" sum="+(x+y)); } } 运行结果:x=10 y=21 sum=32 2. public class Test2 { public static void main(String[] args) { boolean end; for(int i=2;i<20;i++){ end=true; for(int j=2;j<=i;j++){ if(i%j==0&&j

蓝桥杯java模拟试题

本试卷包含两种题型:“代码填空”与“程序设计”。 填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。 编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。1.代码填空(满分3分) 以下程序打印出0~9的数字,请补充缺少的代码。 public class MyTest { public static void f(int begin, int end) { __________________; System.out.println(begin); f(begin+1, end); } public static void main(String[] args) { f(0,9); } } if(begin>end) return;//相当于退出循环的条件。return 无返回值根据void 2.代码填空(满分4分) 如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。 a = a ^ b; b = _________; a = _________; a^b a^b 3.代码填空(满分3分) 许多人都曾经玩过“拍七”游戏。规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17,71等都不能数出),下一人继续数下面的数字。违反规则者受罚。下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。 for(int i=1; i<100; i++) { if(i % 7 == 0) System.out.println("*"); else if(___________________) System.out.println("*"); else System.out.println(i); } (i-7)%10==0||i/10==7 // i/10==7||i%10==7 4.代码填空(满分5分)

java模拟试卷及答案及解析4

复习题4 一、选择题 1.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送( D ) A、调用语句 B、命令 C、口令 D、消息 2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点:( B ) A、安全性 B、多线程 C、跨平台 D、可移值 3.编写和运行Java applet程序与编写和运行Java application程序不同的步骤是:( B ) A、编写源代码 B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹 C、编译过程 D、解释执行

4.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。( B ) A、8 B、16 C、32 D、64 5.关于下列程序段的输出结果,说法正确的是:( D ) public class MyClass{ static int i; public static void main(String argv[]){ System.out.println(i); } } A、有错误,变量i没有初始化。 B、null C、1 D、0 6.下列代码的执行结果是:( B ) public class Test3{ public static void main(String args[]){ System.out.print(100%3);

. System.out.print(","); System.out.println(100%3.0); } } A、1,1 B、1,

C、1.0,1 D、1.0,1.0 7.下列程序段的输出结果是:( B ) void complicatedexpression_r(){ int x=20, y=30; boolean b; b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60; System.out.println(b); } A、true B、false C、1 D、0 8.给出下列代码片段:( D ) if(x>0){System.out.println("first");} else if(x>-3){ System.out.println("second");} else {System.out.println("third");} 请问x处于什么范围时将打印字符串“second”? A、x>0 B、x>

JAVA模拟面试题库

JAVA基础部分 1. 我们能不能声明main()方法为非静态? 不能,main()方法必须声明为静态的,这样JVM才可以调用main()方法而无需实例化它的类。 如果从main()方法去掉“static”这个声明,虽然编译依然可以成功,但在运行时会导致程序失败。 2.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类。 在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。 3. String类为什么是final的。 主要是为了“效率”和“安全性”的缘故。若String允许被继承,由于它的高度被使用率,可能会降低程序的性能,所以String被定义成final; 4.使用final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 使用final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的容还是可以改变的。 5. string、stringbuilder、stringbuffer区别 a.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。 private final char value[];

StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder 中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。 char[] value; b.是否多线程安全 String中的对象是不可变的,也就可以理解为常量,显然线程安全。 AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。 StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的StringBuilder并没有对方法进行加同步锁,所以是非线程安全的 c.StringBuilder与StringBuffer共同点 StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。 抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。 StringBuilder、StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...)。只是StringBuffer会在方法上加synchronized关键字,进行同步。 最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。 6. 抽象类和接口的区别 1).抽象类可以有构造方法,接口中不能有构造方法。 2).抽象类中可以有普通成员变量,接口中没有普通成员变量 3).抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的 普通方法。 4). 抽象类中的抽象方法的访问类型可以是public,protected 和(默认类型,虽然 eclipse 下不报错,但应该也不行),但接口中的抽象方法只能是public 类型的,并且默认即为 public abstract 类型。 5). 抽象类中可以包含静态方法,接口中不能包含静态方法

Java面向对象模拟试题1

一、判断题(正确的描述打钩,错误的打叉,每题1分,共10分) 1 抽象类中不可以有非抽象的方法。(错) 2 如果将一个对象强制类型转换为一个不兼容的类型,将引发NullPointerException 异常。(错) 3 Java中Object类是最顶层的类。(对) 4 程序在编译通过以后,仍然可能出现运行时错误和逻辑错误。(对) 5 可以通过javac来运行一个Java Application。(错) 6 可以在子类构造函数中通过this关键字调用基类的构造函数。(错) 7 Java语言是IBM公司设计的一种面向对象程序设计语言。(错) 8 一个Unicode字符占4个字节。(错) 9 在循环语句中,使用continue;语句可以跳出循环。(错) 10 在Java Application中如果没有定义main()方法,则程序不能编译。(错) 二、简答题(请将答案写到答题纸上,注明题号。每题3分,共30分) 1 请看以下代码: package mytest; public class Main { public static void main(String[] args) { System.out.println(new A()); } } class A {

} Java在运行上述代码时输出一个很奇异的结果: mytest.A@60aeb0 尝试解释一下可能的原因. 点评: 本题的关键在于虽然类A没有定义任何方法,但它隐含着从基类Object中继承了toString()方法。答案必须点出这一结果是执行toString()方法得到的。 2 什么叫多态?你是如何理解多态的?请设计一个简单的示例,展示多态的用法。 点评: 几乎所有的Java教材都要介绍多态的概念,但只有能用自己的语言说清楚,并能自己设计一个典型实例展示多态特性的,才算是真正弄明白了。 从试卷中发现,不少同学弄混了方法重载与方法覆盖,认为“方法重载”就是多态。 3 在Java GUI程序中,布局管理器是一个很重要的概念。谈谈你对这个概念的理解,并进而回答以下问题: 如果要你开发出一个Windows资源管理器(图 1),你将如何应用合适的“布局管理器”来实现其界面? 图 1 Windows 7中的资源管理器 请指明你在图 1中的哪部分应用哪种布局管理器。 4 int和Integer都可以代表一个整数,这两者在使用上有什么区别吗?为什么JDK中要设计两个数据类型来表示同一种数据? 5 Java Application的程序入口点为main()函数,其声明如下: public static void main (String[] args) 请解释一下为何main()函数是公有的和静态的?

Java模拟试题(内附答案)

一、配对题(每小题1分,共10分) 在右栏中找出与左栏中的术语最相匹配的解释,并将该解释前的字母填写在相应术语前面的括号内: ()1. == A.一种Java程序,可以在Web浏览器中运行 ()2. = B.用于类声明中,指出新类派生于哪个类 ()3. % C. 赋值运算符 ()4. java D. 在方法体中定义 ()5. javac E.相等运算符 ()6. applet F.在类的定义体中定义,但位于类的方法体之外 ()7. application G. 编译Java程序 ()8. extends H.求模运算符 ()9.实例变量I.执行Java程序 ()10.局部变量J.由Java解释器执行的程序 二、判断题(每小题1分,共10分) 1.一个Java程序中至少要包含一个类的定义。() 2.注释的作用是使程序在执行时在屏幕上显示//符号之后的内容。() 3.声明变量时必须指定一个类型。() 4.如果在类定义中没有给出构造函数,则该类没有构造函数。() 5.final类中的变量和方法都必须用final修饰符修饰。() 6.超类代表的对象范围比子类广。() 7.Java提供称为多重继承的功能。() 8.drawOval(x, y, 50, 100)的前两个参数指定了椭圆的中心坐标。() 9.在Java坐标系中,x的值从左到右增长。()

10.单个的数组元素被传递给一个方法,并在方法中被修改,在被调用方法完成执行之后,该 元素的值将改为修改后的值。() 三、单选题(每小题2分,共20分) A1.Java语言是由_______公司开发的。 (A) Sun Microsystems (B) Microsoft (C) Oracle (D) IBM (E) Cisco Systems C 2. JDK命令________用于编译Test.java文件中的类。 (A) java Test (B) java Test.java (C) javac Test.java (D) javac Test C 3. Java字节码文件的扩展名是________。 (A) .java (B) .obj (C) .class (D) .exe B 4. 45 / 4的结果是________。 (A) 10 (B) 11 (C) 11.25 (D) 12 D 5.下面表达式中________的结果是数值1。 (A) 2 % 1 (B) 15 % 4 (C) 25 % 5 (D) 37 % 6 A 6. 下面的代码打印"Welcome to Java" ________次。 int count = 0; while (++count < 9) System.out.println("Welcome to Java"); (A) 8 (B) 9 (C) 10 (D) 11 (E) 0 E 7. 执行下面的程序段以后,y的输出是________。 int y = 0; for (int i = 0; i < 10; ++i) y += i; System.out.println(y); (A) 10 (B) 11 (C) 12 (D) 13 (E) 45 8. 下面的循环终止后sum的值为________。 int sum = 0; int item = 0; do { item++; sum += item; if (sum >= 4) continue; }

java模拟试题详解

JA V A模拟试题 多项选择题(在每小题的五个备选答案中选出正确答案,并将正确答案的序号填入题干后面的括号内,错选多选,漏选均不得分。) 1、给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问? A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m 答: C 2、下面哪几个函数是public void example(){...}的重载函数? A、 public void example( int m){...} B、public int example(){...} C、public void example2(){...} D、 public int example ( int m, float f){...} 答: A,D 3、给出下面的代码段: public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { // assignment x=a, y=b w=d; z=c; } } 在代码说明// assignment x=a, y=b处写入如下哪几个代码是正确的? A、 Base(a,b); B、x=a, y=b; C、x=a; y=b; D、this(a,b); 答: C,D 4、已知如下定义:String s = "story"; 下面哪个表达式是合法的? A、 s += "books"; B、char c = s[1]; C、int len = s.length; D、String t = s.toLowerCase(); 答: A,D 5、Java中main()函数的值是什么? A、 String B、int

java_模拟试题六

《J ava程序设计》课程 试卷6 一、单选题(每小题1分,共20分) 1、如下哪个是Java中的标识符________ A、public B、super C、3number D、width 2、如下哪个是Java中的标识符________ A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的________ A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s +“abc”; 4、如下哪个是Java中有效的关键字________ A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么________ int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count); A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是________ A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是________ A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是________ A、p.add(b); B、p.add(b,"North"); C、p.add(b,"South"); D、b.add(p,"North"); 9、声明并创建一个按钮对象b,应该使用的语句是________ A、Button b=new Button(); B、button b=new button(); C、Button b=new b(); D、b.setLabel(“确定”); 10、Frame对象默认的布局管理器是________

java模拟题-1

一、选择题 1、面向对象程序设计语言的三个基本特征是?() A.封装、接口和多态 B.继承、接口和动态 C.跨平台、接口和动态 D.封装、继承和多态 2、关于继承和实现说法正确的是?() A、类可以实现多个接口,接口可以继承(或扩展)多个接口 B、类可以实现多个接口,接口不能继承(或扩展)多个接口 C、类和接口都可以实现多个接口 D、类和接口都不可以实现多个接口 3、关于访问权限说法正确的是?() A、类定义前面可以修饰public,protected和private B、内部类前面可以修饰public,protected和private C、局部内部类前面可以修饰public,protected和private D、以上说法都不正确 4、类Person里面有个方法sleep(),如果直接用Person.sleep(),则方法sleep 前面必须用的关键词是?() A.class B.static C.public D.final 5、下列关于构造方法不正确的是:() A.类的构造方法和类同名 B.一个类可以有多个构造方法 C.在实例化对象时必须调用类的构造方法 D.构造方法可以和该类其他方法一样被该类对象调用 6、关于匿名内部类叙述正确的是?() A、匿名内部类可以继承一个基类,不可以实现一个接口 B、匿名内部类不可以定义构造器 C、匿名内部类不能用于形参 D、以上说法都不正确

7、关于抽象类的叙述正确的是?() A.抽象类不可以实例化,或者说抽象类不能声明为对象 B.抽象类就是一种特殊的接口 C.抽象类的方法都是抽象方法 D.抽象类的导出类一定不是抽象类 8、下列选项中,用于在定义子类时声明父类名的关键字是:() A.interface B.package C.extends D.class 9、关于访问权限,说法正确的是?() A、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB B、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB C、访问权限大小范围:public>包权限>protected>private D、访问权限大小范围:public>包权限>private>protected 10、类Car里面有个方法run(),如果直接用Car.run(),则方法run前面必须用的关键词是?() A.class B.final C.public D.static 11、关于访问权限,说法正确的是?() A、访问权限大小范围:public>包权限>protected>private B、访问权限大小范围:public>包权限>private>protected C、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB D、类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A不可以访问类B的方法testB 12、关于Java语言描述正确的是?() A、java和C++都保留了指针 B、java和C++都有三个特征:封装、继承和多态

Java模拟试题

Java模拟试题 考试要求: 在eclipse中新建项目文件JavaExam,每道题目保存在一个类文件中 将最终考试结果以JAR包形式导出为姓名.jar的形式上交给教师 所有代码必须满足Java编程规范,即类名遵循Pascal规范,组成标识符的每个单词的首字母大写,其他遵循Camel规范,组成标识符的第一个单词首字母小写其他大写,常量必须全部字母大写 类和方法必须有注释,使用/**/注释,普通语句使用//注释 题目: 1. 2.根据以下UML类图完成相关类的创建,要求所有类在一个类文件中: 3.编写一个圆类Circle,该类拥有:

①一个成员变量radius(私有,double型);// 存放圆的半径; ②两个构造方法Circle( ) // 将半径设为0 Circle(double r ) //创建Circle对象时将半径初始化为r ③三个成员方法double getArea( )//获取圆的面积 double getPerimeter( ) //获取圆的周长 void show( ) //将圆的半径、周长、面积输出到屏幕 4.给定一组数45,72,18,95,63,47,99,11,3,8,请使用冒泡排序算法将排序后的数在屏幕上输出 5.以下给出了部分代码创建了一个包含10个成员的学生数组,并根据学生学号进行了排序(冒泡排序),请修改和完成代码,并在elipse中编译通过,得到正确的输出结果,类文件名为Exam5.java //学生类 class Student{ String name; int id; public Student(String name, int id) { https://www.360docs.net/doc/d2388254.html, = name; this.id = id; } } //学生数组对象 Student[] stu=new Student[10];//对象数组 stu[0]=new Student("黎明", 7); stu[1]=new Student("刘德华", 0); stu[2]=new Student("李冰冰", 1); stu[3]=new Student("范冰冰", 9); stu[4]=new Student("章子怡", 3); stu[5]=new Student("张靓颖", 4); stu[6]=new Student("杨幂", 2); stu[7]=new Student("刘诗诗", 8); stu[8]=new Student("唐嫣", 5); stu[9]=new Student("赵丽颖", 6); //使用冒泡排序输出结果 int a[]=new int[10];//声明数组并初始化 for(int i=0;i

南昌航空大学Java模拟题2

Java语言程序设计复习题二 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。答案错选或未选者,该题不得分。每小题2分,共20分。) 1. 下列哪个标记符无效。 A. Cpplet; B. 7ab; C. $4; D. Goodman; 2. 下列方法定义中,正确的是。 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; } 3. 以下关于Java语言继承的说法错误的是。 A. Java中的类可以有多个直接父类 B. 抽象类可以有子类 C. Java中的接口支持多重继承 D. 最终类不可以作为其它类的父类 4. 假设Foo类定义如下,设f是Foo的一个实例,下列语句不正确的是。 public class Foo { int i; static String s; void imethod(){ } static void smethod(){ } } A. System.out.pringln(f.i); B. f.smethod(); C. System.out.pringln(Foo.i); D. Foo.smethod(); 5. 现有两个类M、N,以下描述中表示N继承自M的是。 A. class M extends N B. class N implements M

java模拟试卷一及参考答案

一.单项选择题(30分) 11.以下的选项中能正确表示Java语言中的一个整型常量的是__________。A) 12. B) -20 C) 1,000 D) 4 5 6 12.以下选项中,合法的赋值语句是__________。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 13.若所用变量都已正确定义,以下选项中,非法的表达式是__________。A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 14.若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是__________。 A) 0 B) 4 C) 8 D) -4 15.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是 __________。 A) 定义了一个名为a的一维数组B) a数组有3个元素 C) a数组的下标为1~3 D)数组中的每个元素是整型 16.若a和b均是整型变量并已正确赋值,正确的switch语句是__________。 A) switch(a+b);B) switch( a+b*3.0 ) { ...... } { ...... } C) switch a D) switch ( a%b ) { ...... } { ...... } 17.下列语句序列执行后,x 的值是__________。 int a=3, b=4, x=5; if( ++a0; i-- ) j+=i; A) 3 B) 4 C) 5 D) 6 21.下列语句序列执行后,j 的值是__________。 int j=9, i=6; while( i-- >3 ) --j; A) 5 B) 6 C) 7 D) 8 22.下列语句序列执行后,i的值是__________。

Java技术:Java语言程序设计模拟题

Java技术:《Java语言程序设计》模拟题(一) 2004-11 一.判断题(每题1分,共10分) 1.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。()2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。()3.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。()4.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 ()5.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。()6.创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。()7.静态初始化器是在其所属的类加载内存时由系统自动调用执行。()8. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。()9.设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”));后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。()10.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。() 二.单项选择题(每题2分,共40分) 1.在浏览器中执行applet 程序,以下选项中的哪个方法将被最后执行()。 A、init() B、start() C、destroy() D、stop() 2.Java application中的主类需包含main方法,main方法的返回类型是什么?() A、int B、float C、double D、void 3.有以下方法的定义,请选择该方法的返回类型()。 ReturnType method(byte x, float y) { return (short)x/y*2; } A、byte B、short C、int D、float 4.设有下面两个类的定义: class Person { class Student extends Person { long id; // 身份证号int score; // 入学总分 String name; // 姓名int getScore(){ } return score; } } 则类Person和类Student的关系是()。 A、包含关系 B、继承关系 C、关联关系 D、上述类定义有语法错误

相关主题