文档库 最新最全的文档下载
当前位置:文档库 › java常见简答题

java常见简答题

java常见简答题
java常见简答题

一、基础知识

1.简述使用文本编辑器和JDK创建并运行Java应用程序的基本步骤。

2. 对比分析Java与其它高级语言的编译和运行过程,说明Java具有平台独立性的原因?

3.简述break和continue语句在使用时的区别?

二、类和对象1

1.什么是类?什么是对象?类和对象有何联系?

2.方法的重载和方法的覆盖有什么不同?

3.类变量和实例变量有何区别?

4.Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大?

5.作用域public,private,protected,以及不写时的区别

6.说明对象的基本概念和主要特征?

三、类和对象2

1.抽象类和抽象方法有什么特点?

2.接口和抽象类有什么区别?

3.什么是包?为什么要使用包?

4.简述在类的继承关系中,子类可以继承父类的哪些成员,不能继承的有哪些成员。

5.多态

多态:相同类型的变量,调用相同的方法,执行的具体代码却不同的现象称为多态

继承与多态表现形式:变量隐藏 (属性的不同表现)方法重写(方法的不同表现) 上转型对象(实例的不同表现)

方法的覆盖

规则:父类和子类方法同名;返回值类型形同;参数类型顺序相同;子类方法的权限不小于父类方法权限;子类方法只能抛出父类方法声明抛出的异常或异常子类。(异常应比父类方法更具体)p119 继承关系图

注意:子类只有在能够访问到父类方法时才能对该方法进行重写

函数重载:函数名称相同,函数的参数个数不同或参数类型不同或参数顺序不同

四、异常

1.Error类和Exception类有什么区别?

2.什么是异常?为什么要进行异常处理?

3.简述异常处理的过程。

4.写出下列关键字的意义和运用场合:①final;②finalize;③finally。

五、常用类库

1.Vector对象的大小与容量之间有什么区别?

2.String类和StringBuffer类的主要区别是什么?

六、GUI用户图形界面

1.简述Java应用程序与Java小应用程序的区别。

2.简述Applet的生命周期。

3.简述使用Swing创建图形界面程序的步骤。

七、输入输出流

1.简述读写文本文件的基本步骤。

一、基础知识

1、①打开文本编辑器输入Java源程序;②保存文件,文件名为源程序中public 修饰类的类名,扩展名为.java;③打开命令行工具;④编译程序,在命令行输入:javac 源程序文件名;⑤运行程序,在命令行输入:java 源程序中public修饰的类名。

二、类和对象1

1. 答:在面向对象程序设计里,类是定义一个对象的属性和方法的蓝本。对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。类是对象的模板,对象是类的实例,可以从一个类中创建许多对象。

2. 答:方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的方法,运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。

3.答:由static修饰的变量称为类变量,当系统在程序中第一次遇到一个类时,便会拷贝一份所有的类变量在内存里。然后那些由此类产生的实例便可分享这些类变量。

实例变量指不是用static修饰的变量,可供实例方法使用。实例变量会复制于每一个从类产生的实例中。

4. 答:成员变量的修饰符有public、protected、private、static、final、transient、volatile七种。Public修饰符的限定范围最大。

5. 答:区别如下:

作用域当前类同一包子类其他包

public √√√√

protected √√√×

friendly √√××

private √×××

不写时默认为friendly

三、类和对象2

1.答:①一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类。

②抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承。

③若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的

方式来实例化超类中的所有抽象方法。抽象方法可再与public、protected复合使用,但不能与final、private和static复合使用。

④抽象方法只有方法声明,不能有方法体。

答:包(package)是类的容器。由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,Java 提供包来管理类名空间。此外一旦创建了一个类,并想重复地使用它,那么把它放在一个包中将是非常有效的。

2..答:从本质上讲,接口是一种特殊的抽象类,然而它们又有区别:

①接口只包含常量,而抽象类则不一定。

②接口中不能有非抽象的方法,但抽象类中可以有。

③一个类能实现多个接口,但只能有一个父类。

④接口并不属于继承结构,它实际与继承无关,无关的类可以实现同一个接口。

3.答:包(package)是类的容器。由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,Java 提供包来管理类名空间。此外一旦创建了一个类,并想重复地使用它,那么把它放在一个包中将是非常有效的。

