JAVA复习题答案2

JAVA复习题答案2
JAVA复习题答案2

(三)编程题

1. 声明复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法操作。创建运行程序类,测试银行账户类。

public class Complex {

private int real,imag;

Complex(int real,int imag){

this.real=real;

this.imag=imag;

}

Complex(Complex comp){

this(comp.real,comp.imag);

}

Complex(){

this(0,0);

}

public String add(Complex comp1,Complex comp2){

this.real=comp1.real+comp2.real;

this.imag=comp1.imag+comp2.imag;

return toString();

}

public String subtract(Complex comp1,Complex comp2){

this.real=comp2.real-comp1.real;

this.imag=comp2.imag-comp1.imag;

return toString();

}

public String toString(){

return "("+this.real+"+"+this.imag+"i)";

}

public static void main(String[] args) {

Complex comp1=new Complex(1,2);

Complex result_comp=new Complex();

result_comp.add(comp1,comp2);

System.out.println(comp1+"+"+comp2+"="+result_comp);

result_comp.subtract(comp1, comp2);

System.out.println(comp2+"-"+comp1+"="+result_comp);

}

}

2. 采用面向对象的程序设计方法编写一个计算矩形和椭圆形面积的程序。要求:定义面积接口以增强程序的扩展性。

public interface Area {

public abstract double area();

}

public class Rectangle implements Area {

protected double length, width; // 长度和宽度

Rectangle(double length, double width)// 构造方法

{

this.length = length;

this.width = width;

}

public double area() // 计算矩形面积,实现Area接口中的抽象方法

{

return this.width * this.length;

}

public String toString() {

return "一个矩形,长度" + this.length + ",宽度" + this.width + ",面积为"

+ this.area();

}

public static void main(String args[]) {

System.out.println(new Rectangle(10, 20).toString());

}

}

public class Ellipse implements Area {

private int x, y;

Ellipse(int x, int y) {

this.x = x;

this.y = y;

}

public double area() {

// TODO Auto-generated method stub

return Math.PI * x * y;

}

public static void main(String args[]) {

Ellipse e = new Ellipse(20, 10);

System.out.print("椭圆的长轴为:" + e.x + ",椭圆的短轴为:" + e.y + ",椭圆的面积为:" + e.area());

}

}

3. 声明一个Average接口,其中约定求平均值的方法;声明多个类实现Average接口,分别给出求平均值的方法实现。并创建运行程序类。

(1) 全部数值相加后求平均值

(2) 去掉一个最高分和一个最低分后,再将总分求平均值

(3) 使用命令行参数作为输入数据,对于不能转换成数值的字符串进行异常处理。

public interface Average {

public abstract double average(String[] table);

}

class AverageAll implements Average {

public double average(double table[]) {

double average = 0.0;

if (table != null && table.length > 0) {

double sum = 0.0;

for (int i = 0; i < table.length; i++) {

sum += table[i];

}

average = sum / table.length;

}

return average;

}

public double[] todoubleArray(String str[]) throws NumberFormatException { if (str != null && str.length > 0) {

double table[] = new double[str.length];

for(int i=0;i

table[i]= Double.parseDouble(str[i]);

}

return table;

}

return null;

}

class AverageExceptMaxMin implements Average {

public double average(double table[]) {

double average = 0.0;

if (table != null && table.length > 2) {

double max = table[0];

double min = table[0];

double sum = 0.0;

for (int i = 0; i < table.length; i++) {

if (table[i] < min) {

min = table[i];

}

if (table[i] > max) {

max = table[i];

}

sum += table[i];

}

average = (sum - min - max) / (table.length - 2);

}

return average;

}

}

public class TestAverage {

/**

* @param args

*/

public static void main(String[] args) {

double[] tab = null;

AverageAll avg = new AverageAll();

System.out.println(avg.average(tab));

System.out.println(avgMaxMin.average(tab));

try{

System.out.println(avg.average(avg.todoubleArray(args)));

}catch(NumberFormatException e){

System.out.print("字符串不能转化成浮点数");

}

}

}

4. 编写一个Java应用程序,要求:(1) 从命令行获取两个int型数据,针对这两个数据求和,并且输出结果。(2) 考虑异常的捕获和处理。

public class Customeradd {

public static void main(String[] args) {

try {

int a = Integer.parseInt(args[0]);

int b = Integer.parseInt(args[1]);

System.out.print(a + b);

} catch (NumberFormatException nfe) {

System.out.print("不能转换成整数,请重新输入!");

} finally {

}

}

}

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

《JA V A语言程序设计》期末考试试题及答案 一、单选题 1、下列程序段执行后的结果是( A )。 String s = new String("abcdefg"); for (int i=0; i

JAVA测试题(三套含答案)

1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4. 编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; "The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F C. _whatavariable D. _3_

6.内部数据类型byte的取值范围是B - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: "zero"); break; case 1: "one"); case 2: "two"); default: "default"); } B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default: "default"); case 0:

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期末考试题及答案

