java各章节简答题

合集下载

Java程序设计实例与操作答案

Java程序设计实例与操作答案

Java程序设计实例与操作答案第⼀章认识Java⼀.选择题1.D2.B3.D4.D⼆.简答题1.Java语⾔有三个技术分⽀,并且产⽣了三个版本的Java运⾏平台,分别是J2SE 标准版,主要⽤于开发桌⾯应⽤程序、低端服务器应⽤程序和Java Applet程序;J2EE 企业版,主要⽤于开发分布式⽹络程序,如电⼦商务⽹站和ERP系统等;J2ME 精简版,主要⽤于嵌⼊式系统开发,如移动电话、掌上电脑(PDA)以及其他⽆线设备。

2.Java应⽤程序和Java Applet程序。

Java应⽤程序要依赖JRE或JDK中的解释器来运⾏,⽽Java Applet程序的调⽤命令嵌⼊在⽹页的HTML代码⽂件中,显⽰⽹页时由Web 浏览器内置的Java解释器解释执⾏,并将其内容显⽰⽹页中。

3.Java虚拟机JVM是Java V irtual Machine的缩写。

JVM是⼀个虚构出来的计算机,它有⾃⼰完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

Java字节码⽂件包括的代码就是基于JVM的。

4.Java语⾔主要有简单、⾯向对象、分布式、健壮、安全、跨平台、解释执⾏、多线程和动态执⾏的特点。

5.开发Java应⽤程序时,⾸先使⽤任何⽂本编辑器创建和编辑Java源程序,保存源程序⽂件时,⽂件的扩展名为“*.java”。

然后使⽤“javac 程序名.java”命令把源程序编译为字节码⽂件,最后使⽤“java 程序名”将字节码⽂件翻译为计算机可以理解的指令并运⾏。

开发Java⼩程序时,⾸先使⽤任意纯⽂本编辑器编写Java源程序和HTML⽂件,并分别以扩展名“.java”和“.html”保存。

其中,HTML⽂件中应包含调⽤Java字节码⽂件的指令。

HTML⽂件可以使⽤IE浏览器浏览,也可以使⽤JDK提供的Appletviewer⼯具浏览。

三.编程题1.解答//Test.javaclass Person {String name;String address;String telephone;Person(String name1, String address1, String telephone1) {name = name1; address = address1; telephone = telephone1;}String getName() {return name; }String getAddress() {return address; }String getTelephone() {return telephone; }}public class Test {public static void main(String[] args) {Person lily = new Person("lily", "⾦企鹅18号", "158********");System.out.println("姓名:" + lily.getName());System.out.println("地址:" + lily.getAddress());System.out.println("电话号码:" + lily.getTelephone());}}2.解答⽂件TestApplet.java与TestApplet.html都放在d盘根⽬录下。

JAVA简答题

JAVA简答题

第一部分 Java的类1、请解释Java语言的跨平台特性。

2、请列举JAVA语言的主要特点3.请说明一个JAVA类中主要包含哪几个元素?并说明每种元素的作用。

4、请说明构造方法的作用和特征5、什么事方法重载(overload)?6、请列举Java语言中的权限访问修饰符,并说明每种权限的含义。

7、请列举Java语言中的八种基本数据类型,并说明每种数据类型的含义及长度。

8.什么叫引用类型,引用类型和基本数据类型有什么区别?9.对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?10.String类是一个“不可变类”,请解释“不可变类”的含义。

11.String类和StringBuffer类有什么区别?12.StringBuffer和StringBuilder类有什么区别?13.包装器类型包括哪些类,有什么作用?14. 请说明Java语言中的值传递规则。

15.使用static修饰属性或方法后,属性和方法有什么特征?16.使用final修饰属性后,属性有什么特征?17.请说明操作符==的作用。

18请说明&&与&的区别和联系19. break语句能在什么场景使用。

20.for循环中的break语句和continue语句的使用。

21 请说明一个JAVA类中主要包含哪几个元素并说明每种元素的作用。

第二部分类之间的关系1、用代码表示A类关联B类的情况。

2、请说明Java语言中数组的基本概念,数组的作用,以及数组的声明创建方式。

3、使用代码,创建一个长度为5的String型数组,并使用增强for循环迭代数组打印出数组中的元素。

4、说明Arrays类的作用。

5、请使用简单代码展示A类依赖B类的含义。

6、请说明依赖关系和关联关系的区别。

7、继承有什么作用,Java语言中的继承有什么特点?8、什么是方法覆盖(override)?并说明方法覆盖与方法重载(overioad)的区别。

java考试题及答案

java考试题及答案

java考试题及答案1. 简答题1.1 什么是Java?Java是一种跨平台的面向对象编程语言,由Sun Microsystems(现在是Oracle)于1995年发布。

它提供了一个可移植且高性能的运行环境,使开发人员能够在不同的操作系统上编写一次程序,然后运行在不同的平台上。

1.2 Java程序的运行原理是什么?Java程序是通过Java虚拟机(JVM)来运行的。

JVM执行Java字节码,并将其转换为可以在特定硬件上执行的机器码。

1.3 Java的特点有哪些?- 简单性:Java的语法相对简单易懂,易于学习和使用。

- 面向对象:Java是一种纯粹的面向对象编程语言,所有的代码都是以对象的形式存在。

- 跨平台性:Java的程序可以在不同的操作系统上运行,只需在目标平台上安装对应的JVM即可。

- 安全性:Java提供了安全机制,防止程序对计算机系统造成危害。

- 丰富的API库:Java提供了大量的开发工具和类库,使得开发人员能够快速构建各种应用程序。

2. 选择题2.1 下面哪个选项不是Java的基本数据类型?A. intB. floatC. booleanD. String答案:D. String2.2 下面哪个关键字用于定义一个类?A. classB. publicC. voidD. static答案:A. class2.3 下面哪个选项可以用于创建一个数组?A. classB. newC. publicD. void答案:B. new3. 编程题3.1 编写一个Java程序,计算并输出1到100之间所有偶数的和。

```javapublic class EvenSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum); }}```4. 解答题4.1 简要解释Java的继承机制。

java程序设计使用教程(第2版)答案

java程序设计使用教程(第2版)答案

第一章习题答案一、简答题1.Java语言有哪些特点?主要用于能够哪些方面的软件开发?特点:(1)面向对象,(2)平台无关性,(3)分布式,(4)可靠性和安全性,(5)多线程,(6)简单性,(7)健壮性,(8)高性能,(9)灵活性。

适用范围:(1)所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。

(2)计算过程的可视化、可操作化的软件的开发。

(3)动态画面的设计,包括图形图象的调用。

(4)交互操作的设计。

(5)Internet 的系统管理功能模块的设计,包括 Web 页面的动态设计、管理和交互操作设计等。

(6)Intranet上的软件开发(直接面向企业内部用户的软件)。

(7)与各类数据库连接查询的 SQL 语句实现。

(8)网络通信与移动通信,网络集成方面。

2.Java程序分为哪两类?各有什么特点?如何区分它们?Java语言程序分为两类:应用程序Application和小程序Applet,它们是利用Java语言生成的可运行代码中最常用的两种,两者都必须在Java虚拟机上运行。

Application更象我们平常用VB,VC等编写的桌面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。

Applet则需要嵌入Web页面中,在支持Java虚拟机的浏览器上运行。

区分办法:应用程序Application中一定包括一个主方法main,而小程序Applet没有这个方法。

3.简述Java程序的运行过程。

一个Java源的运行需要经过三个步骤:(1)编辑源程序,产生.Java的源程序文件(2)运用Java虚拟机JVM将源文件编译为.class的字节码文件(3)根据程序的不同类型运行程序。

对于应用程序直接调用运行命令执行字节码文件,而对于小程序Applet,需要先将字节码文件嵌入HTML文件,然后用浏览器软件打开HTML文件。

4.什么是Java虚拟机?简述其工作机制。

Java虚拟机(Java Virtual Machine—JVM)是一种利用软件方法实现硬件功能的抽象化的计算机,它基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。

JavaEE简答题

JavaEE简答题

JavaEE简答题JavaEE简答题修改版(30分,6题*5分)(⼀)第⼀章概述1.三层体系结构的优点有哪些?P2①安全性⾼;②易维护;③快速响应;④系统扩展灵活。

2.两层体系结构的缺点有哪些?p2-3①安全性低;②部署困难;③耗费系统资源。

3.简述Java EE的“组件-容器”编程思想。

(P5,有两点,与填空题第1题互斥)①JavaEE应⽤的基本单元是JavaEE组件,所有的javaEE组件都运⾏在特定的环境中。

②组件的运⾏环境被称为容器。

4.Java EE体系结构的优点?p11,4点①独⽴于硬件配置和操作系统;②坚持⾯向对象的设计原则;③灵活性、可移植性和互操作性;④轻松的企业信息系统集成。

