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

Java简答题

Java简答题
Java简答题

1. 简述 Java 语言中包(Package)的概念、意义和基本用法(package 和 import 关键 字) 包是 Java 中 区别类的名字的空间机制,是类的组织方式,是一组相关类和接口的 集合,包提供了访问权限和命名管理机制。 (1)为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,Java 引 入了包(package) 。提供了类的多重命名空间。 ? package 语句必须是文件中的第一条语句。也就是说,在 package 语句之前,除了空 白和注释之外不能有任何语句。 例如:package com.bjsxt.java140; ? 如果不加 package 语句,则指定为缺省包或无名包。 ? 包对应着文件系统的目录层次结构。 例如:.\com\bjsxt\java140; ? 在 package 语句中,用“.”来指明包(目录)的层次。 ? Class 文件最上层包的父目录必须位于 classpath 下 比如:d:\java\testpackage ? 运行( class )也要写全包名 比如: java com.bjsxt.java139.Dog ? 引入包中的(某个)类。 import java.io.File; ? 引入整个包(包中所有类) 。 import java.io.*; ? 在同一包中的类可以互相引用,无需 import 语句。 ? https://www.wendangku.net/doc/859356133.html,ng 中的包是自动加载的,无需 import 语句。
2. Java 中的注释分为几种,请简述 三种类型: 1、单选注释:符号是:// 2、块注释: 符号是: /* 会被生成标准的 javaapi 注释 */ 可以跨多行 3、javadoc 注释: 符号是: /** */ 可以跨多行, 生成 javadoc 时,这样的注释
3. 简述异常的概念、意义和分类以及 Java 程序中异常处理的基本过程 概念:Java 异常,是 Java 处理程序运行时出现错误的一种机制,所谓错误,就是程序 在运行时出现的错误,如除 0 溢出,数组下标越界,访问不到文件 意义: 在异常发生时提供处理这些错误的方法, 使得程序不会因为异常的发生而中断运

行或产生不可预见的结果。 (通过捕获和处理异常, 避免程序在执行时, 因异常而终止运行或出现不可想象的结果) Error:JVM 错误,程序不可处理 Exception:必须捕获,否则编译会报错 过程:捕获,处理异常 Try{}catch(){}finally{}
4. 简述 Java 中数据类型的分类(引用类型和基本类型),并列出其各自包括的数据类型 基本类型:byte, short, char, int , float , double , long , Boolean ,在栈上 引用类型:数组类型,类类型, 接口类型等,在堆上
5. 同: (1) (2) 异: (1)
简述方法覆盖(override)与重载(overload)的异同 都是方法名相同 都能用于抽象与非抽象之间
覆盖要求参数签名,返回类型都要求一样,重载要求参数名不一样,返回类型不要 求一样 (2) 覆盖只能子类覆盖父类的方法,重载是在同一个类里 (3) 父类的一个方法只能被覆盖一次,而一个方法则可多次重载 (4) 覆盖对方法的访问权限和抛出异常有限制,而重载则没有
6. 简述接口、抽象类与具体类的异同
7. 面向对象程序设计语言的三种典型特征是什么?并简要说明 封装:通过合并特征和行为来创建新的数据类型,用户使用对象时,无需知道内部细节 继承:新的对象类继承原有对象类的某些特性或全部特性 多态:同一种行为(方法)在不同对象上有不同动作 封装性( “数据隐藏”+“抽象数据类型”) -- capsulation 是指对象的使用者通过预先定义的接口关联到某一对象的服务和数据时, 无需知道这 些服务是如何实现的。即用户使用对象时无需知道对象内部的运行细节。这样,以前所开发 的系统中已使用的对象能够在新系统中重新采用, 减少了新系统中分析、 设计和编程的工作 量。 继承性-- Inheritance 新的对象类由继承原有对象类的某些特性或全部特性而产生出来, 原有对象类称为基 类(或超类、父类) ,新的对象类称为派生类(或子类) ,派生类可以直接继承基类的共性,

又允许派生类发展自己的个性。继承性简化了对新的对象类的设计。 多态性-- Polymorphism 是指不同类型的对象可以对相同的激励做出适当的不同相应的能力。多态性丰富了对 象的内容,扩大了对象的适应性,改变了对象单一继承的关系。 8. 简述 Java 中的访问控制(public、private、protected 和 default) 同一个类中 同一个包中 派生类中 其他包中
访问控制修饰符
public




protected



无访问控制修饰符


private