4.答:可继承:①父类中公开级的成员;②父类中保护级的成员;③如果子类和父类在同一个包中,则子类继承父类中缺省的包访问级的成员。

不可继承:④父类中私有级的成员;⑤不在同一包的缺省成员和父类的同名成员。

四、异常

1.答:Error类及Exception类是Throwable类的两个直接子类。Error类描述的是内部系统错误,包括动态链接失败、虚拟机错误等,Java程序不做处理。Exception 类描述的是程序和外部环境引起的错误,这些错误能通过程序捕获和处理,Exception类是Java程序中需要大量处理的。

3.答:程序运行时出现错误时,创建异常对象,抛出异常对象,捕获该异常对象并进行处理。

4. 答:final, finally, finalize的区别如下:

final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

1.答:异常,是指由于程序运行时发生错误,从而导致程序错误结束。

在进行程序设计时,错误的产生是不可避免的,没有异常处理代码的程序,在运行时发生错误则可能非正常结束,引起严重问题。因此,Java给程序员提供了处理运行时错误的功能,称为异常处理。

五、常用类库

1.答:一个Vector对象的大小是包含的Object引用的实际数量。而容量是指为Object引用分配的存储空间的数量。

2.答:String类:用于比较两个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等,String类对象的内容一旦被初始化就不能再改变。StringBuffer类:用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中原来的内容。

六、图形界面

1、Java应用程序:①若是图形用户界面,则以Frame为基础;②若以DOS界面运行,它默认的程序入口是标准的main()方法;③Java应用程序在JVM上运行,JVM 在操作系统上运行。

Java小程序:④必须是扩展Java的Applet类来实现;⑤Applet类定义中没有main()方法,运行需要通过支持Java的浏览器调用执行;

2、①一个Applet的生命周期包含4个重要方法:init()、start()、stop()和destroy()。

②浏览器装载Applet时调用init()和start()方法;③小程序最小化或浏览器跳到其他页面时调用stop()方法;④小程序还原或页面返回时调用start()方法;⑤小程序关闭时执行stop()和destroy()方法。

3、①导入Swing包;②选择界面风格;③创建顶层容器;④创建基本组件;⑤创建中间级容器;⑥将基本组件添加到中间容器;⑦将中间级容器添加到顶层容器;

⑧处理事件。

七、输入输出流

1、①导入输入/输出包;②创建文件对象;③创建读出/写入操作的对象;④数据文件的读/写操作;⑤关闭文件。

java基础笔试题(答案已整理)

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.wendangku.net/doc/441383574.html,ng包的()方法比较二个对象是否相等返回true.。(b) A:toString() B:equals() C:compare D:以上都不正确 3:下列对Java 的变量与函数说法正确的是多选(ace )。 A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口 4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。(d) A:a[0] B:a[1] C:a[99] D:a[100] 5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。(c) A:隐藏B:覆盖C:重载D:Java不支持此特性 6:()是一组常量和抽象方法的集合。(d) A:实例B:类C:包D:接口 7:下面关于数组说法正确的是多选(abcde)。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c[]=new char[26];可声明一个含有26 个元素的char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。(b) A:.class和.java B:.java各.class C:.class和.class D:.java和.java 9:设x=5;则y=x--和y=--x的结果,使y分别为。(c) A:5,5 B:5,6 C:5,4 D:4,4 10:若x是float类变量,x=10/4;则x 的值是。(b) A:2 B:2.0 C:2,5 D:编译错误 11:.下面方法中,用于调度线程使其运行的是?多选(bc ) A. init() B. start() C. run() D. resume() E. sleep() 12.下面哪种情况能实现自动转换多选(ace )。 A)byte 型转换成int 型B)int 型转换成byte 型 C)float 型转换成double型D)double 型转换成int 型E)char型转换成int 型 13:下列那些是正确的JAVA字符串?多选(abd )。 A. "\"\"" B. "Oxzabc" C. "\"\" D. "\t\t\r\n" E. "boolean"5 14:在使用super 和this关键字时,以下描述正确的是。(a) A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B:super()和this()不一定要放在构造方法内第一行

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

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.wendangku.net/doc/441383574.html,ng.Object) 8.定义一个终结类需要在类首部的关键字class前使用的修饰符为final

Java考试简答题