(⼆)第三章Servlet5.Servlet的基本⼯作流程?p21:6点①客户端将请求发送到服务器;②服务器上的Web容器实例化Servlet,并为Servlet创建线程;③Web容器将请求信息发送到Servlet;④Servlet创建⼀个响应,并将其返回到Web容器;⑤Web容器将响应返回客户端;⑥服务器关闭或Servlet空闲时间超过⼀定限度时,调⽤dertory()⽅法退出。

6.在创建Web应⽤程序时,通过Servlet上下⽂可以实现哪些功能?p61,4点①访问Web应⽤程序资源;②在Servlet上下⽂属性中保存Web应⽤程序信息;③获取应⽤初始化参数信息;④提供⽇志⽀持。

7.HttpServletResponse的sendRedirect⽅法与RequestDispatcher的forward⽅法有什么区别?p68:3点①从操作本质上,RequestDispatcher.forward()是容器控制权的转向,在客户端浏览器的地址栏中不会显⽰出转向后的地址,⽽sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求连接。

②从性能上,前者仍是在同⼀次请求处理过程中,后者是结束第⼀次请求,由浏览器发起⼀次新的请求。

java课后答案(整理)

java课后答案(整理)

2-2.Java语言的基本数据类型有哪些?引用数据类型有哪些?【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)2-14.作为引用数据类型,数组变量与基本数据类型的变量使用时有哪些区别?【答】数组变量与基本数据类型变量不同点在于,存储单元的分配方式不同,两个变量之间的赋值方式也不同。

基本数据类型变量获得存储单元的方式是静态的,声明了变量后系统就为变量分配了存储单元,就可以对变量赋值。

两个变量之间的赋值是值本身。

数组变量的引用赋值,数组变量保存的是数组的引用,即数组占用的一片连续存储空间的首地址及长度特性。

当声明一个数字变量而未申请空间时,变量是未初始化的,没有地址及特性值。

只有申请了存储空间,才能以下标表示数组元素。

3-1 什么是类?什么是对象?他们之间的关系是怎样的?【答】在面向对象的概念中,类是既包括数据又包括作用于数据的一组操作的封装体。

类中的数据称为成员变量,类中的数据操作称为成员方法。

类中的成员变量和成员方法统称为类的成员。

对象是类的实例。

对象与类的关系就像变量与数据类型的关系一样。

是抽象与具体,模板与实例的关系,类是抽象的、是模板,对象是具体的、是实例。

3-2 作为引用数据类型,对象在赋值和方法的参数传递方面与基本数据类型的变量有什么不同?【答】作为引用数据类型,两个对象之间的赋值是引用赋值,对象可被赋值为null。

具体可参见课本第三章图3.1的(d)。

方法声明中形式参数的数据类型,既可以是基本数据类型,也可以是引用数据类型。

如果形式参数的数据类型是基本数据类型,则实际参数向形式参数传递的是值;如果形参的数据类型是引用数据类型,则实参向形参传递的是引用。

同样,方法返回值的数据类型,既可以是基本数据类型,也可以是引用数据类型,两者分别传递值和引用。

初级java考试简答题

初级java考试简答题

初级Java考试简答题及答案:
1. 什么是Java?
答案:Java是一种面向对象的编程语言,由Sun Microsystems 公司开发。

它被设计成一种跨平台的语言,可以在多个操作系统上运行,并且具有垃圾回收机制,可以自动管理内存。

2. 什么是Java虚拟机(JVM)?
答案:Java虚拟机(JVM)是一种运行Java程序的软件平台。

它是一种虚拟的计算机,能够执行Java字节码,并将其转换为特定操作系统的机器代码执行。

3. 什么是Java类?
答案:Java类是Java编程的基本单元,它定义了一个对象的属性和方法。

每个Java程序都从public class声明开始,其中包含类的名称和属性和方法的定义。

4. 什么是Java对象?
答案:Java对象是通过类的实例化而创建的。

每个对象都有一组属性,这些属性可以在运行时被改变和访问。

对象还可以执行方法,这些方法定义了对象的行为。

5. 什么是Java数组?
答案:Java数组是一种用于存储固定大小的相同类型元素的数据结构。

数组可以是一维或多维的,并且可以通过索引访问元素。

JAVA各章习题及答案-全解

JAVA各章习题及答案-全解