Java期末考试题 一、简答题(共8个题,每题5分,共40分) 1. java 语言有哪些特点, (1)简单的 a)Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。 b)Java的风格类似于C++因而C++程序员初次接触Java语言,就会感到很熟悉。从某种 意义上讲,Java语言是C及C++语言的一个变种。 c)Java摒弃了C++中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。 d)Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。 (2)面向对象的 面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。 Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。(3)健壮的 Java致力于检查程序在编译和运行时的错误。Java也是一种强类型的语 言,其类型检查 比C++还要严格。类型检查帮助我们检查出许多开发早期出现的错误。Java 自己负责内存管 理,提供了垃圾内存回收机制,有效的避免了C++中最头疼的内存泄漏问 题。

Java的安全性可从两个方面得到保证。一方面,在Java语言里,删除了指 针和释放内 存等C++功能,避免了非法内存操作。另一方面,通过Java的安全体系架 构来确保Java代码 的xx。 从一开始,Java就被设计成能够防范各种袭击,包括:禁止运行时堆栈溢出。 例如,蠕 虫等病毒常用的袭击手段;禁止在自己的处理空间之外破坏内存;未经授权禁止读写文件; 许多安全特性相继不断的被加入Java中。 (5)解释的 Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间 代码,然后由Java解释器解释执行。而C++程序是编译执行的,C++g序代码被编译为本地 机器指令,然后执行。 (6)与平台无关的 Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java 运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器 无关的字节码格式, 1 在Java虚拟机上运行。

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数?() A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 5.以下哪项可能包含菜单条()。 A、Panel B、Frame C、Applet D、Dialog

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期末选择试题及答案大全

一、单选题:(每题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=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y C) z > ( y + x ) D) x < y & ! ( x < z ) 12.下列语句序列执行后,i的值是( D )。 int i=16; do { i/=2; } while( i > 3 ); A) 16 B) 8 C) 4 D) 2 13.以下由 for 语句构成的循环执行的次数是( B )。 for ( int i = 0; true ; i++) ; A) 有语法错,不能执行 B) 无限次 C) 执行1次 D) 一次也不执行 14.定义类头时能使用的修饰符是(C )。 A) private B) static C) abstract D) protected 15.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值, 正确的switch语句是D )。 A) switch (x + y) B) switch ( ch + 1 ) { ...... } { ...... } C) switch ch D) switch ( a + b );

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

JAVA试题_2

JAVA试题 一、选择 1.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2.给出下面代码: 1)class Parent{ 2)private String name; 3)public Parent(){} 4)}5)public class Child extends Parent{ 6)private String department; 7)public Child(){} 8)public String getValue(){return name;} 9)public static void main(String arg[]){ 10)Parent p=new Parent(); 11)}12)} 哪些行将引起错误? A第3行B第6行C第7行D第8行 3.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; //p,t and s are all non-null. if(t instanceof Person){s=(Student)t;} 最后一句语句的结果是: A将构造一个Student对象;B表达式是合法的; C表达式是错误的;D编译时正确,但运行时错误。 4.给出下面代码段 1)public class Test{ 2)int m,n; 3)public Test(){} 4)public Test(int a){m=a;} 5)public static void main(String arg[]){ 6)Test t1,t2; 7)int j,k; 8)j=0;k=0; 9)t1=new Test(); 10)t2=new Test(j,k); 11)}12)} 哪行将引起一个编译时错误?

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笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

java试题及答案

