当前位置:文档之家› JAVA习题集2

JAVA习题集2

JAVA习题集2
JAVA习题集2

习题二

一、判断题

1.一个类定义了一个或多个构造方法,则Java不提供默认的构造方法。( )

2.如果定义的类中没有给出构造方法,系统也不会提供构造方法。( )

3.可以通过类名直接访问类变量。( )

4.非static修饰的方法既能被对象调用,又能用类名直接调用。( )

5.static修饰的类方法既能被对象调用,又能用类名直接调用。( )

6.一个类的所有对象共享static修饰的类变量。( )

7.类由两部分组成,一部分是变量的定义,一部分是方法的定义。( )

8.方法的定义由方法的声明和方法体等两部分组成。( )

9.方法中的形参可以和方法所属类的属性(域)同名。( )

10.package语句只能放到Java源程序除注释之外的第一行位置。( )

11.Java应用程序的人口main方法只有一种定义。( )

12.静态成员域具有全局作用域范围。( )

13.类成员变量可无须初始化,由系统自动进行初始化。( )

14.在类体部分定义时,类的构造方法、成员域和成员方法的出现顺序在语法上有严格限制。( )

15.类的实例对象的生命周期包括实例对象的创建、使用、废弃、垃圾的回收。( )

二、选择题

1.下述哪个说法是不正确的?( )

A.局部变量在使用之前无须初始化,因为有该变量类型的默认值

B.类成员变量由系统自动进行初始化

C.参数的作用域就是所在的方法

D.for语句中定义的变量,当for语句执行完时,该变量就消亡了

2.下述哪一个关键字不是类及类成员的访问控制符?( )

A.public B.private C.static D.protected

3.考虑以下的方法头声明:

public void myMethod(int num,char letter)

下列哪个描述是正确的?( )

A. 这个方法有个int型的参数,它的形式参数是letter

B.这个方法有个int型的参数,它的形式参数是num

C.这个方法有个char型的参数,它的实际参数是myMethod

D.这个方法是一个构造方法

4.假设有个类已经定义了下述的变量:

int num1=10;

int num2=20;

String word=new String("exam");

double answer=25.5;

另外定义了下列方法头:

public int stuff(String s,int x,int y)

以下哪个是正确的方法调用?( )

A.num1=stuff (”hell o”,num1,num1);

B,answer=stuff (word,answer,num2);

C.num2=stuff(”hell o”,num1,answer);

D.num1=stuff(num1,num2,word);

5.下面哪一项不是构造方法的特点?( )

A.构造方法名必须与类名相同

B.构造方法不具有任何返回类型

C.任何一个类都含有构造方法

D.构造方法修饰词只能是public

6.假设已声明了一个类A的两个对象a1、a2,为了初始化a1和a2,下面语句正确的是( )。

A. a1,a2=new A()

B. a1=A.new();a2=A.new()

C. a1=new();a2=new()

D. a1=new A();a2=new A()

7.以下程序的运行结果为( )。

public class Test (

int value;

public static void main (String args [] ) {

Test t=new Test();

if (t==null) (

System.out .println ("No Object");

}

else{

System.out .println (t.value);

}

}

}

A. 0

B. null

C. NoObject

D. 编译出错

10.给定如下代码:

class Circle{

String name, radius;

int r;

public Circle (String n)

name=n;

}

public Circle (String n,int a){

name=n;

r=a;

)

public Circle (String n,String d, int a){

radius=d;

}

}

要在第三个构造方法的空白处填上一行代码使之能够调用第二个构造方法,这行代码应该是( )。

A. Circle(n,a);

B. this(Circle(n,a));

C. this(n,a);

D. this(name,a);

11.下面哪个代码片段是错误的?( )

A. package mypackage;