第1章Java入门一、选择题1.下列选项中,不属于Java语言特点的一项是〔C 〕.〔A〕分布式〔B〕安全性〔C〕编译执行〔D〕面向对象[解析]Java程序采用解释执行的方法.在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行.2.在Java语言中,〔 C 〕是最基本的元素?〔A〕方法〔B〕包〔C〕对象〔D〕接口[解析]构成Java程序的基本元素类〔抽象的对象〕. 3.编译一个定义了3个类和10个方法的Java源文件后,会产生〔D 〕个字节码文件?扩展名是〔D 〕?〔A〕13个字节码文件,扩展名为.class〔B〕1个字节码文件,扩展名为.class〔C〕3个字节码文件,扩展名为.java〔D〕3个字节码文件,扩展名为.class[解析]源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class.4.在创建Applet应用程序时,需要用户考虑问题是〔B 〕.〔A〕窗口如何创建〔B〕绘制的图形在窗口中的位置〔C〕程序的框架〔D〕事件处理[解析]创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以与事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定.5.Java语言属于〔B 〕种语言?〔A〕面向机器的语言〔B〕面向对象的语言〔C〕面向过程的语言〔D〕面向操作系统的语言[解析]Java语言是一种纯面向对象的语言.6.下列关于Application和Applet程序的说法中不正确的一项是〔B 〕.<A>Application使用解释器java.exe<B>Application不使用独立的解释器〔C〕Applet在浏览器中运行〔D〕Applet必须继承Java的Applet类[解析]Application程序包含main<>方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行. 7.下列选项中,不属于Java核心包的一项是〔A 〕.〔A〕javax.swing 〔B〕java.io〔C〕java.utile 〔D〕ng[解析]凡是以java开头的包都是Java核心包,以javax 开头的包则属于Java扩展包.8.下列描述中,不正确的是〔A 〕.〔A〕不支持多线程〔B〕一个Java源文件不允许有多个公共类〔C〕Java通过接口支持多重继承〔D〕Java程序分为Application和Applet两类[解析]Java是支持多线程的语言.9.阅读下列代码,选出该代码段正确的文件名〔C 〕.class A{void method1<>{System.out.println<"Method1 in class A">;}}public class B{void method2<>{System.out.println<"Method2 in class B">;}public static void main<String[] args>{System.out.println<"main<> in class B">;}}〔A〕A.java 〔B〕A.class〔C〕B.java 〔D〕B.class[解析]Java源文件名必须和公共类的名字完全一样,源文件的扩展名为.java. 10.编译下面源程序会得到哪些文件〔D 〕?class A1{}class A2{}public class B{public static void main<String[] args>{}}〔A〕只有B.class文件〔B〕只有A1.class 和A2.class文件〔C〕编译不成功〔D〕A1.class、A2.class和B.class文件[解析]由于该程序包含3个类,每个类编译后都会生成1个字节码文件,因此编译后会生成以这3个类名命名的字节码文件.11.编译Java程序时,用于指定生成class文件位置的选项是〔 A 〕.A.-d B.-g C.-verbose D.-nowarn 12.下列标识符〔名字〕命名原则中,正确的是〔 C 〕. A.类名的首字母小写 B.接口名的首字母小写C.常量全部大写 D.变量名和方法名的首字母大写13.下面哪种注释方法能够支持javadoc命令?〔C〕A.// B./*...*/ C./**...*/ D./**...**/ 14.下面哪些选项是正确的main方法说明?〔D〕A.void main<>B.private static void main<String args[]> C.public main<String args[]> D.public static void main<String args[]>二、填空题1.Java程序的编译和执行模式包括2点,是半编译和半解释.2.Java语言支持TCP/IP 协议,从而使得Java程序在分布式环境中能够很方便地访问处于不同地点的对象. 3.开发Java程序的一般步骤是:源程序编辑、生成字节码和解释执行.4.每个Java Application程序可以包括许多方法,但是必须有且只能有一个main<> 方法,统一格式为public static void main<String[] args> ,它是程序执行的入口.5.JVM把字节码程序与各种不同的操作系统和硬件分开,使得Java程序独立于平台.6.在Java程序中,能在WWW浏览器上运行的是Applet 程序.7.Java源程序文件和字节码文件的扩展名分别为.java 和.class .8.如果在Java程序中需要使用java.utile包中的所有类,则应该在程序开始处加上import java.utitle.* 语句.三、判断题1.Java语言具有较好的安全性和可移植性与与平台无关等特性.〔√ 〕2.Java语言的源程序不是编译型的,而是编译解释型的.〔√ 〕3.Java Application程序中,必有一个主方法main<>,该方法有没有参数都可以.〔√ 〕4.java.util.Scanner<System.in>可以接收用户从键盘输入的简单数据.〔√ 〕5.Java程序中不区分大小写字母.〔× 〕6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行.〔√ 〕7.System类中的println<>方法分行显示信息,而print<>方法不分行显示信息.〔√ 〕8.当前路径的标识是".".〔√ 〕9.java命令不区分大小写,而javac命令区分大小写.〔× 〕10.printf<>和 format<>方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流〔S ystem.out对象〕中.〔√ 〕11.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class.〔× 〕第2章标识符与简单数据类型一、选择题1.下列〔D 〕是合法的标识符?〔A〕12class 〔B〕void 〔C〕-5 〔D〕_blank 2.下列〔B 〕不是Java中的保留字?〔A〕if 〔B〕sizeof 〔C〕private 〔D〕null 3.下列〔C 〕不是合法的标识符?〔A〕$million〔B〕$_million〔C〕2$_million 〔D〕$2_million4.下列选项中,〔B 〕不属于Java语言的基本数据类型?〔A〕整数型〔B〕数组〔C〕浮点型〔D〕字符型5.下列关于基本数据类型的说法中,不正确的一项是〔D 〕.〔A〕boolean类型变量的值只能取真或假〔B〕float是带符号的32位浮点数〔C〕double是带符号的64位浮点数〔D〕char是8位Unicode字符[解析]Java中的字符采用的是16位的Unicode字符. 6.下列关于基本数据类型的取值范围的描述中,正确的一个是〔B 〕.〔A〕byte类型的取值范围是-128~128〔B〕boolean类型的取值范围是真或假〔C〕char类型的取值范围是0~65536〔D〕short类型的取值范围是-32767~32767[解析]根据每种类型占几个字节即可推算出其取值范围,如byte类型占1个字节,即共包含28个数值,其取值范围范围应为-128~127,其他类型也是如此.7.下列关于Java语言简单数据类型的说法中,正确的一项是〔A 〕.〔A〕以0开头的整数代表8进制整型常量〔B〕以0x或0X开头的整数代表8进制整型常量〔C〕boolean类型的数据作为类成员变量的时候,相同默认的初始值为true〔D〕double型数据占计算机存储的32位8.下列Java语句中,不正确的一项是〔C 〕.〔A〕$e, a, b = 10; 〔B〕char c, d = ‘a’;〔C〕float e = 0.0d; 〔D〕double c = 0.0f;[解析]不能将double类型的常量赋值给float类型的变量.9.在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是〔D 〕.〔A〕byte的默认值是0 〔B〕boolean的默认值是false 〔C〕char类型的默认值是’\0’〔D〕long类型的默认值是0.0L10.下列语句中不正确的一个是〔B 〕.〔A〕float f = 1.1f; 〔B〕byte b = 128;〔C〕double d = 1.1/0.0; 〔D〕char c = <char>1.1f;[解析]bytel类型变量的取值范围是-128~127. 11.下列表达式1+2+ "aa"+3的值是〔B 〕.〔A〕"12aa3" 〔B〕"3aa3 " 〔C〕"12aa" 〔D〕"aa3"[解析]整数和整数相加得到两个整数的和,而整数和字符串相加得到的是字符串.12.已知y=2, z=3, n=4,则经过n=n+ -y*z/n运算后n的值为〔A 〕.〔A〕3〔B〕-1 〔C〕-1 〔D〕-3[解析]根据运算符的优先级,该表达式相当于n=n+ <<-y>*z>/n.13.已知a=2, b=3,则表达式a%b*4%b的值为〔A 〕.〔A〕2 〔B〕1 〔C〕-1 〔D〕-2[解析]根据运算符的优先级,该表达式相当于<<a%b>*4>%b.14.已知x=2, y=3, z=4,则经过z- = --y – x--运算后,z的值为〔D 〕.〔A〕1 〔B〕2 〔C〕3 〔D〕4[解析]在表达式运算过程中,--y的值变为2,x—的值还是2,等号右侧运算后的值为0,因此z的值没有变化. 15.表达式<12==0> && <1/0 < 1>的值为〔B 〕.〔A〕true B〕false 〔C〕0 〔D〕运行时抛出异常[解析]由于<12==0>的值为false,因此整个表达式发生短路运算,即<1/0 < 1>就没有参与运算,整个表达式的值为false.16.设有类型定义short i=32; long j=64; 下面赋值语句中不正确的一个是〔B 〕〔A〕j=i; 〔B〕i=j; 〔C〕i=<short>j; 〔D〕j=<long>i;[解析]long类型的数据不能自动转变为short类型,因此不能将long类型的变量直接赋值给short类型. 17.现有1个char类型的变量c1=66和1个整型变量i=2,当执行c1=c1+<char>i;语句后,c1的值为〔D 〕.〔A〕'd' 〔B〕'D' 〔C〕68 〔D〕语句在编译时出错[解析]两个字符型的数据相加,得到的是一个整数,而如果把整数再赋值给一个字符型变量则会在编译时出错. 18.下列说法中,正确的一项是〔D 〕.〔A〕字符串"\\abcd" 的长度为6〔B〕False是Java的保留字〔C〕123.45L代表单精度浮点型〔D〕False是合法的Java标识符[解析]Java语言对字符的大小写是敏感的,False不是false,因此False是合法的Java标识符.19.以下的变量定义语句中,合法的是〔D 〕〔A〕float _*5 = 123.456F; 〔B〕byte $_b1 = 12345; 〔C〕int _long_ = 123456L;〔D〕double d = Double.MAX_V ALUE;[解析]〔A〕中_*5不是合法的标识符,〔B〕中12345超出byte范围,〔C〕中不能将long类型的常量赋值给int 型的变量.20.下列关于运算符优先级的说法中,不正确的一个是〔C 〕〔A〕运算符按照优先级顺序表进行运算〔B〕同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的〔C〕同一优先级的运算符在表达式中都是按照从右到左的顺序进行运算的〔D〕括号可以改变运算的优先次序[解析]同一优先级的运算符在表达式中都是按照从左到右的顺序进行运算的.二、填空题1.变量是Java程序的基本存储单元之一,变量的主要类型包括2大类:字符型和数值型.2.Java语言的整数类型变量和常量一样,各自都包括4种类型的数据,它们分别是byte、int 、short 和long. 3.boolean 类型数据不可以做类型转换.4.在Java语言的基本数据类型中,占存储空间最少的类型是boolean ,该类型占用的存储空间为 1 位. 5.Java语言中的保留字具有特殊意义和作用,不能作为普通标识符使用.6.在Java语言中,浮点类型数据属于实型数据,可以分为单精度和双精度两种.7.char类型的数据可以表示的字符数共为65536 .8.定义初始值为10的8次方的常整型变量iLong的语句是final iLong = 100000000L.9.Java语言中的数据类型转换包括自动转换和强制转换两种.10.Java中的字符采用的是16位的Unicode 编码.11.数据类型中存储空间均为64位的两种数据类型是long 和double .12.表达式9*4/ -5%5的值为-2 .〔十进制表示〕13.表达式5&2的值为0 .〔十进制表示〕14.表达式42<<4的值为672 .〔十进制表示〕15.表达式11010011>>>3的值为11010 .〔二进制表示〕16.表达式7|3的值为7 .〔十进制表示〕17.表达式10^2的值为8 .〔十进制表示〕18.Java语言中的逻辑与<&&>和逻辑或<||>运算采用短路方式进行运算.19.若a、b为int型变量,并且已分别赋值为5和10,则表达式<a++>+<++b>+a*b的值为82 .20.假设i=10, j=20, k=30,则表达式!<i<j+k> || !<i+10<=j> 的值为false .三、判断题1.Java语言使用的是Unicode字符集,每个字符在内存中占8位.〔×〕2.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变.〔√〕3.所有的变量在使用前都必须进行初始化.〔×〕4.已知byte i = <byte>127; i = i +1;这两个语句能被成功编译.〔√〕5.String str="abcdefghi"; char chr=str.charAt<9>; 〔×〕6.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char chr=chrArray[6]; 〔√〕7.int i,j; boolean booleanValue=<i==j>; 〔×〕8.int intArray[]={0,2,4,6,8}; int length=int Array.length<>;〔×〕9.String str="abcedf"; int length=str.length; 〔×〕10.short shortValue=220; byte byteValue=shortValue; 〔×〕11.int[] intArray[60]; 〔×〕12.char[] str="abcdefgh"; 〔×〕13.说明或声明数组时不分配内存大小,创建数组时分配内存大小.〔√〕14.强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型.〔√〕第3章运算符、表达式与语句一、选择题1.下列〔D 〕不属于Java语言流程控制结构?〔A〕分支语句〔B〕跳转语句〔C〕循环语句〔D〕赋值语句[解析]Java语言流程控制结构只包括分支、循环和跳转三种语句.2.假设a是int类型的变量,并初始化为1,则下列〔D 〕是合法的条件语句?〔A〕if<a>{} 〔B〕if<a<<=3>{}〔C〕if<a=2>{}〔D〕if<true>{}[解析]条件语句中的"条件表达式"只能是boolean类型,不能是其他类型.3.下列说法中,不正确的一个是〔C 〕.〔A〕switch语句的功能可以由if…else if语句来实现〔B〕若用于比较的数据类型为double型,则不可以用switch语句来实现〔C〕if …else if语句的执行效率总是比switch语句高〔D〕case子句中可以有多个语句,并且不需要大括号{}括起来[解析]语句执行效率高低要根据具体语句来确定,不能简单地说if…else if语句的执行效率总是比switch语句高. 4.设a、b为long型变量,x、y为float型变量,ch为char 类型变量且它们均已被赋值,则下列语句中正确的是〔 B 〕.〔A〕switch<x+y> {} 〔B〕switch<ch+1> {}〔C〕switch ch {} 〔D〕switch<a+b>; {}[解析]switch后面的表达式必须放在括号<>中,且表达式的类型只能是byte、short、int和char类型,不能是其他类型.5.下列循环体执行的次数是〔 C 〕.int y=2, x=4;while<--x != x/y>{ }〔A〕1 〔B〕2 〔C〕3 〔D〕4[解析]第1次执行while时,--x的值为3,3/2=1,满足等号两端值不等的条件,执行一次循环体;第2次执行while 时,--x的值为2,2/2=1,条件满足,又执行一次循环体;第3次执行while时,--x的值为1,1/2=0,条件满足,再次执行一次循环体;第4次执行while时,--x的值为0,0/2=0,条件不满足满足,结束循环.因此在这个循环语句执行的过程中,循环体共执行了3次.6.下列循环体执行的次数是〔 B 〕.int x=10, y=30;do{ y-=x;x++; }while<x++<y-->;〔A〕1 〔B〕2 〔C〕3 〔D〕4[解析]执行1次循环体后,y的值为20,x值为11,然后执行while,此时x++的值为11,y—的值为20,因此x++<y—条件满足,判断完后,x的值变为12,y的值变为19;接着执行第2次循环体,执行完第2次循环体后,y的值为9,x值为13,然后执行while,此时x++的值为13,y—的值为9,因此x++<y—条件不满足,结束循环.因此在这个循环语句执行的过程中,循环体共执行了2次.7.已知如下代码:switch<m>{case0:System.out.println<"Condition 0">;case1:System.out.println<"Condition 1">;case2:System.out.println<"Condition 2">;case3:System.out.println<"Condition3">;break;default:System.out.println<"OtherCondition">; }当m的值为< D >时,输出"Condition 3"〔A〕2 〔B〕0、1 〔C〕0、1、2〔D〕0、1、2、3 [解析]当m的值为0、1、2、3时,都能输出"Condition 3",因为case 0、case 1、case 2后面的语句都没有break,因此可以继续向后执行.二、填空题1.跳转语句包括break、continue、return和throw 2.switch语句先计算switch后面的表达式的值,再和各case 语句后的值做比较.3.if语句合法的条件值是boolean 类型. 4.continue语句必须使用于循环语句中. 5.break语句有两种用途:一种从switch 语句的分支中跳出,一种是从循环语句内部跳出.6.do -while循环首先执行一遍循环体,而while循环首先判断表达式的值 . 7.与C++语言不同,Java语言不通过goto 语句实现跳转.8.每一个else子句都必须和它前面的一个距离它最近的if 子句相对应.9.在switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句,则会继续执行后面的case 语句块.10.在for循环语句中可以声明变量,其作用域是for循环体.第4章类与对象一、选择题1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?〔D 〕〔A〕protected 〔B〕public 〔C〕default〔D〕private2.在Java语言中,哪一个包中的类是自动导入的?〔 A 〕A〕ng B〕java.awtC〕java.io D〕java.applet[解析]只有ng包中的类能够被自动导入.3.给出下面的程序代码:public class X4_1_3 {private float a;public static void m< >{ }}如何使成员变量a被方法m< >访问〔 C 〕〔A〕将private float a改为protected float a〔B〕将private float a改为public float a〔C〕将private float a改为static float a〔D〕将private float a改为float a[解析]static类型的方法只能访问static类型的数据成员.4.有一个类B,下面为其构造方法的声明,正确的是〔 B 〕.〔A〕void B<int x> {} 〔B〕B<int x> {}〔C〕b<int x> {} 〔D〕void b<int x> {}5.下面关于类的说法,不正确的是〔 C 〕.〔A〕类是同种对象的集合和抽象〔B〕类属于Java语言中的复合数据类型〔C〕类就是对象〔D〕对象是Java语言中的基本结构单位[解析]类是对象的抽象,对象是类的实例6.下面关于方法的说法,不正确的是〔C 〕. 〔A〕Java中的构造方法名必须和类名相同〔B〕方法体是对方法的实现,包括变量声明和合法语句〔C〕如果一个类定义了构造方法,也可以用该类的默认构造方法〔D〕类的私有方法不能被其他类直接访问[解析]类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法. 7.关于内部类,下列说法不正确的是〔A 〕.〔A〕内部类不能有自己的成员方法和成员变量〔B〕内部类可用private或protected修饰符修饰〔C〕内部类可以作为其他类的成员,而且可访问它所在的类的成员〔D〕除static内部类外,不能在类内声明static成员8.定义外部类时不能用到的关键字是〔 C 〕.〔A〕final 〔B〕public 〔C〕protected 〔D〕abstract[解析]定义外部类不能使用protected修饰符.9.为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为〔 D 〕〔A〕abstract void f<> 〔B〕public void f<>〔C〕final void f<> 〔D〕static void f<> [解析]只有static类型的方法才可以直接使用类名来引用.10.定义一个公有double型常量PI,哪一条语句最好?〔 B 〕〔A〕public final double PI;〔B〕public final static double PI=3.14;〔C〕public final static double PI;〔D〕public static double PI=3.14;[解析]用public final static来定义常量,既可以节省存储空间,又可以保证数值不会被改变.二、填空题1.对象是对事物的抽象,而类是对对象的抽象和归纳.2.从用户的角度看,Java源程序中的类分为两种:系统定义的类和用户自己定义的类.3.一个类主要包含两个要素:数据成员和成员方法.4.创建包时需要使用关键字package .5.类中的构造方法是一个特殊的方法,该方法的方法名和类名相同.6.如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个默认构造方法.这个方法没有形式参数,也没有任何具体语句,不能完成任何操作.7.静态数据成员被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中.因此,一个类的任何对象访问它时,存取到的都是相同〔相同/不同〕的数值.8.静态数据成员既可以通过对象名来访问,也可以通过类名直接访问它.9.定义常量时要用关键字final ,同时需要说明常量的数据类型并指出常量的具体值 .10.方法体内定义变量时,变量前不能加修饰符;局部变量在使用前必须明确赋值,否则编译时会出错;而类变量在使用前可以不用赋值,它们都有一个默认的值.11.static方法中只能引用static 类型的数据成员和static 类型的成员方法;而非static类型的方法中既可以引用static 类型的数据成员和成员方法,也可以引用非static 类型的数据成员和成员方法.12.引用static类型的方法时,可以使用类名做前缀,也可以使用对象名做前缀.13.当程序中需要引用java.awt.event包中的类时,导入该包中类的语句为import java.awt.event.*.14.定义类时需要class 关键字,继承类时需要extends 关键字,实现接口时需要关键字implements .三、判断题1.类是一种类型,也是对象的模板.〔√〕2.类中说明的方法可以定义在类体外.〔×〕3.实例方法中不能引用类变量.〔×〕4.创建对象时系统将调用适当的构造方法给对象初始化.〔√〕5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值.〔√〕6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值.〔√〕7.对象可作方法参数,对象数组不能作方法参数.〔×〕8.class是定义类的惟一关键字.〔√〕9.Java语言会自动回收内存中的垃圾.〔√〕第5章子类与继承一、选择题1.已知有下面类的说明:public class X5_1_1 extends x{private float f =10.6f;int i=16;static int si=10;public static void main<String[] args> {X5_1_1 x=new X5_1_1<>;}}在main<>方法中,下面哪条语句的用法是正确的?〔 A 〕A.x.f B.this.si C.X5_1_1.i D.X5_1_1.f[解析]由于x是在main方法内部定义的对象,因此它可以引用类的非static类型的属性,因此选A,而this和super不能在main方法中使用,使用类名只能引用本类的静态属性,因此B、C、D不对. 2.下列程序的运行结果是〔C 〕.public class X5_1_2 extends x{int ab<>{static int aa=10;aa++;System.out.println<aa>;}public static void main<String[] args> { X5_1_2 x=new X5_1_2<>;x.ab<>;}}A.10 B.11C.编译错误D.运行成功,但不输出[解析]方法体内的局部变量不能使用static修饰符.3.下面关于接口的说法中不正确的是〔C 〕.A.接口中所有的方法都是抽象的B.接口中所有的方法都是public访问权限C.子接口继承父接口所用的关键字是implements D.接口是Java中的特殊类,包含常量和抽象方法[解析]子接口继承父接口所用的关键字也是extends,只有类实现接口时才使用implements.4.区分类中重载方法的依据是〔 A 〕.A.形参列表的类型和顺序B.不同的形参名称C.返回值的类型不同D.访问权限不同[解析]形参表的类型和顺序不同时区分重载方法的唯一标志.5.子类对象能否直接向其父类赋值?父类对象能否向其子类赋值?〔 B 〕A.能,能B.能,不能C.不能,能D.不能,不能[解析]子类对象可以直接赋值给父类对象,而父类对象不能直接赋值给子类对象.6.Java语言类间的继承关系是〔 A 〕.A.单继承B.多重继承C.不能继承D.不一定[解析]Java语言类间的继承关系是单继承,但一个类可以实现多个接口.7.Java语言接口间的继承关系是〔B 〕.A.单继承B.多重继承C.不能继承D.不一定[7.解析]Java语言接口间的继承关系允许多重继承. 8.一个类实现接口的情况是〔A 〕.A.一次可以实现多个接口B.一次只能实现一个接口C.不能实现接口D.不一定[解析]Java语言允许一个类一次实现多个接口.9.定义外部类的类头时,不可用的关键字是〔 C 〕. A.public B.finalC.protected D.abstract[解析]定义外部类时不能使用protected关键字.10.如果局部变量和成员变量同名,如何在局部变量作用域内引用成员变量?〔 B 〕A.不能引用,必须改名,使它们的名称不相同B.在成员变量前加this,使用this访问该成员变量C.在成员变量前加super,使用super访问该成员变量D.不影响,系统可以自己区分[解析]this可以用来引用本类对象.11.下面说法不正确的是〔 B 〕.A.抽象类既可以做父类,也可以做子类B.abstract和final能同时修饰一个类C.抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口D.声明为final类型的方法不能在其子类中重新定义[解析]abstract和final不能同时修饰一个类,因为abstract 类需要子类,而final类不能有子类.二、填空题1.消息就是向对象发出服务请求,是对数据成员和成员方法的引用.2.在面向对象系统中,消息分为两类公有消息和私有消息.3.在面向对象程序设计中,采用继承机制可以有效地组织程序结构.充分利用已有的类来创建更复杂的类,大大提高程序开发的效率,提高代码的复用率,降低维护的工作量.4.数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员.5.子类可以重新定义与父类同名的成员方法,实现对父类方法的覆盖.6.子类在重新定义父类已有的方法时,应保持与父类完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关. 7.this代表了当前对象的一个引用,super表示的是当前对象的直接父类对象的引用.8.抽象类不能创建对象,该工作由抽象类派生的非抽象子类来实现.9.如果父类中已有同名的abstract方法,则子类中就不能〔能/不能〕再有同名的抽象方法.10.abstract类中不能有private 访问权限的数据成员或成员方法.11.interface 是声明接口的关键字,可以把它看成一个特殊类.接口中的数据成员默认的修饰符是public static final ,接口中的成员方法默认的修饰符是public abstract .12.如果实现某接口的类不是abstract的抽象类,则在类的定义部分必须实现该接口的所有抽象方法;如果实现某接口的类是abstract的抽象类,则它可以不实现该接口所有的方法.但是对于这个抽象类任何一个非抽象的子类而言,它们父类所实现的接口中的所有抽象方法以与自身所实现接口中的抽象方法都必须有实在的方法体. 13.包的作用有两个,一是划分类名空间,二是控制类之间的访问.14.封装也称信息隐藏,是指类的设计者只为类的使用者提供类的可以访问的部分〔包括类的数据成员和成员方法〕,而把类中的其他成员隐藏起来,使用户不能访问的机制.15.Java提供了4种访问权限来实现封装机制,即private 、protected 、默认和public .16.Java中提供两种多态机制, 重载与覆盖.17.当一个构造方法需要调用另一个构造方法时,可以使用关键字this ,同时这个调用语句应该是整个构造方法的第一条可执行语句.18.如果子类自己没有构造方法,那么父类也一定没有〔有/没有〕带参的构造方法,此时它将继承父类的无参构造方法作为自己的构造方法;如果子类自己定义了构造方法,则在创建新对象时,它将先执行父类的构造方法,然后再执行自己的构造方法 .19.对于父类的含参数构造方法,子类可以通过在自己的构造方法中使用super 关键字来调用它,但这个调用语句必须是子类构造方法的第一条可执行语句.20.创建一个名为myPachkage的包的语句为package myPackage; ,该语句应该放在程序第一行位置.三、判断题1.Java语言中,构造方法是不可以继承的.〔√〕2.子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目.〔×〕3.抽象方法是一种只有说明而无具体实现的方法.〔√〕4.Java语言中,所创建的子类都应有一个父类.〔√〕5.调用this 或super构造方法的语句必须放在第一条语句.〔√〕6.一个类可以实现多个接口,接口可以实现"多重继承".〔√〕7.实现接口的类不能是抽象类.〔√〕8.使用构造方法只能给实例成员变量赋初值.〔√〕9.Java 语言不允许同时继承一个类并实现一个接口.〔×〕。