一、单项选择题(每题2分,共20分) 1、Java语言是( D ) A、面向问题的解释型高级编程语言 B、面向机器的低级编程语言 C、面向过程的编译型高级编程语言 D、面向对象的解释型高级编程语言 2、下列哪个是合法的Java标识符( A )? A.&2 B.123.9 C._2# D.public 3、编译Java Application 源程序文件产生的字节码文件的扩展名为( B )。 A.java B.class C.html D.exe 4、有关类Demo,哪句描述是正确的( A )? public class Demo extends Base{ private int count; public Demo(){ System.out.println("A Demo object has been created"); } protected void addOne() {count++; } } A.当创建一个Demo类的实例对象时,count的值为0。 B.当创建一个Demo类的实例对象时,count的值是不确定的。 C.超类对象中可以包含改变count 值的方法。 D.Demo的子类对象可以访问count。 5、Java Application源程序的主类是指包含有( A )方法的类。 A、main方法 B、toString方法 C、init方法 D、actionPerformed方法 6、如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?( C ) A.public B.private C.protected D.transient 7、在Java中,存放字符串常量的对象属于( B )类对象。 A、Character B、String C、StringBuffer D、Vector 8、在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。 A、private B、protected C、private protected D、public 9、在编写异常处理的Java程序中,每个catch语句块都应该与( C )语句块对 应,使得用该语句块来启动Java的异常处理机制。 A.if - else B.switch C.try D.throw 10、以下由do-while语句构成的循环执行的次数是( B ) int k = 0; do { ++k; }while ( k < 1 ); A、一次也不执行 B、执行1次 C、无限次 D、有语法错,不能执行

java考试习题及答案 2

Java 程序设计习题及历年考试题单项选择题(80) 1. 接口中的成员变量被隐含地声明为 (A)public static final (B)public final (C)public static (D)public abstract 2. 处理按钮点击事件的类需要实现哪个接口 (A)FocusListener (B)ActionListener (C)WindowListener (D)ItemListener 3. 已知: class A { public final void m() { System.out.println(“A.m”); } } public class B extends A { public void m() { System.out.println(“B.m”); super.m(); } public static void main(String [] args) { new B().m(); } } 那么结果为? (A)A.m (B)B.m (C)B.m A.m (D)编译错误 4. 抛出异常,使用关键字 (A)try (B)throw (C)finally (D)catch

5. 已知: class Base { public Base(String s) { System.out.print(“B”); } } public class Derived extends Base { public Derived (String s) { System.out.print(“D”); } public static void main(String [] args) { new Derived (“C”); } } 那么结果为? (A)BD (B)DB (C)C (D)编译错误 6. Java 中char类型的数据长度为 (A)8位 (B)16位 (C)32位 (D)64位 7. Java 编译输出文件的后缀是 (A).exe (B).java (C).class (D).obj 8. 已知: class C { public static void main(String[] args) { boolean a = true; boolean b = false; boolean c = true; if((a & b) | (b & c) & c) System.out.print(“A”); If((a = false) | (a & c) ) | (a | b)) S ystem.out.print(“B”); } }

java考试试卷及答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C

2.Java基础知识测试和答案讲解

单选题:(每道题目2分) 1. 下列哪个声明是错误的?(B) A. int i=10; B. float f=1.1; C. double d=34.4; D. byte b=127; 2. 下面哪个不是java中的关键字?(C) A. public B. true C. main D. class 3. 下面程序哪个语句是正确的C A. byte a=0,b=3; byte c =a+b; B. short s =23; s=s+12; C. short s=23; s+=12; D. float f = 23+23.23; 4. 下面程序执行的结果是?(B) class Test { public static void main(String[] args) { System.out.println(“”+‘a’+1); } } A. 98 B. a1 C. 971 D. 197 5. 下面程序执行的结果是?(B) int i = 100; while(true) { if (i++ > 100) { break; } System.out.println(i);

} A. 100 B. 101 C. 102 D. 报错 6. 下面程序的运行结果是 ( D ) int a=3, b=1; if(a==b) { System.out.println("a="+a); } A. a=1 B. a=3 C. 编译错误 D. 正常运行但没有输出 7. 下面程序的运行后,结果正确的是:B int a=1,b=2; int c=(a+b>3?a++:++b); A. a=2,b=3 B. a=1,b=3 C. a=1,b=2 D. c=2 8. 下面程序的运行结果B class Demo { public static int fun(int c) { return c+=2; } public static void main(String[] args) { int temp = fun(2); System.out.println(temp); } } A. 2 B. 4 C. 6 D. 8 9. 下面数组定义错误的是(C)

JAVA试题及答案(精致)

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、J AVA2 HE E、J AVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括 起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、boolean a = (9 >= 10); C、boolean a="真"; D、b oolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值是( D )

A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual = str.equals("q"); D、c ount = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john" = = "john" B、"john".equals("john") C、"john" = "john" D、"john".equals(new String("john")) 12、下列输出结果是( C )

相关文档
最新文档