简答5题30分 1.什么是GUI?举出三个AWT组件的类名,并说明AWT组件的一般功能。P99-101 GUI是图形用户界面; AWT组件: Button--按钮,功能:用户通过单击该组件来执行特定的操作; Label—标签,功能:用于输出文字信息,这些信息不可删除也不可修改; TextFiled—文本框,功能:用于显示或者接受用户键盘输入的单行文本信息,不能显示多行,这行信息可以修改。 2.什么是Frame、Panel?它们有什么区别?它们的默认布局是哪种布局?P101-104 (1)Frame是Window的子类,一个Frame对象就是一个有标题有边界的顶层窗口。 Panel是最简单的容器类,是Container的子类。 (2)区别:Panel是一般容器,可以自身嵌套(比如在panel1里嵌入panel2);但Frame 已经是顶层容器了,自身不能嵌套。 (3)Frame默认BorderLayout布局;Panel默认FlowLayout布局。 3.什么是事件、事件源、事件处理方法、事件监听器?举出两个事件的类名。P114-116 (1)事件:当用户在界面上执行一个操作,例如按下键盘、拖动或者单击鼠标时,都将产生一个事件。事件是用来描述所发生事情的对象,对应用户操作的不同种类有不同类型的事件类与之对应。 事件源:event source 是指一个事件的产生者。 事件监听器:就是调用事件处理方法的对象。 (2)两个事件的类名:WindowEvent窗口事件;ActionEvent活动事件。 4.写出绘制直线、矩形、椭圆的函数,并解释各自的形参的意义。P182-183 直线:DrawLine(int x1,int y1,int x2,int y2) 其中参数(x1,y1)和(x2,y2)是直线的起止坐标; 矩形:drawReat(intx,inty,intwidth,int height) 其中参数(x,y)是起点位置,width是宽,height是高。 椭圆:drawOval(intx,inty,intwidth,int height) 其中参数(x,y)是起点,width和height分别是内切圆的宽度和高度。 5.什么是Applet?写出它的4个主要方法,并说明它们的执行顺序。P195 (1)Applet是网页上的小程序. (2)init(){…} //初始化方法 start(){…} //开始方法 stop(){…} //停止方法 destroy(){…} //摧毁方法 (3)程序执行是从init()方法开始,init()初始化—> start()启动→stop()终止→destroy()消亡,结束 6.什么是异常?什么是致命错误?写出异常处理语句的结构。P202/205 (1)Java把程序运算中可能遇到的错误分为两类:一类是非致命的错误,可以通过修正后还可以继续运行,这种错误称为异常;另外一类则是致命错误,即系统遇到了十分严重的错误,不能简单的恢复,这就是致命错误,需要操作系统才能处理。 (2)异常处理的程序的一般结构是: try{…} catch(异常类型e){…} catch(异常类型e){…}

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简答题复习题 简答题: 1、java语言有哪些特点? 简单性、面向对象、分布式、解释型、健壮、安全、与体系结构无关、可移植、高性能、多线程和动态执行。 2、java平台分为几类,它们的适用范围是什么? J2EE 为企业计算提供一个应用服务器运行和开发平台。 J2SE 为台式机和工作站提供一个开发和运行平台。 J2ME 为消费电子产品提供一个运行平台,使得java程序能在手机、机顶盒和PDA产品 上运行。 3、哪些数据类型可以充当swith语句的条件? 表达式的返回值类型必须是:byte short int char ,是基本数据类型而不是包装类。 4、Java编程规范? (1)有多个import语句时,先写java包,后写javax,最后写其他公司和自己定义的包。 (2)命名规则: 包名中的字母小写。 类名、接口名中每个单词首字母大写。