Java简答题附答案

Java简答题附答案

Java简答题附答案1. Java有没有goto?有, Goto语句在java中作为保留字, 并没有实现它.带标号的break, continue局限于循环体中跳转带标号的goto可以在⼀个函数(c语⾔)中任意跳转Goto⽐带标号的break,continue⽤法灵活, 正因为太灵活了使程序的逻辑结构变得复杂, 流程不够清晰, 程序的可读性下降所以java把goto保留了.2.在JAVA中如何跳出当前的多重嵌套循环?Break关键字+标签, 标签的位置放在最外层循环开始的上⼀⾏, 以冒号结束. 即使⽤break outer到指定的位置, 来结束多重嵌套循环.3.short s1= 1; s1 = 1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?没有错; 没有错4.char型变量中能不能存贮⼀个中⽂汉字?为什么?可以, 因为char是两个字节, ⽽unicode的汉字编码所占⽤的存储空间就是两个字节5.使⽤final关键字修饰⼀个变量时,是引⽤不能变,还是引⽤的对象不能变?是引⽤不能变, ⽽不是引⽤的对象不能改变6.接⼝是否可继承接⼝?抽象类是否可实现(implements)接⼝?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main⽅法?接⼝可以继承接⼝, 抽象类可以实现接⼝, 抽象类可以继承具体类, 抽象类可以有静态的main⽅法, 还可以直接执⾏的.7.Overload和Override的区别?Overload的⽅法是否可以改变返回值的类型?Overload是在⼀个类⾥⾯⽅法的重载, 指⽅法名相同参数类型,个数,顺序不同, 来实现的⽅法重载Override是在继承关系中, ⼦类重写⽗类的⽅法, ⽅法名, 返回值, 参数都必须相同.重载的时候是可以改变⽅法的返回值的, 因为重载与⽅法的放回值类型⽆关8.构造⽅法的作⽤是什么?构造⽅法和普通⽅法的区别?构造⽅法的作⽤是在新建⼀个对象的时候, 调⽤构造⽅法来创建对象.构造⽅法和普通⽅法的区别: 1.普通⽅法必须有返回值类型修饰符, ⽽构造⽅法不能有返回值类型修饰符; 2.构造⽅法名必须和类名相同 3.普通⽅法⽤来定义对象的⾏为, ⽽构造⽅法⽤来初始化9.super()或者this():为什么⼀定要定义在第⼀⾏?是否可以同时出现?因为super()和this()是调⽤的⽗类或本类的⽆参构造器, 因为Java不允许调⽤没有初始化的成员. 只有使⽤了super()或this()来初始化了对象之后, 才能调⽤该对象并继续进⾏后续操作.Super()为什么要定义在第⼀⾏? 因为⼦类的构造器中可能会使⽤⽗类的属性或⽅法, 如果⽗类都没有被创建, 那么就会导致空指针异常, 因此, super()应先执⾏, 来创建⽗类的对象.This()为什么要定义在第⼀⾏? 因为如果不定义在第⼀⾏, 那么当⼦类创建对象时, ⾸先会调⽤⽗类的⽆参构造器, 这时候就创建了⼀个⽗类的对象. 然后继续执⾏, 遇到了this()的时候, 就调⽤该构造器, ⽽这个构造器⼜属于是创建⼦类的对象, ⼜需要去调⽤⽗类的构造器. 也就是说, 造成了资源的浪费, 和同步不⼀致的问题.不能同时出现, 因为它们两个都要求只能出现在第⼀⾏.Super()和this()都是调⽤构造函数进⾏初始化, ⽽初始化的动作需要先完成.10.访问修饰符有哪些?各⾃的作⽤范围是什么?Private: 私有的, 本类中Public: 共有的, 任何位置Protected: 受保护的, 本类, 同⼀个包和⼦类中可以访问缺省的: 同⼀个包中11.static的作⽤和⽤法?Static的作⽤是把属性和⽅法定义为静态的, 可以在不创建对象的时候就调⽤这些属性和⽅法. 它只需要初始化⼀次, 可⽤来定义不经常改变的属性, 或者是对象的计数器.⽤法? 类名.属性或类名.⽅法名() , 即通过类名直接调⽤.12.是否可以从⼀个static⽅法内部发出对⾮static⽅法的调⽤?不可以.Static的⽅法内部职能访问static修饰的属性和⽅法因为普通的属性和⽅法是依赖于对象的, 只有创建了对象之后, 才能通过对象进⾏访问. ⽽此时静态⽅法是没有创建对象的, 因此就会报异常.13.值传递和引⽤传递的区别? 1.⼀个是针对基本数据类型, ⼀个针对引⽤数据类型 2.值传递传递的是值, 引⽤传递传递的是地址 3.值传递是拷贝了⼀份新的值给形式参数, 在⽅法中进⾏操作不会影响原来的值; ⽽引⽤传递的是地址, 两个引⽤指向同⼀个地址, 因此⽅法中改变了这个地址中的数据,那么原来的数据也会改变.14.什么继承?继承有什么优点?继承使⽤什么关键字?继承的特点?继承的限制?⼀个类可以同时继承多个类吗?所有类的⽗类是什么?继承就是⼀个类继承另⼀个类的属性和⽅法. 继承的优点是可以实现代码的重⽤, 使组件类型保持⼀致. Extends关键字, 类只能单继承类, 但可以实现多个接⼝. 所有类的⽗类是Object类15.什么是重写?⽤什么⽅法可以强制检当前⽅法是否重写⽗类⽅法?重写是指在继承关系中, ⼦类重新实现了⽗类中存在的⽅法. @Override关键字16.什么是多态?多态主要的应⽤是什么?多态就是指同⼀个⽅法, 不同的实现. 多态分为编译时的多态和运⾏时的多态, 编译时的多态通过⽅法的重载实现. 运⾏时的多态通过⽅法的重写实现. 多态主要运⽤于增加程序的灵活性, 增加程序的可扩展性.17.什么是抽象⽅法?什么是抽象类?Java抽象类可以有构造函数吗?Java抽象类可以有static⽅法吗?abstract⽅法可以⽤static修饰吗?抽象⽅法就是使⽤abstract关键字修饰的⽅法.抽象类是指abstract关键字修饰的类.Java抽象类可以有构造函数,Java抽象类可以有static⽅法,abstract⽅法不能⽤static修饰, 因为抽象⽅法需要被继承和实现,⽽static修饰的⽅法是可以通过类名直接访问的, 还没有⽅法体就被访问逻辑上是不合理的.18.静态⽅法可以被重写吗?Java抽象类中可以包含main⽅法吗?静态⽅法不可以被重写. 因为静态⽅法是在类加载时就被加载到内存中的⽅法, 在整个运⾏过程中保持不变, 因⽽不能重写. 但⾮静态⽅法是在对象实例化才单独申请内存空间, 为每⼀个实例分配独⽴的运⾏内存, 因⽽可以重写.Java抽象类可以包含main⽅法19.abstract class和interface的区别?抽象类是指abstract关键字所修饰的类, ⾥⾯可以包含普通⽅法和抽象⽅法, 还可以有构造函数和普通属性.Interface是接⼝,⾥⾯只能包含常量和抽象⽅法, 不能有构造⽅法,普通属性和普通⽅法, 也不鞥你有main⽅法,抽象类是⼀个类, ⽽接⼝的核⼼是⽅法20.请说说引⽤和对象?引⽤是指⼀个指向引⽤数据类型地址的指针, 对象是指⼀个类的实例.引⽤可以指向⼀个对象, 对象也可以包含多个引⽤对象是引⽤数据类型, 引⽤数据类型不仅仅包含对象。