public class Rectangle {//doing something'..}

B. import java.io.*;

package mypackage;

public class Rectangle {//doing something'"}

C. import java.io.*;

class Circle{//doing something".}

public class Rectangle {//doing something...}

D. import java.io.*;

import java.awt.*;

public class Rectangle {//doing something...}

12.下列选项中,用于声明包名的关键字是( )。

A. import B. package C. interface D. protected

13.下列各种Java类的定义,哪些是错误的?( )

A. class MyClass{

private int Val;

public int getVal(){

return Val;

}

}

B. class MyClass{

private static int Val;

public int getVal(){

return val;

}

}

C. class MyClass{

private int Val;

public static int getVal(){

return Val;

}

}

D. class MyClass{

private static int Val;

public static int getVal(){

return Val;

}

}

14.某类的成员方法只能被自己调用,修饰该方法的是( )。

A. public B. protected C. private D.无修饰符15.另外的类要获取以下MyClass类中的member的值,采用的语句是( )。public class MyClass{

private static int member=1;

public static int getMember(){

return member;

}

};

A. myClass.member

B. new myClass().member

C. myClass.getMember()

D. myClass().getMember()

16.下面关于变量的说法,哪个是不正确的?( )

A.实例变量是类的成员变量

B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

17.在Java中,以下哪一个关键字使类不能派生出子类?( )

A.final B.public C.private D.volatile

18.关于public static void main方法的参数描述不正确的是( )。

A.String args[] B.String[] args C.String a[] D.String args

19.下列整型的最终属性i的定义中,正确的是( )。

A.final B.static int i;

C.static final int i=234; D.final float i=3.14f;

20.类方法的修饰符是( )。

A.static B.class C.public D.void

22.类Line的定义如下:

class Line{

private int a,b;

public Line(int x,int y){

this.x=x;

this.y=y;

}

其中的this代表( )。

A.类名Line B.父类的对象

C. Line类实例的当前对象引用 D.this指针

23.以下程序片段,下列哪个选项插入到第2行将引起编译错误?( )

1. package mypackage;

2.

3. class MyClass{

4. //do something

5. }

A. public class MainClass{ }

B. package mypackage1;

C. class B{ }

D. import java. util.*;

24.以下程序代码,无法通过编译的是( )。

A. class A{

int i=O;

public void method(){

System.out.println (i);

}

}

B. class A{

int i=0;

}

class B{

public void method(){

System.out.println (A.i);

}

}

C. class A{

public int i=0;

public static void method(){

System. out.println (newA() .i);

}

}

D. class A{

public static int i=0;

public static void method(){

System.out.println (i);

)

}

25.下列代码在编译时会发生错误,下面哪种修改可以更正错误?( ) class Test {

private int m;

public static void fun(){

System.out.println(m);

}

}

A.将private int m改为protected int m

B.将private int m改为public int m

C.将phvate int m改为static int m

D.将private int m改为int m

三、程序阅读题

1.阅读下面的程序,程序保存为Test.java:

1. public class Test{

2. short mValue;

3. public static void main(String[] args){

4. int a=32;

5. int b=56;

6. Test os=new Test (a+b);

7. os.Show ();

8. }

9. protected Test (short aValue) {

10. mValue= aValue;

11. }

12. public void Show() {

13. System. out .println (mValue);

14. }

15. }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

2.阅读下面的程序:

1 public class Test{

2 public static void main (String argv [ ] ) {

3 Bird b=new Bird();

4 b. fly (3);

5 }

6 }

7 class Bird{

8. static int Type=2;

9. private void fly(int an_Type) {

10. Type= an_Type;

11. System. out .println ("Flying.-- "+ Type);

12. }

13. }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。

class StaticTest {

static int x=1;

int y;

StaticTest () {

y++;

}

public static void main (String args[] ) {

StaticTest st=new StaticTest();

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

System.out.println ("st.y="+st.y);

st=new StaticTest();

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

System.out.println("st.y="+st.y);

}

static {

x++;

}

}

4.写出下列程序代码的运行结果。

public class PassTest{

float ptValue;

public void changeInt(int value){

value=il;

}

public void changeStr(String value){

value=new String("hey");

}

public void changeObjValue( PassTest ref){

ref.ptValue=22;

}

public static void main(String args[ ] ){

String str;

int val;

PassTest pt=new PassTest();

val=33;

pt.changeInt (val);

System.out.println("Int value is: "+val);

str=new String ("Hi");

pt.changeStr (str);

System. out.println("Str value is: "+str);

pt.ptValue=44;

pt.changeObjValue(pt);

System.out.println("Pt value is: "+pt.ptValue);

}

}

5.写出下列程序代码的运行结果:

class Test {

public static String ss = "杭州电子科技大";

public String ms = "计算机学院";

public void printInfo() {

System.out.println("ss=" + ss + "ms=" + ms);

}

public static void main(String[] args) {

Test obj1, obj2;

obj1 = new Test();

obj2 = new Test();

obj1.ss = "浙江工业大学";

obj1.ms = "软件学院";

obj1.printInfo();

obj2.printInfo();

}

}

6.阅读以下程序,回答问题。

package package1;

class ClassA{

public void printInfo(){

System.out.println ("I am ClassA. ");

}

}

package package2;

import package1.ClassA;

public class ClassB{

public static voidmain(String [] args){

new ClassA().printInfo();

}

}

(1)上面两个类是在同一个源程序文件中吗?

(2)以上程序编译是否正常?若编译正常则运行结果是什么?

7.阅读下面程序,修改程序中错误的地方(提示:共三处)。

1. class Person{

2. String name;

3. int age;

4. String sex;

5. public Person(String name,int age,String sex){

6. https://www.doczj.com/doc/4b11941386.html,=name;

7. this.age=age;

8. this.sex=sex;

9. }

10. public void toString(){

11. return "name :"+name+" age: "+ age+" sex:"+ sex;

12. }

13. }

14. public class TestPerson{

15. public static void main(String args[]){

16. Person p=new Person();

17. https://www.doczj.com/doc/4b11941386.html,="张三";

18. p.age=20;

19. p.sex="男";

20. System. out.println (Person.tostring ());

21. }

22. }

8.写出下列程序代码的运行结果。

public class Test(

int x=4;

public static void main (String argv [ ] ) {

Test t=new Test ();

t.x++;

change (t);

System.out.println (t.x);

}

static void change (Test m) {

m.x+=2;

}

}

四、编程题.

1.编写一个Java程序Suansu.java,定义两个整型变量a和b,使用构造方法初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商(方法名为DivAB)的方法。用另一个Java程序TestSuansu.java测词Suansu.java定义的方法,并在屏幕上输出结果。

2.创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法:

getArea返回矩形的面积,要求长和高的范围为0-50;

getPerimeter返回矩形的周长;

draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数);

在另一个类TestRectangle中编写main方法来测试Rectangle类。

3.根据以下的设计要求编写Java源代码。

类名:Student

变量(访问权限均为private):

name,//表示为姓名,类型为String

age,//表示年龄,类型为int

方法如下。

(1)构造方法(没有参数,设置姓名为“无名氏”,年龄为20)。

(2)setName(有一个名为name的String型参数,将name的值设为这个新值)。

(3)getName(没有参数,返回姓名);

(4)setAge(有一个名为age的int型参数,将age的值设为这个新值)。

(5)getAge(没有参数,返回年龄)。

(6)isSameAge(有一个参数s,是另一个Student对象的引用,如果两个Student对象的age相同,则返回true,否则返回false)。

4.编写一个复数类Complex验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。复数类Complex必须满足如下要求。

(1)复数类Complex的属性如下。

realPart是int型,代表复数的实数部分。

imaginPart是int型,代表复数的虚数部分。

(2)复数类Complex的方法如下。

Complex()构造方法,将复数的实部和虚数都置0。

Complex(int r,int i)构造方法,形参r为实部的初值,i为虚部的初值。

Complex complexADD(Complex a)将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,将其返回给此方法的调用者。

String toString()把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中,a 和b分别为实部和虚部的数据。

5.编写一个表示二维平面上的点的类MyPoint,满足以下条件。

(1)定义private的成员变量x和y,表示点的x和y坐标,类型为整数。

(2)定义两个MyPoint的构造方法,一个构造方法不带参数,且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为整数,用这两个参数分别作为初始x

和y的坐标。

(3)定义一个getD方法,功能为返回两个坐标点(由MyPoint定义)距离,值为float 类型。

(4)编写main方法,打印坐标点(2,3)到点(4,5)的距离。

6。编写一个公共(public)类,类名为AccountUtil,该类属于account包,类中包含一个公用静态方法toSeparateNumber,该方法以一个十进制字符串为参数,返回用逗号隔开的数字字符串,分隔从右边开始,每三个数字用一个逗号隔开。例如,若参数为2367548,则返回2,367,548。若参数为小数,则分隔从小数点开始,例如,若参数为2367548.85,则返回2,367,548.85。

根据以下说明,编写一个银行账户类Account,并编写一个main方法,对Account类进行测试,在main方法中要调用Account的所有方法,发生异常时,要打印异常信息。该类的成员变量如下表所示(访问权限均为private)。

7.编写两个类,classA属于包package1,classA中有一个方法methodA();classB属于包package2,在classB的方法methodB()中调用classA的methodA()方法。每个方法简单地输出方法名即可。

8.编写一个三角形类,能根据3个实数构造三角形对象,如果3个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。输入任意3个数,输出构造的三角形面积。

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,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习题集及答案

JAVA语言与面向对象程序设计期末复习题 2011年上(一)单项选择题 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和( B )特征。 A. 颜色 B. 动态 C. 状态 D. 重量 2.使用JDK编译Java程序时使用的命令是(B)。 A. java B. javac C. appletviewer D. javadoc 3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为(C)。 A. private B. protected C. public D. static 4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为(B)。 A. const B. final C. static D. class 5.在程序中声明包的语句关键字为(D)。 A. volatile B. pack C. import D. package 6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为(C)。 A. catch B. throw C. throws D. finally 7.在类定义首部的语法格式中,(B)不能作为其中的修饰符。 A. public B. protectd C. extends D. abstract 8.下列哪个类不是异常类的父类?(A)。 A. Error B. Throwable C. Exception D. Object 9.下面的关键字(C)与异常处理无关。 A. throw B. throws C. import D. finally 10.在读字节文件 Employee.dat 时,使用该文件作为参数的类是(D)。 A. BufferedReader B. DataInputStream C. DataOutputStream D. FileInputStream (二)填空题 1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为应用程序接口 2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。protected、private 3.Java语言中的方法Math.random()返回0到 1 之间的一个随机小数。 4.假定没有给一个类XXK2显式地定义任何构造函数,则利用new运算创建该类的一个对象时,自动调用的构造方法为________。XXK2() 5.假定要在一个类中访问另一个类XXK4中的静态成员abc,则此访问应表示为________。XXK4.abc 6.在方法调用中,首先需要实参表中的实参向形参表中的形参进行传递,此传递分为_______传递和_______传递两种方式。按值、引用 7.Java语言中的类的体系结构为________结构。根节点为________类。层次(树状)、Object(https://www.doczj.com/doc/4b11941386.html,ng.Object) 8.定义一个终结类需要在类首部的关键字class前使用的修饰符为final

模拟售票系统java编程

/* 项目:用多线程设计一个模拟火车站售票大厅的工作情形。 问题描述:火车站有许多售票窗口,有些开放,有些不开放。顾客进入火车站售票厅后,到某个售票窗口排队等候,排到了就办理业务,然后离去。如图2.1所示。 */ /* *共有五个类: *SimulateRailwayStation:具体运行主类; *RailwayStation:火车站售票大厅类 *Agent类:代表火车站售票窗口类; *Customer类:顾客类; *List类:存储类 */ import java.util.Date; import java.awt.*; import java.awt.event.*; public class SimulateRailwayStation extends Frame implements ActionListener { //预设火车站售票大厅有10个售票窗口 protected static final int NUM_AGANTS=10; //预设目前正在售票的窗口为6个 protected static final int NUM_INITIAL_AGANTS=6; //设置每个窗口办理售票业务的时间 protected static final int BUSINESS_DELAY=6000; //设置有10辆火车的座位可以出售 protected static final int MAX_TRAIN_NUM=10; //设置每个窗口从一个顾客完成到下一个顾客开始的时间间隔 protected static final int MAX_NO_CUSTOMERS=200; //定义按钮,手动添加顾客。 private Button addcus=new Button("添加顾客"); //定义按钮,模拟顾客自己离开 private Button delcus=new Button("顾客离去"); //定义按钮,增加售票窗口 private Button addagent=new Button("增加售票窗口"); //定义按钮,关闭售票窗口 private Button delagent=new Button("关闭售票窗口"); //10辆火车班次的信息 protected static String[] train_num={"南京->北京,46次","南京->上海,34次","南京->福州,231次","南京->杭州,65次","南京->武汉,112次","南京->成都,77次","南京->天津,21次","南京->徐州,134次","南京->乌鲁目齐,335次","南京->合肥,456次"}; //与上面的信息对应的每辆火车的票务信息 protected static int[] tickets={50,70,50,50,50,120,60,100,50,50};

JAVA习题集

习题二 一、判断题 1.一个类定义了一个或多个构造方法,则Java不提供默认的构造方法。( ) 2.如果定义的类中没有给出构造方法,系统也不会提供构造方法。( ) 3.可以通过类名直接访问类变量。( ) 4.非static修饰的方法既能被对象调用,又能用类名直接调用。( ) 5.static修饰的类方法既能被对象调用,又能用类名直接调用。( ) 6.一个类的所有对象共享static修饰的类变量。( ) 7.类由两部分组成,一部分是变量的定义,一部分是方法的定义。( ) 8.方法的定义由方法的声明和方法体等两部分组成。( ) 9.方法中的形参可以和方法所属类的属性(域)同名。( ) 10.package语句只能放到Java源程序除注释之外的第一行位置。( ) 11.Java应用程序的人口main方法只有一种定义。( ) 12.静态成员域具有全局作用域范围。( ) 13.类成员变量可无须初始化,由系统自动进行初始化。( ) 14.在类体部分定义时,类的构造方法、成员域和成员方法的出现顺序在语法上有严格限制。( ) 15.类的实例对象的生命周期包括实例对象的创建、使用、废弃、垃圾的回收。( ) 二、选择题 1.下述哪个说法是不正确的( ) A.局部变量在使用之前无须初始化,因为有该变量类型的默认值 B.类成员变量由系统自动进行初始化 C.参数的作用域就是所在的方法 D.for语句中定义的变量,当for语句执行完时,该变量就消亡了 2.下述哪一个关键字不是类及类成员的访问控制符( ) A.public B.private C.static D.protected 3.考虑以下的方法头声明: public void myMethod(int num,char letter) 下列哪个描述是正确的( ) A. 这个方法有个int型的参数,它的形式参数是letter B.这个方法有个int型的参数,它的形式参数是num C.这个方法有个char型的参数,它的实际参数是myMethod D.这个方法是一个构造方法 4.假设有个类已经定义了下述的变量: int num1=10; int num2=20; String word=new String("exam"); double answer=25.5; 另外定义了下列方法头: public int stuff(String s,int x,int y)

Java期末考试试卷1

信息学院2006—2007学年第二学期期末考试试题A 课程名称:Java 语言程序设计主讲:年级: 班级姓名学号 题号一二三四五合计 分数 一、选择(每题1分,共20分) 1.有一个名为MyClass的public类,想成功编译需满足以下哪个条件?() A. MyClass类中必须定义一个正确的main()方法。 B. MyClass必须定义在MyClass.java源文件中。 C. MyClass类必须定义在MyClass包中。 D. MyClass类必须被导入。 2.以下哪些修饰符不能用于顶层类?( ) A. public B. private C. abstract D. final 3.以下哪个是java中合法的关键字?( ) A. array B. Boolean C. protect D. super 4.以下哪些是合法的标识符?( ) A.%abcd B. 2abcd C. package D. _a_long_name 5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同。这种面向对象程序的特性称为. () A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 6.有以下代码,请问该程序的运行结果是什么?( ) class Example { public static void main(String args[]){ boolean b=true; System.out.println(b); } } A. 打印输出true B. 打印输出1 C.编译错误 D. 无内容输出 7.以下哪些是基本数据类型?( ) A.int B. String C. Integer D. Float 8. 给出以下代码,请选择正确的选项?( ) class Example{ public static void main(String[] args){ char a=”\u1234”; } } A. 代码编译成功 B. 代码编译成功,但有警告 C. 代码编译失败 9.以下哪个语句用于声明一个二维数组?( ) A. int[5][5] a=new int[][]; B. int a=new int[5,5] C. int[][] a=new int[5][5]; D. int[][] a=new [5]int[5]; 10.给出以下代码,请问该程序的运行结果是什么?()

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

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习题集(含答案)

JAVA习题集(含答案) 习题一: 1.简述Java的发展过程。 2.什么是软件? 3.什么叫做源程序? 4.什么叫做编译? 5.什么是Java 的byte-codes?它的最大好处是什么? 6.机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7.Java程序可分为哪两种?分别如何运行? 8.试简述J2SE、J2ME与J2EE的简单区别。 9.练习使用浏览器查看Java API文档。 10.SDK的编译命令是什么? 11.试修改例1-1程序,使其输出的字符串为“I’d like to study Java !”,并在DOS命令行环境下编译与运行该程序。 习题一参考答案: 1.答: 1991:Sun Microsystems公司进军消费电子产品(IA)市场。 1991.4:Sun 成立“Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。

1992.10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。 1993~1994:Web在Internet上开始流行,致使Java得以迅速发展并获得成功。 1995.5:Sun Microsystems公司正式发表Java与HotJava产品。 1995.10:Netscape与Sun Microsystems合作,在Netscape Nevigator中支持Java。 1995.12:微软(Microsoft)IE加入支持Java的行列。 1996.2:Java Beta测试版结束,Java 1.0版正式诞生。 1997.2:Java发展至1.1版。Java的第一个开发包JDK(Java Development Kit)发布。 1999.7:Java升级至1.2版。 2000.9:Java升级至1.3版。 2001.7:Java升级至1.4版。 2.答:软件可以理解为程序的另一种名称。 3.答:直接使用高级语言书写的程序代码称为源程序 4.答:把用高级语言编写的源程序翻译成可执行(目标)程序的过程称为编译。 5.答:Java源程序经Java的编译器编译过后产生的程序称为Java 的byte-codes。它的最大好处是可以实现跨平台运行。 6.答:机器语言程序是可以让计算机直接运行的程序;高级语言程序是必需经过编译或解释才可以让计算机运行的程序,并且程序的运行依赖于该语言的语言处理系统;可表示成Java字节码的程序必需经过编译产生Java字节码程序,Java字节码程序可以实现跨平台运行。 7.答:Java程序分为:Java Application(Java应用程序)与应用在www上的Java applet (Java小应用程序)。Java Application可以在Java平台上独立运行,以main() Method 作为程序入口,由Java解释器加载执行。而Java applet则是内嵌在Html文件中,必须搭配浏览器来运行,它没有程序入口。

JAVA语言程序设计期末考试试题及答案

J A V A语言程序设计期末考试试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

J A V A语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A) 0 B) 1 C) 2 D) 3 2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。 A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。 A)interface B) package C) extends D) class 6.若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0]