9. 简述 Java 中关键字 this、super 的用途及相关特性。 ? 可以使用 super 访问父类被子类隐藏的变量或覆盖的方法。 ? 2. super 与 this 的比较
比较 super this
使用范围
是由子类访问父类中 的内容
是直接访问本类中的 内容
访问属性时的格式
super.父类属性, 如 果属性没有被复写, 则也可以不写 super
this.本类属性
访问方法时的格式
super.父类方法(), 如果父类方法没有被 复写,则可以不写 super 也表示调用父
this.本类方法(),可 以不写 this,也表示 调用本类的方法

类中的方法
访问构造函数时的格 式
super()是访问父类 中的构造方法,必须 放在首行
this()是访问本类中 的其他构造方法(注 意留入口!),必须放 在首行
特殊点

this 表示当前对象, 当前操作方法的对象 就为当前对象
?
10. 简述 Java 中的 Collection 接口和 Map 接口, 并例举出 JDK 中四种以上实现了二者 的具体类。 ? Collection 接口定义了存取一组对象的方法,其子接口 Set 和 List 分别定义了存储方 式。 ? Set 中的数据对象没有顺序且不可以重复。 ? List 中的数据对象有顺序且可以重复 ? Map 接口定义了存储 “键(key)-值(value)映射对”的方法。 Collection 的其中两个子类:Set(HashSet)和 List(LinkedList Map(HashMap) ArrayList)
11. Java 语言中与多态紧密相关的概念有哪些 ?简述多态的概念和主要特性、优点
12. 简述 Java I/O 流的几种分类方式,并写出相应的常用 I/O 流 (1) 按数据流的方向 输入流:InputStream 输出流:OutputStream (2) 按处理数据单位不同: 字节流: FileInputStream 字符流:StringReader (3) 按功能不同: 节点流:FileInputStream 处理流:FilterInputStream 13. 简述“成员变量-字段”和“局部变量” 、 “方法参数”的区别(定义位置、作用域

和初始化) (1) 成员变量: 定义在类里(在类里函数之外) ,可作用在整个类,有默认初始化值,实例化对象后储 存在堆中 (2)局部变量: (在方法体里创建,在方法体外访问不到这个变量。 ) 定义在局部范围 (如: 函数或语句块里) , 只能作用在局部范围, 没有默认初始化值, 一定要初始化,在方法被调用时,存在栈中,方法退出后,它也消失 (3)方法参数 类似于局部变量
14. 简述编写并执行一个 Java 程序的步骤(不使用集成环境) ,以“HelloWorld.java”为 例(不必写出代码) 。 (javac 和 java 命令的功能要做简要解释) (1) 打开 cmd 通过 cd 命令打开至 HelloWorld.java 所在的文件下 (2) 通过 javac HelloWorld.java 命令来编译生成对应 classs 文件 (3) 通过 java HelloWorld 命令来执行程序(这步区分大小写)
15. 简述静态成员和非静态成员的特点和关系 (1) 静态成员:

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

Java基础试题 一:选择题(1*30=30)(题目写在答题纸上面) 1:Java 提供哪几种运算符多选( abcd )。 A)算术运算符B)位运算符 C)关系运算符D)逻辑运算符E)条件运算符 2:https://www.wendangku.net/doc/859356133.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期末考试知识点总结

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

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

java ee 期末试题 (1)要点