java简答题参考答案

java简答题参考答案

一、string 和stringbuffer 的相同点和不同点答案:相同点:两者都是对字符串进行操作;不同点:1.String是一种强不变类型,它的值一旦被赋予之后,在内存中的相应位置上的值就不会变化了.即便你用,StringBuffer就不同了,它是种可变类型,它的值被赋予之后,在运行期同样可以通过它的方法,如append(String str)操作内存上的值,而不仅仅是它的引用而已(自己简短回答即可)2.String对象传递的时候是值传递,StringBuffer是引用传递;3.string 是final类,不能被继承,而stringbuffer可以被继承;4. String 是字符串类,最常用于简单的字符串操作,StringBuffer 是字符串缓冲,适用于复杂的字符串增删改操作。

二、java 异常处理语句和作用答案:1.try和catch语句用途:将要处理的代码放入try块中,然后创建相应的catch块的列表。

如果生成都异常与catch中提到的相匹配,那么catch条件中的块语句就被执行。

try块后可能有许多catch块,每个都处理不同的异常。

每个catch中的参数都是Exception的子类。

2.finally语句用途:finally语句定义一个总是执行的代码,而不考虑异常是否被捕获。

3.throw引起一个异常●用途:申明抛出异常,或者强制抛出异常,让机器或者他人去处理异常三、java中错误异常error和exception 的区别答案:相同点:Error类和Exception类都继承自Throwable类。