7.下列语句序列执行后,ch1 的值是( B )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=, y=, z=;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA模拟键盘鼠标操作

//可以在eclipse下直接运行的示例程序: package key_robot; import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class key_robot { public key_robot() { } // 鼠标单击,要双击就连续调用 private static void pressMouse(Robot r, int m, int delay) { r.mousePress(m); r.delay(10); r.mouseRelease(m); r.delay(delay); } // 键盘输入方法 private static void pressKeys(Robot r, int[] ks, int delay) { for (int i = 0; i < ks.length; i++) { r.keyPress(ks[i]); r.delay(10); r.keyRelease(ks[i]); r.delay(delay); } } public static void main(String[] args) throws Exception { final Robot rb = new Robot(); new Thread() { public void run() { rb.delay(2000); // 模拟回车 rb.keyPress(KeyEvent.VK_ENTER); rb.keyRelease(KeyEvent.VK_ENTER); } }.start();

Java练习题及答案

Java练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet( Java Application、 Java Applet)。 3、安装JDK后,Java开发工具在Bin目录。 4、声明接口的保留字是interface。 5、类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是Test ,其父类 是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java(写出包括扩展名的文件名)。 6、一个完整的Java应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名 为main的方法 7、JDK下解释执行Java的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1中的元素有10个;c2中的元素有10个;已初始化赋值的是c2(c1 c2)。