1、下列哪一项不是Java EE的常用技术(D) A、JSP B、Hibernate C、Spring D、JNDB 2、servlet与一般Java类的相同点是什么?(D) A、 B、Servlet是运行在Web服务器的一个Web组件 C、Servlet通常是通过HTTP协议回复Web客户端的请求 D、Servlet是运行在Web容器的Java类 3、以下哪一个是市场上流行的Java EE服务器(A) A、Apache B、tomcat C、glassfish D、netbeans 4、EJB的作用是(C) A、Servlet组件和JSP组件 B、用于丰富客户端图形界面显示 C、通过RMI/IIOP协议与EJB容器通信远处电泳EJB的功能方法,进而完成业务处理。 D、GUI交互界面的开发,负责与系统用户的交互 5、分析以下程序: public class x{ public static void main(String[]args){ String ol=new String("ABV"); String o2=new String("ABV"); if(o1.equals(o2)){ System.out.println("Equal"); } }该程序的执行结果是( B )。 A. 程序执行后无输出 B. 程序执行后输出“Equal” C. 程序在第5行出现编译错误 D. 程序执行后出现异常 6、执行完下面的程序片段后,下面哪些结论是正确的?(B) int a,b,c; a=1; b=2; c=(a+b>3?a++:++b); A. a的值是2,b的值是3 B. a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false 6、Struts框架的控制器主要由(C )负责。 A. EJB

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考试题型与要点

考试题型 一、选择题(20分,每题2分)10题 二、简答题(15分,每题5分)3题 三、程序填空(共45分,每空3分)3大题 四、编程题(20分)1大题 各章复习要点 第2 章Java基本语法 1、标识符 标识符的作用是用于标识程序中的各个元素。由字母、下划线(_)、美元符($)、数字(0~9)组成,数字不能开头。 2、关键字P20(浏览一下,留意学过的关键字) 3、数据类型 基本数据类型P20 图2-1 、P21 表2-1 各类型需要掌握的要点:类型名称、关键字,占用位数、取值范围(整数类型的取值范围取决 于占用位数,如:占用位数为n,则表示的范围是:-2n~2n-1) 4、运算符与表达式 自增、自减符号在变量的前后位置不同,表达式的结果是不一样的。 例如int a=1,b=2; System.out.print(a++>--b); 结果为false ++在a 变量后面,那表达式a++的值是取a 的值作为表达式的值,值为1。

--在b 变量之前,那表达式--b 的值是多少?先让b 自减1,而后在取b 的值作为表达式的值,即为1。最后a 自增1。 条件运算符?:例如:int x=-1,y; y=x>=0?x:-x; y 的值是? y 值为1 5、利用Scanner类输入 (1) 导入util 包。例如:import java.util.*; (2) 创建Scanner类对象引用。例如:Scanner s=new Scanner(System.in); (3) 获得键盘输入的数据,可以调用nextXXX()方法。获得整型数据,使用nextInt();获得双精度浮点数据,使用nextDouble();获得一字符串,使用nextLine()。例如int a=s.nextInt(); P29 例2-3 6、程序流程控制 顺序结构、选择结构(if(), ; if(), else, ; switch() case n,: ; [default: , ;])、循环结构(while(){ , }; do{, }while(); for(;;) , ) P49 例2-20、P60 例2-29 7、数组 一维数组的声明与创建 声明:类型数组名[ ] ;或类型[ ] 数组名; 创建:数组名=new 类型[数组长度]; 也可以声明与创建合并:类型数组名[ ]=new 类型[数组长度]; 注意等号左边的中括号中不要写出数组长度

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考试要点

1、什么是平台无关性?Java怎样实现平台无关性? 答:平台无关性是指一个应用程序能够运行于不同的操作系统平台。Java采用虚拟机技术支持平台无关性,不同操作系统需要相应的不同的Java虚拟机,由Java虚拟机执行Java源程序(*.java)编译生成的字节码文件(*.class),而不是由操作系统直接执行通常高级语言生成的可执行文件(*.exe)。 2、面向对象技术的三个核心特性是什么? 答:①类的封装性;②类的继承性;③类的多态性; 3、什么是封装?为什么要将类封装起来?封装的原则是什么? 答:封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”。为了增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。原则: 1、把尽可能多的东西藏起来.对外提供简捷的接口。 2、把所有的属性藏起来。 4、什么是多态性?什么是方法的重载?方法的重载和覆盖有什么区别? 答:多态是指一个方法可以有多种实现版本。方法重载:同一个类中的多个方法可以同名但参数列表必须不同。重载与覆盖的区别:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。3、覆盖要求参数列表相同;重载要求参数列表不同。4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。 5、什么是接口?接口和抽象类有哪些相同之处和不同之处? 答:接口是一组常量和抽象方法的集合;相同点:1.两者都包含抽象方法,约定多个类共用方法的参数列表和返回值。2.两者都不能被实例化。3.两者都是引用数据类型,其变量可被赋值为子类或实现接口类的对象。不同点:1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。3.抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有public和缺省两种,接口中成员的访问权限均是public。4.抽象类中可以包含非抽象方法,也可以生命构造方法;接口中的方法全部是抽象方法,不能声明构造方法。5.抽象类中可以声明成员变量,子类可以对该变量赋值;接口中只能声明常量。 6、什么是单重继承?什么是多重继承?类的层次体系为什么需要多重继承?单重继承有什么缺点?既然 有缺点,为什么java仍然采用单重继承?java怎样实现多重继承? 答:单重继承是指子类只能继承一个父类的属性和操作 多重继承是指子类可以继承了多个父类的属性和操作。因为单继承使得java结构简单,层次清楚,易于管理,更安全可靠,避免了c++中因多重继承而引起的难以预测的冲突。Java通过接口实现多重继承。 7、在什么情况下需要申明内部类?内部类有哪些特性? 答:当结构作为数组的元素类型时,或当一个类中需要使用结构时,可以将结构声明为内部类。 特征:内部类不能与外部类同名;内部类具有封装性;内部类具有继承性;内部类具有抽象性;使用点运算符“.”引用内部类;内部类具有类成员的4种访问权限;内部类具有静态特征。

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()是访问本类中 的其他构造方法(注 意留入口!),必须放 在首行

相关文档