二者的不同之处:Exception:1.可以是可被控制(checked) 或不可控制的(unchecked)。

2.表示一个由程序员导致的错误。

3.应该在应用程序级被处理。

Error:1.总是不可控制的(unchecked)。

2.经常用来用于表示系统错误或低层资源的错误。

3.如何可能的话,应该在系统级被捕捉。

java考试重点

java考试重点

一、前两篇和第9,10,12,13,16,17课后练习题的选择题以及写出程序的运行结果题。

二、简答题:1.Java语言有哪些特点?答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能2.什么叫做类?什么叫做对象?答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。

对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。

类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。

3.简述Java的运行机制。

答:Java程序的运行必须经过编写、编译、运行三个步骤。

编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java源文件。

编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。

运行是指使用Java解释器将字节码文件翻译成机器代码,在cpu 上运行并显示结果的过程。

4.什么叫引用类型,对象是引用类型吗?答:引用类型是指该类型的标识符表示的是一片内存连续地址的首地址。

对象是引用类型。

5.什么是类成员,什么是实例成员?他们之间有什么区别?答:Java中使用static修饰的变量和方法称为类变量(或称静态变量)和类方法(或称静态方法),没用static修饰符的变量和方法称为实例变量和实例方法。

类成员是指该成员属于这个类,由这个类所创建的所有对象共同拥有,该成员仅在类的存储单元中存在,这个类所创建的所有对象中仅存储一个指向该成员的引用。

任何一个该类的对象改变了类成员,其他对象同样会发生改变。

对于类成员既可以使用对象访问,也可以使用类名直接进行访问,并且在类方法中只能访问类变量,而不能访问实例变量。

实例成员是指该成员由每一个对象个体独有,对象的存储空间中的确有一块空间用来存储该成员,不同对象的实例成员不同,任何一个对象改变了实例成员,只会影响这个对象本身,其他对象中的实例成员不会发生改变。

Java简答题(背诵)

Java简答题(背诵)

1. 在继承关系中,方法的重写要遵循“两同两小一大”规则,简述其含义。

答:“两同”即方法名相同、形参列表相同;“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应比父类方法更大或相等。

2. 如果在某个方法中访问名为a的变量,简述系统查找变量a的顺序。

答:先查找本方法中是否有a局部变量,再查找当前类中是否有a的成员变量,最后查找当前类的直接父类中是否包含a成员变量,依次上溯到间接父类,直到ng.Object类,如果最终不能找到,则系统出现编译错误。

3. 说明重载和重写的区别。

答:方法的重载和重写是Java多态性的不同表现。

重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称、参数和返回值类型,就说该方法被重写。

子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们有不同的参数个数或不同的参数类型,则称为方法的重载。

重载的方法是可以改变返回值的类型的。