9、执行完下列程序后i的值为5。 int i=0; while(i<5) { i++; } 10、运行下列程序段后,结果c的取值为120。 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B、final C、abstract D、private 2、对成员的访问控制保护最强的是(C)。

《JAVA语言程序设计》期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案 (应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.doczj.com/doc/4b11941386.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

java模拟试题(带答案)

判断题 1.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 (√)2.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一 个各属性与赋值对象相同的新对象。(×) 3.所谓抽象类就是包含有抽象方法的类。(×) 4.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准 输出System.out和标准错误输出System.err。(√)5.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是 正确的。(×)6.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序 不一定终止运行。(√) 7.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。 (×) 8.一个容器中可以混合使用多种布局策略。(×) 9.Java中,并非每个事件类都只对应一个事件。(√) 10.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节 码文件。(√) 11.Java Applet是由独立的解释器程序来运行的。(×) 12.Java的字符类型采用的是ASCII编码。(×) 13.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。(√) 14.System类不能实例化,即不能创建System类的对象。(×) 15.用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。(√)填空题 1 java 源程序编译命令是 javac 2 java 应用程序中有一个main()方法,它前面有三个修饰符是 public , static , void 3 java语言数据类型可分为两大类,一类称为基本数据类型 ,另一类称为引用数据类型 4 在转向语句中, continue 语句使得程序结束本次循环,回到循环的条件测试部分继续执行。 5设x为float型变量, y为 double型变量, a为 int型变量,已知 x=2.5f,a=7 ,y=4.22 则表达式x+a%3*(int)x%(int)y的值为 4.5 6设x为float型变量, y为 double型变量, a为 int型变量,b 为long 型变量,c为char 型,则表达式x+y*a/x+b/y+c 的值为 double 类型 7设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。 int s = 0 ;

相关主题
文本预览
相关文档 最新文档