方法名、变量名第一个单词首字母小写,后面单词首字母大写。 常量中每个字母大写。 (3)适当保持缩进,便于阅读。 (4)有一定的注释量(20%--50%)。 5、构造方法和抽象? 构造方法: 具有与类相同的名称; 不含返回值; 不能在方法中用return 语句返回一个值; 当自定义了构造方法后,编译器将不再自动创建不带参数的构造方法。 抽象: 从被研究对象中舍弃个别的、非本质的或者与研究主旨无关的次要特征;抽取与研究有关的共性内容进行考察,形成对研究问题正确的、简明扼要的认识。 6、对象位于内存何处?声明能够引用对象的实质是什么? (1)对象位于堆内存中。 (2)声明能够引用对象的实质:在栈中保留了对象的地址。 7、基本数据类型和对象作为参数传递的不同? (1)基本数据类型作为参数在方法中传递的是值传递。 (2)对象是引用传递,当对象作为参数传递时,传递的是对象的地址。

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为 ()(A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

Java试题及答案

一、单项选择填空(每小题2分,共50分) 1.下列不属于main方法的修饰词的是() A.public B.void C.static D.final 2.Java源程序经过编译后的文件类型是() A.字节码文件 B.可执行文件C.目标文件D.中间文件 3.下列关于运算符的结合性说法正确的是() A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++ 的前缀和后缀不一样 B.单目运算符是左结合C.关系运算符是左结合 D.赋值运算符是左结合 4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?() A.继承性B.抽象性C.封装性D.多态性 5.下面哪个是合法的布尔值() A.”false”B.false C.0 D.f 6.下面哪个是Java语言中的关键字?() A.sizeof B.abstract C.InstanceOf D.Native 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?() A.do-while循环B.for循环C.while循环D.以上都不是 8.以下哪个选项用以确定字符串的长度?() A.size B.length C.max_value D.length() 9.下面的语句哪个是正确的?() A.char=?abc?; B.long l=0xfff; C.float f=0.23 需加上f; D.double=0.7e-3; 10.下列哪个类的声明是错误的?() A.final abstract class A B.final class A C.protected class A D.public class A 11.下面程序段的执行结果是什么?() public class Foo{ public static void main(String[] args){ try{ return;} finally{System.out.println(“Finally!”);} }} A.程序正常运行,但不输出任何结果B.程序正常运行,并输出 Finally C.编译能通过,但运行时会出现例外D.因为没有catch语句块,所 以不能通过编译 12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为() A.1 B.2 C.0 D.-3 13.Java语言中,下列常量中是字符型常量的为() A.?\0xFFFF?B.?\u?C.?\\?转义字符D.”ABC” 14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____ 个比特位。()若是字节就是2个

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

java简答题答案

第一章: 1.面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2.JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java 程序,那么,你的计算机上必须且只需安装JRE。 JDK(JavaDevelopment Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 3.path:path环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。 classpath:classpath环境变量也是系统环境变量中的一种,它用于保存一系列类(.class)文件的路径。当Java虚拟机需要运行一个类时,会先在classpath环境变量中所定义的路径下去寻找所需的class文件。如果classpath的路径最后有分号,则在classpath中找不到时,再到当前路径查找;如果最后无分号,则只在classpath设置的路径中查找。 4.JVM是JavaVirtual Machine的缩写,全称是Java虚拟机。Java语言的一个非常重要的特性就是跨平台性,而Java虚拟机是实现这一特性的关键。不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。Java 语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。 第二章: 1.Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double双精度浮点型,占8个字节。char字符型,占两个字节。boolean 型,表示逻辑值,有true和false两个值,分别占一个字节。 2.如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边都会参与计算。如果使用“&&”进行连接,当“&&”左边的表达式为false时,就不会执行其右边的表达式。例如:定义int x = 2,y=0;执行输出表达式 boolean b = x0;的值时,会发生被0除的异常,因为“&”右边的表达式x/y>0的表达式执行了;而boolean b = x0;是不会出现这种异常的,因为“&&”左边的表达式x0就不会被执行。 3.方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM 会根据实际参数的不同绑定到不同的方法。 4.char型变量是用来存储Unicode编码的字符的,Unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在Unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:Unicode编码占用两个字节,所以char类型的变量也是占用两个字节。 5.break语句:在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case 并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。 continue语句:continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。 return语句:return语句可以用于从当前的方法中退出,返回到该调用的方法的语句处,继续执行。return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。 第三章: 1.构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。 2.单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象。 3.Java语言中一个显著的特点就是引入了垃圾回收机制,使得Java程序员在编写程序的时候不再需要考虑内存管理。垃圾回收可以有效的防止内存泄露,有效地利用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。 4.在Java中共有四种代码块,它们分别是静态代码块、构造代码块、普通代码块和同步代码块。 静态代码块:在Java类中,使用一对大括号包围起来的若干行代码被称为一个代码块,用static关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块会执行,由于类只加载一次,因此静态代码块只执行一次。在程序中,通常会使用静态代码块来对类的成员变量进行初始化。 构造代码块:直接在类中定义的没有加static关键字的代码块称为构造代码块。构造代码块在每次创建对象时都会执行。 普通代码块:在方法或语句中出现的代码块就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定,即“先出现先执行”。 同步代码块:Java对于多线程的安全问题提供了专业的解决方式,就是同步代码块。 synchronized(对象)//这个对象可以为任意对象 { 需要被同步的代码 } 对象如同锁,持有锁的线程可以在同步中执行,没持有锁的线程即使获取CPU的执行权,也进不去。 第四章: 1.在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写(覆盖)父类的方法。 2.多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。 3.在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。 接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。 4.方法重写(Overriding)和方法重载(Overloading)是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

Java简答题

1.简述Java语言中包(Package)的概念、意义和基本用法(package和import关键 字) 包是Java中区别类的名字的空间机制,是类的组织方式,是一组相关类和接口的集合,包提供了访问权限和命名管理机制。 (1)为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,Java 引入了包(package)。提供了类的多重命名空间。 package语句必须是文件中的第一条语句。也就是说,在package语句之前,除了空白和注释之外不能有任何语句。 例如:package 如果不加package语句,则指定为缺省包或无名包。 包对应着文件系统的目录层次结构。 例如:.\com\bjsxt\java140; 在package语句中,用“.”来指明包(目录)的层次。 Class文件最上层包的父目录必须位于classpath下 比如:d:\java\testpackage 运行( class )也要写全包名 比如: java 引入包中的(某个)类。 import 引入整个包(包中所有类)。 import .*; 在同一包中的类可以互相引用,无需import语句。 中的包是自动加载的,无需import语句。

2.Java中的注释分为几种,请简述 三种类型: 1、单选注释:符号是: super与this的比较 比较super this 使用范围是由子类访问父类中 的内容是直接访问本类中的内容 访问属性时的格式super.父类属性, 如 果属性没有被复写, 则也可以不写super this.本类属性 访问方法时的格式super.父类方法(), 如果父类方法没有被 复写,则可以不写 super也表示调用父 类中的方法this.本类方法(),可以不写this,也表示调用本类的方法 访问构造函数时的格式super()是访问父类 中的构造方法,必须 放在首行 this()是访问本类中 的其他构造方法(注 意留入口!),必须放 在首行

Java考试题 答案解析

选择题(每题3分,共45分) 1、下列程序编译或运行的结果是。() D public static void main(String args[]){ int a = 10; int b,c; if(a>50){ b=9; } c = b + a; System.out.println(c); } A.10 B. 19 C. 9 D. 编译错误 2、下列语句片段中,four的值为 ( ) D int three = 3; char one = ‘1’; char four = (char)(three+one); A. 3 B. 1 C. 31 D. 4 3、下列代码的运行结果是 ( ) D public static void main(String[] args){ int a = 7; System.out.println(a%3); } A.2.0 B.2 C.1.0 D.1 4、以下程序的输出结果为( )。 D public static void main(String[] args) { int x = 1, y = 1, z =1; if(x--==1&&y--==1||z--==1) System.out.println(“x=” +x+”, y=” +y+”, z=” +z); } A. x=0, y=1, z=1 B. x=0, y=2, z=2 C. x=0, y=2, z=1 D. x=0, y=0, z=1 5、下列代码段编译和运行的结果是(). C public static void main(String args[]){ String str = “null”; if(str==null){

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)。

2010年秋季Java考试简答题总结

第一章 1.发明java的原因是什么,发明java的主要贡献者是谁? 答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。主要贡献者是James Gosling。 2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗? 答:不正确,字节码是很接近机器码的二进制文件,不能被机器直接识别。 3. java应用程序的主类必须含有怎么样的方法? 4. "java应用程序必须有一个类是public类".这句话正确吗? 答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。 5. "java applet程序的主类必须是public类",这句话正确吗?不正确 "java applet源文件的主类必须是public类",这句话正确吗?正确 6. 叙述java源文件的命名法则。 答:(1)如果源文件中有多个类,那么只能有一个类是public类。(2)如果有一个类是public 类,那么源文件的名字必须和这个类的名字完全相同,扩展名为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。(4)java语言区分大小写。 7. 源文件生成的的字节码运行时加载到内存中吗? 8. 怎样编写加载运行java applet的简单网页? 9. JDK1.6编译器使用"-source"参数的作用是什么,其默认的参数取值是什么? 答:在编译源文件时使用"-source"参数来约定字节码适合的java平台。1.6 第二章 1. 什么叫标识符,标识符的规则是什么? 答:用类标识类名、变量名、方法名、数组名、类型名、文件名的有效字符序列称为标识符。规则:标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,标识符中的字母是区分大小写的。 2. 什么叫关键字,说出五个关键字? 答:关键字就是java语言中已经被赋予特定意义的一些单词,他们在程序中有着不用的用途,不可以作为程序中的名字来用,class、void、abstract、break、catch、do、byte、find、for、else、int、boolean、case、new 3. java的基本数据类型是什么? 答:java语言有8中基本数据类型,分别是:boolean、byte、short、int、doublelong、float 和char。习惯上可分为四类:逻辑类型--boolean。字符型--char。 整数类型--int、short、byte、long。浮点型--float、double。 第四章 1. 在声明类时,类名应遵守哪些习惯? 答:类的名字不能是关键字,要符合标识符的规定,即名字可以有字母,下划线,数字或美元符号组成,并且第一个字符不能是数字。如果类名使用拉丁字母,那么名字的首字母使用大写字母。类名最好容易识别,见名之意。当类名有几个单词复合而成时,每个单词的首字母使用大写。

java期末考试试题

山东师范大学成人高等教育期末考试试题 (时间:110分钟共100分) 年级:2014级专业:计算机科学与技术(高起本)考试科目:《Java技术》 试题类别: A (A/B/C) 考试形式__闭卷_(开、闭卷) 一、单项选择题(每小题1.5分,共30分) 1. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同, 传回的值也可以不相同。这种面向对象程序的特性称为()。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 2. 以下关于构造函数的描述错误的是()。 A、构造函数的返回类型只能是void型。 B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 3. 下列哪些语句关于Java内存回收的说明是正确的? () A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 4. 若需要定义一个类域或类方法,应使用哪种修饰符?() A、static B、package C、private D、public 5. 有以下方法的定义,请选择该方法的返回类型()。 ReturnType method(byte x, double y){ return (short)x/y*2;} A、byte B、short C、int D、double 6. 编译运行以下程序后,关于输出结果的说明正确的是() public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.print ln(“value is “+ ((x>4) ? 99.9:9));} } A.输出结果为:value is 99.9 B.输出结果为:value is 9 C.输出结果为:value is 9.0 D.编译错误 7. 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的() A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空 8. 关于以下程序段,正确的说法是() 1 ) String s1=“a”+“b”; 2 ) String s2=new String(s1); 3 ) if(s1= =s2) 4 ) System.out.println(“= = is succeeded”); 5 ) if (s1.equals(s2)) 6 ) System.out.println(“.equals() is succeeded”); A.行4与行6都将执行B.行4执行,行6不执行 C.行6执行,行4不执行C.行4、行6都不执行 9. 以下程序的运行结果是:() public class Increment{ public static void main(String args[]){ int c; c = 2; System.out.println(c); System.out.println(c++); System.out.println(c) ;} } A.2 2 2 B.2 3 3 C.2 2 3 D.3 4 4 10. 下列哪一个关键字用于实现接口来定义类?() A、extends B、implements C、abstract D、interface 11. 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的值为( )类型。 A、int B、long C、double D、char 12. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?() A、ArrayList myList=new Object(); B、List myList=new ArrayList(); C、ArrayList myList=new List(); D、List myList=new List(); 13. 指出正确的表达式() A、byte=128; B、Boolean=null; C、long l=0xfffL; D、double=0.9239d; 14. 指出下列程序运行的结果() public class Example{ String str=new String("good"); char[] ch = {'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } }//Example结束 A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 15. 运行下列程序, 会产生什么结果() public class X extends Thread implements Runnable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]) { Thread t=new Thread(new X()); t.start(); } } //X结束 A、第一行会产生编译错误 B、第六行会产生编译错误 C、第六行会产生运行错误 D、程序会运行和启动 16. File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A、创建C:\test.dat。 B、删除C:\test.dat。 C、打开C:\test.dat文件输出流。 D、移动C:\test.dat 17. 阅读Shape和Circle两个类的定义。在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?( ) 第1页共四页第2页共四页

相关文档