4. 说明接口和抽象类的区别。

答:·抽象类可以有构造方法,接口中不能有构造方法。

·抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的。

·抽象类中抽象方法可以指定为public,接口中抽象方法不能指定其他修饰符,固定就是public,因此可省略不写。

·抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。

·一个类可以实现多个接口,但只能继承一个抽象类。

5. 说明= =和equals()的区别。

答:如果= =的两边都是基本类型变量或包装类对象所组成的表达式,= =用于比较两边的表达式的值是否相等。

如果= =的两边是引用类型的变量,= =用于判断这两个引用类型的变量是否引用同一块内存。

java简答题答案

java简答题答案

第一章:1.面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2.JRE(Java Runti‎m e Envir‎o nmen‎t,Java运‎行时环境),它相当于操‎作系统部分‎,提供了Ja‎v a程序运‎行时所需要‎的基本条件‎和许多Ja‎v a基础类‎,例如,IO类、GUI控件‎类、网络类等。

JRE是提‎供给普通用‎户使用的,如果你只想‎运行别人开‎发好的Ja‎v a 程序,那么,你的计算机‎上必须且只‎需安装JR‎E。

JDK(JavaD‎e velo‎p ment‎Kit,Java开‎发工具包),它包含编译‎工具、解释工具、文档制作工‎具、打包工具多‎种与开发相‎关的工具,是提供给J‎a va开发‎人员使用的‎。

初学者学习‎和使用Ja‎v a语言时‎,首先必须下‎载和安装J‎D K。

JDK中已‎经包含了J‎R E部分,初学者安装‎J DK后不‎必再去下载‎和安装JR‎E了。

3.path:path环‎境变量是系‎统环境变量‎中的一种,它用于保存‎一系列可执‎行文件的路‎径,每个路径之‎间以分号分‎隔。

当在命令行‎窗口运行一‎个可执行文‎件时,操作系统首‎先会在当前‎目录下查找‎是否存在该‎文件,如果不存在‎会继续在p‎a th环境‎变量中定义‎的路径下去‎寻找这个文‎件,如果仍未找‎到,系统会报错‎。

class‎p ath:class‎path环‎境变量也是‎系统环境变‎量中的一种‎,它用于保存‎一系列类(.class‎)文件的路径‎。

当Java‎虚拟机需要‎运行一个类‎时,会先在cl‎asspa‎t h环境变‎量中所定义‎的路径下去‎寻找所需的‎c lass‎文件。

如果cla‎sspat‎h的路径最‎后有分号,则在cla‎sspat‎h中找不到‎时,再到当前路‎径查找;如果最后无‎分号,则只在cl‎asspa‎t h设置的‎路径中查找‎。

4.JVM是J‎a vaVi‎r tual‎Machi‎n e的缩写‎,全称是Ja‎v a虚拟机‎。

java简答题_经典最全

java简答题_经典最全

java简答题_经典最全1、运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。

java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

2、说出ArrayList,V ector, LinkedList的存储性能和特性ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

3、final, finally, finalize的区别。

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

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

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

4、sleep() 和wait() 有什么区别?sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。

调用sleep不会释放对象锁。

wait 是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

5、同步和异步有何异同,在什么情况下分别使用他们?举例说明。

12010年秋季JAVA考试简答题总结

12010年秋季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平台。

JAVA课后简答题

JAVA课后简答题

JAVA课后简答题JAVA课后简答题第⼆章1、什么是对象?什么是类?什么是实体?它们之间的相互关系是怎样的?对象是由变量和相关⽅法组成的软件体,是⼀组数据及其对这些数据的操作过程,是具体的实例。

类是⼀个蓝图或样板,它定义了某⼀特定类的所有对象都具有的变量与⽅法。

包括:对象包含的数据,对象的创建及对象对⾃⾝数据操作的⽅法。

实体指实际存在的物体。

联系:将类实例化就得到了现实世界实体的⾯向对象的映射——对象,在程序中对对象进⾏操作,就可以模拟现实世界中的实体及实体之间相互作⽤,解决由这些实体构成的现实世界中的问题。

2、什么是对象的状态与⾏为?对象的状态⽤属性来表⽰,保存在⼀组变量中,⽽对象的⾏为通过⽅法实现。

3、什么是数据封装与隐藏?数据隐藏:使⽤private定义的成员变量,只能在成员⽅法中使⽤,其它⽅法中禁⽌使⽤。

优点:保证对象中数据的⼀致性。

封装:基本数据和对数据进⾏的操作⽅法的结合。

优点:1、隐藏类中具体实现的细节;2、强迫程序员使⽤统⼀的接⼝访问数据;3、使代码可维护性好。

4、什么是上塑造型?什么是晚联编?多态的含义是什么?把⼦类当作⽗类处理的过程叫做上塑造型,其含义是⼦类沿着类继承体系向上,将其类型塑造为⽗类类型。

运⾏时多态的实现机理是动态联编技术,也叫做晚联编或运⾏期联编。

将⼀个⽅法调⽤和⼀个⽅法体连接到⼀起,就称为联编。

在晚联编⽅式中,当⼀个对象发消息时,所调⽤的代码直到运⾏时刻才确定。

多态的含义:“对外⼀个接⼝,内部多种实现”。

多态分为运⾏时多态和编译时多态。

编译时多态主要是通过重载技术实现,即在⼀个类中相同的⽅法名可⽤来定义多种不同的⽅法;运⾏时多态是在⾯向对象的继承性的基础上建⽴的,是运⾏时动态产⽣的多态性。

优点:1、提⾼了程序可扩充性;2、使程序易于编写,易于维护,并且易于理解。

5、怎样理解⾯向对象程序设计⽅法的内涵?⾯向对象程序设计是使⽤类和对象将现实世界中真实的或抽象的实体在程序中建⽴模型。

JAVA各章习题及答案

JAVA各章习题及答案

第1章一、选择题1.下列选项中‎,不属于Ja‎v a语言特‎点的一项是‎(C )。

(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程‎序采用解释‎执行的方法‎。

在系统编译‎运行Jav‎a程序时,Java编‎译器将Ja‎v a程序转‎化为字节码‎,在运行时,解释器将编‎译得到的字‎节码进行解‎释执行。

2.在Java‎语言中,( C )是最基本的‎元素?(A)方法(B)包(C)对象(D)接口【解析】构成Jav‎a程序的基‎本元素类(抽象的对象‎)。

3.编译一个定‎义了3个类‎和10个方‎法的Jav‎a源文件后‎,会产生(D )个字节码文‎件?扩展名是( D )?(A)13个字节‎码文件,扩展名为.class‎(B)1个字节码‎文件,扩展名为.class‎(C)3个字节码‎文件,扩展名为.java (D)3个字节码‎文件,扩展名为.class‎【解析】源文件中的‎每一个类编‎译后都会生‎成一个字节‎码文件,字节码文件‎的扩展名是‎.class‎。

4.在创建Ap‎pl et应‎用程序时,需要用户考‎虑问题是( B )。

(A)窗口如何创‎建(B)绘制的图形‎在窗口中的‎位置(C)程序的框架‎(D)事件处理【解析】创建App‎l et程序‎时必须继承‎系统类Ap‎pl et,而Appl‎e t类中已‎经包含了如‎何创建窗口‎以及事件处‎理等内容,这类程序的‎框架也都是‎固定的,而绘制图形‎在窗口中的‎位置则需要‎由用户确定‎。

5.Java语‎言属于(B )种语言?(A)面向机器的‎语言(B)面向对象的‎语言(C)面向过程的‎语言(D)面向操作系‎统的语言【解析】Java语‎言是一种纯‎面向对象的‎语言。

6.下列关于A‎p plic‎a tion‎和A ppl‎e t程序的‎说法中不正‎确的一项是‎(B)。

(A)Appli‎ca tio‎n使用解释‎器j ava‎.exe (B)Appli‎catio‎n不使用独‎立的解释器‎(C)Apple‎t在浏览器‎中运行(D)Apple‎t必须继承‎Java的‎A p ple‎t类【解析】Appli‎catio‎n程序包含‎m ai n()方法,它是一种独‎立执行的程‎序,因此必须使‎用独立的解‎释器解释执‎行。

JavaEE简答题

JavaEE简答题

JavaEE简答题Java EE复习一、填空题:(30分)(一)第一章概述1.Java EE为满足开发多层体系结构的企业级应用的需求,提出“组件-容器”的编程思想。

Java EE应用的基本软件单元是Java EE组件。

基本软件单元的运行环境被称为容器.2.两层体系结构应用程序分为客户层和服务器层.3.所谓的企业级应用程序,并不是特指为企业开发的应用软件,而是泛指那些为大型组织部门创建的应用程序。

4.在三层分布式企业应用程序中,包括客户层、应用服务器层、数据服务器层三层。

5.Java EE客户端组件既可以是一个Web浏览器、一个Applet,也可以是一个应用程序。

6.Java EE web组件包括servlet和JSP。

7.Java EE有两种类型的EJB组件:会话Bean和消息驱动Bean。

8.Java EE 6提供的组件主要包括三类:客户端组件、Web组件、业务组件。

(二)第三章servlet9.Servlet组件在进行重定向时,需要使用ServletResponse接口的方法是sendRedirect()。

10.httpServletRequest提供了两个方法用于从请求中解析出上传的文件:PartgetPart(String name)和Collection getParts()。

11.一个Servlet的配置参数保存在ServletConfig_对象中,这个配置对象(能/不能)不能被其他Servlet访问。

12.Servlet支持两种格式的输入/输出流:字符输入输出流和字节输入输出流。

13.MIME的全称是多媒体Internet邮件扩展(Multimedia Internet MailExtension),ServletResponse中响应正文的默认MIME类型为text/plain,而HttpServetResponse中的响应正文的默认MIME类型为text/html。

14.PDF文件的MIME类型是application/pdf,Microsoft Word 文档的类型是application/msword。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java简答题第1章1.Java语言的特点?答:简单性、面向对象、分布式处理、健壮性、结构中立、安全性、可移植性、解释性、高性能、多线程、动态2.Java程序的开发步骤1)编写源文件。

扩展名必须是.java。

2)编译Java源程序。

使用Java编译器(javac.ex e)编译源文件,得到字节码文件。

3) 运行Java程序。

使用Java SE平台中的Java 解释器(java.exe)来解释执行字节码文件。

3.Java源程序的组成?1)package语句 2)import语句 3)类(class)4)方法 5)语句4.如果JDK的安装目录为D:\jdk,应当怎么设置p ath和classpath的值?设置环境变量Path的值为D:\jdk\bin;设置环境变量ClassPath的值为D:\jdk\lib\ dt.jar; D:\jdk\lib\tools.jar;第2章5.举例说明类声明的格式?对于Circle类的形式包括类声明和类体。

Circle类的类体的内容由两部分构:一部分是变量的声明,称做域变量或成员变量,用来刻画圆之属性。

另一部分是方法的定义(在C语言中称做函数),用来刻画功能。

6.简答用类创建对象的步骤?1)声明对象 2)为对象分配(成员)变量7.当源文件有多个类时,请说明源文件的命名规则?Java允许在一个Java源文件中编写多个类,但其中的多个类至多只能有一个类使用public修饰。

如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了;如果有一个类是public类,那么源文件的名字必须与这个类的名字安全相同,扩展名是java。

8.Java代码块的写法有哪两种风格?当代码量较大时应当采用哪种编程风格?答:(1)Allmans风格。

Allmans风格也称“独行”风格,即左、右大括号各自独占一行。

(2) Kernighan风格。

Kernighan风格也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行。

当代码量较大时不适合使用“独行”风格,因为该风格将导致代码的左半部分出现大量的左、右大括号,导致代码清晰度下降,这时应当使用“行尾”风格。

第三章9.什么是标识符?Java关于标识符的语法规则有哪些?答:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

简单地说,标识符就是一个名字。

Java关于标识符的语法规则如下:(1)标识符可以由字母、数字、下划线“_”或$组成;(2)标识符必须以字母、下划线“_”或$开头,随后可跟数字;(3)标识符是大小写区别对待的。

例如,Class和class代表不同的标识符;(4)在自定义标识符时,应该使其能反映它所表示的变量、对象或类的意义。

10.Java的基本数据类型是什么?Java语言有8种基本数据类型,分别是:boolean、byte、short、int、long、float、double、char。

这8种基本数据类型习惯上可分为以下四大类型:1)逻辑类型:boolean 2)整数类型:byte、short、int、long3)字符类型:char 4)浮点类型:float、double第四章运算符和表达式11.Java提供了哪些运算符?Java提供了丰富的运算符,具体有:算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、instanceof运算符12.Java里的语句可分为哪几类?1)方法调用语句2)表达式语句:表达式尾加上分号。

3)复合语句:可以用{ }把一些语句括起来构成复合语句。

4)空语句:一个分号也是一条语句,称做空语句。

5)控制语句:控制语句分为条件分支语句、开关语句和循环语句。

6)package语句和 import语句:它们和类、对象有关。

第五章类与对象16.面向对象的特点?答:封装性、继承、多态17.简答实例变量和类变量的区别?(1)不同对象的实例变量互不相同(2)所有对象共享类变量(3)通过类名直接访问类变量第六章子类与继承18.什么是继承,声明一个类的子类的格式如何定义?答:继承是一种由已有的类创建新类的机制。

利用继承,可以先编写一个共有属性的一般类,根据该一般类再编写具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。

由继承而得到的类称为子类,被继承的类称为父类(超类)。

声明一个类的子类的格式如下:class 子类名 extends 父类名 {…}19.简答方法重写的语法规则?答:如果子类可以继承父类的某个实例方法,那么子类就有权利重写这个方法。

子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同。

第七章接口与实现20.什么叫接口的回调?接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类重写的接口方法。

实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法。

第八章内部类与异常类21.什么是异常,Java中如何处理异常?所谓异常就是程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误作出处理。

Java使用try-catch语句来处理异常,将可能出现的异常操作放在try-catch语句的try部分,将发生异常后的处理放在catch部分。

第九章常用实用类22.String 类的常用方法有哪些?书P126-129 8种方法23.StringBuffer类的常用方法有有哪些?(1)append()(2)char charAt(int n)(3)StringBuffer inert(int index,String str)(4)StringBuffer reverse( )(5)StringBuffer delete(int startindex, int endindex)(6)StringBuffer replace(int startindex, int endindex,String str)第十章输入与输出流24.FileInputStream流的read()方法和FileReader流的read()方法有何不同?答:FileInputStream流的read()方法以字节为单位读文件FileReader流的read()方法以字符为基本单位处理数据第十一章组件及事件处理25.常用的组件有哪些?(1)文本框:由JComponent的子类JTextField 创建文本框。

(2)文本区:由JComponent的子类JTexArea创建文本区。

(3)按钮:由JComponent的子类JButton类用来创建按钮。

(4)标签:由JComponent的子类JLabel类用来创建标签。

(5)选择框:由JComponent的子类JCheckBox类用来创建选择框。

(6)单选按钮:由JComponent的子类JRadioButton 类用来创建单项选择框。

(7)下拉列表:由JComponent的子类JComboBox 类用来创建下拉列表。

(8)密码框:由JComponent的子类JPasswordField 创建密码框。

26.常用的容器有哪些?(1)JPanel 面板:使用JPanel创建面板,再向这个面板添加组件,然后把这个面板添加到其它容器中。

(2)滚动窗格JScrollPane:可以将文本区放到一个滚动窗格中。

(3)拆分窗格JSplitPane:窗格有两种类型:水平拆分和垂直拆分(4)JLayeredPane分层窗格:分层窗格使用27.常用的布局有哪些?答:1)FlowLayout布局 2)BorderLayout布局 3)CardLayout 布局 4)GridLayout布局 5)null布局29.对话框有哪几类?答:消息对话、输入对话、确认对话、颜色对话、文件对话、自定义对话第十二章Java多线程机制30.简答线程与进程的区别?答:进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。

线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。

线程间可以共享进程中的某些内存单元(包括代码与数据),线程的中断与恢复可以更加节省系统的开销。

31.线程的生命周期要经历哪些状态?答:新建、运行、中断、死亡第十三章Java网络编程32.如何读取URL中的资源?答:URL对象调用 InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。

通过该输入流可以将服务器上的资源读入到客户端。

33.什么叫socket?怎样建立socket连接?答:IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序)。

端口号被规定为一个16位的0~65535之间的整数。

当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号与IP地址的组合得出一个网络套接字)。

套接字连接示意图如下:第十四章JDBC数据库操作34.简答使用JDBC─ODBC桥接器连接数据库的3个步骤?答:(1)建立JDBC-ODBC桥接器(2)创建ODBC数据源(3)和ODBC数据源建立连接35.设置数据源的主要步骤有哪些?(1)创建、修改或删除数据源选择“控制面板”→“管理工具”→“ODBC数据源”(某些window/xp系统,需选择“控制面板”→“性能和维护”→“管理工具”→“ODBC数据源”)。

(2)为数据源选择驱动程序因为要访问Access数据库,选择Microsoft Acess Driver(*.mdb)。

(3)数据源名称及对应数据库的所在位置在名称栏里为数据源起一个自己喜欢的名字,这里我们起的名字是star。

这个数据源就是指某个数据库。

在“数据库选择”栏中选择一个数据库。

相关文档
最新文档