java考试题库(大二期末考试必备)知识分享
j a v a考试题库(大二期末考试必备)
2.Serialist:服务端的java应用程序(可以生成动态的网页)
3.Jacobeans:一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范
4.包(package):防止同名的类名产生冲突,所以封装在一个包下面
5.标识符:以字母开头的字母数字序列
6.关键字:java语言定义的,具有特定含义的单词
7.符号常量:指用关键字final声明的保存在程序中不能改变的数据
8.数据:能输入到计算机中并且能够被计算机接受的各种符号的集合
9.类型/数据类型:具有相同的逻辑意义的一组值得集合
10.变量:保存在程序中的可以改变数据
11.常量:保存在程序中的不能改变的数据
12.类型相容:两个不同的数据类型具有相同的性质,能够参加相同的运算,运算结果的数据类型为精度高的,范围
大的那种
13.隐式类型转换:java数据类型从低类型转换为高类型
14.显式类型转换:java数据类型从高类型转换为低类型
15.方法重载:让类以统一的方式处理不同类型数据的一种手段
16.递归:概念本身直接或间接的定义自己
17.类/对象:数据以及对数据的一组操作的封装体,而对象可以看做类的一个具体的实例
18.封装:将数据以及对数据的操作组合成一个类,但这个类能够提供与外部联系的方法又能够隐藏实现的细节
19.构造方法:创建类的一个实例并对实例的成员进行初始化
20.拷贝构造方法:创建新的对象初始化为形式参数的实例值,实现对象的复制
21.对象浅拷贝:不拷贝对象和数组的,只拷贝基本类型
22.对象深拷贝:对象,对象内部的引用均复制
23.继承(inherit):一个对象直接使用另一对象的属性和方法
24.多态(polymorphism):接口的多种不同的实现方式
25.重载(overload):一个类中的方法与另一个方法同名,但是参数表不同
26.覆盖(override):子类方法的名称、参数和返回类型必须与父类方法一致
27.抽象类:类中可能已经有一些方法的具体定义,但是接口就仅仅只能定义各个方法抽象类不能被实例化
28.最终类:把一个类的功能固定下来,不允许定义它的子类对其进行扩充
29.接口(interface):把所需成员组合起来,以封装一定功能的集合,不能实例化
30.异常处理:java通过5个关键字来处理程序遇到异常时所发生的事件
31.G UI:指采用图形方式显示的计算机操作用户界面(即:图形用户界面)
32.线程(thread):可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程
33.交互线程:线程之间共享某些变量,线程的执行可能影响其他线程的执行结果,有制约关系
34.线程互斥:某一资源同时只允许一个访问者对其进行访问
35.线程同步:多个线程按照预定的顺序运行,协同、协助、互相配合
36.T CP/IP:传输控制协议
37.H TTP:超文本传送协议
38.H TML:超文本标记语言
39.U RL:网页和其他资源的地址
40.流(stream):连续传输的信息序列
41.S QL:一种对关系数据库中的数据进行定义和操作的结构化查询语言
42.J DBC:一种用于执行SQL语句的Java API
( )1.Java.exe是JDK的编译工具。×
( )2.编译后的Java应用程序可由Java.exe解释执行。
( )3.Java源程序经编译后生成字节码文件。
( )4.Java应用程序编译后生成二进制可执行文件。×
( )5.编译后的Java应用程序可直接在操作系统下运行。×
( )6.编译后的Java应用程序可由Javac.exe解释执行。×
( )7.命令行解释执行java应用程序必须包含扩展名(.class)。×
( )8.命令行编译java应用程序必须包含扩展名(.java)。
( )9.Java源程序的文件名必须与public类的名称完全一致。
( )10.任何Java程序都必须以类的形式出现。
( )11.一个Java源程序文件中可以定义若干个类。
( )12.一个Java源程序文件中只能定义一个public类。
( )13.语义错误能够在编译时就被发现。×
( )14.语法错误需要等到运行时才会被发现。×
( )15.Java系统本身对程序的逻辑错误没有识别能力。
( )16.标识符不能使用中文字。×
( )17.标识符中的字母区分大小写。×
( )18.符号常量名必须全部大写。×
( )19.多行注释和文档注释不可以嵌套使用。×
( )20.只有整型数据可以进行求余(%)运算。
( )21.求余(%)的运算结果符号与除数相同。×
( )22.浮点类型数据不能进行求余运算。
( )23.8种基本数据类型的类型名全为小写。
( )24.字符串属于基本数据类型。×
( )25.Java变量遵从先声明后使用的原则。
( )26.变量赋初值不能使用连续"="。
( )27.不能使用连续"="给多个变量赋值。×
( )28.没有特别指明的整数都是属于长整型。×
( )29.没有特别指明的浮点数都是属于双精度。
( )30.Java的布尔类型与C语言相同。×
( )31.Java字符以Unicode码表示。
( )32.Java标识符的长度没有限制。
( )33.Java标识符中可以使用汉字。
( )34.Java的字符串必须在一行内写完。
( )35.++、-- 运算只适用于变量。
( )36.基本数据类型都可参与关系运算。
( )37.关系运算的结果一定为布尔值。
( )38.逻辑运算的操作数必须是布尔型。
( )39.赋值运算具有左结合性。×
( )40.赋值运算中的左值必须是变量。
( )41.条件运算的后两个表达式类型必须相同。
( )42.instanceof运算的左操作数为类,右操作数为对象。×( )43.表达式的结果类型为范围大、精度高的那种数据类型。( )44.字符是一种数值类型, 可与整数、浮点数进行算术运算。( )45.显式类型转换是暂时的,并不会改变原来变量的类型。( )46.复合语句中不能有声明语句。×
( )47.复合语句中声明的变量只在该{}内可见。
( )48.Java用于判断的条件表达式与C完全一致。×
( )49.Java用于判断的条件表达式必须为布尔类型。
( )50.在if-else嵌套时,如果没有强制配对,else则按缩格排版与if配对。×( )51.在if-else嵌套时,如果没有强制配对,else则选择与离它最近的if配对。( )52.switch后的表达式类型可以为任何整数类型。×
( )53.switch后的表达式必须为布尔类型。×
( )54.switch后的表达式类型不能为浮点型。
( )55.case后的常量表达式必须与switch后的表达式类型相同。
( )56.do-while语句条件表达式后必须有一个分号(;)。
( )57.其它循环语句都可以用for循环替代。
( )58.必须是同一种循环结构才可以嵌套使用。×
( )59.不同的循环结构可以相互嵌套使用。
( )60.数组属于引用数据类型。
( )61.用另一数组给某数组赋值并不会改变该数组的存储分配。×
( )62.Java二维数组可以分解为若干个一维数组。
( )63.Java支持不规则(变长)二维数组。
( )64.Java不支持类之外的全局变量和全局函数。
( )65.方法若无返回值则可以省略最后的return语句。
( )66.方法中声明的变量为局部变量。
( )67.方法的形参变量为共享变量。×
( )68.main方法只能由Java虚拟机直接调用,其它方法不能调用它。
( )69.数组的长度确定后还可根据需要就地扩容。×
( )70."中国ABC".length() = 7 。×
( )71.一个类中不能有同名的成员变量。
( )72.一个类的成员变量不能与成员方法同名。×
( )73.一个类中不能有同名的成员方法。×
( )74.声明了有参构造方法后,类的默认无参构造方法将不再可用,除非重写。( )75.设置为缺省访问权限的类只可被同一个包中的类访问。
( )76.Java采用垃圾回收机制因而不能声明析构方法。×
( )77.Java的一个子类可以继承自多个父类。×
( )78.Java的子类还可再派生子类。
( )79.Java的一个类可以实现多个接口。
( )80.子类可以继承父类的所有构造方法。×
( )81.子类可以重定义从父类继承来的成员。
( )82.super([参数列表])语句在子类构造方法中必须放在最前面!
( )83.子类对象可以引用父类实例。×
( )84.方法重载属于编译时多态,可以在编译阶段确定执行重载方法中的哪一个。( )85.包含抽象方法的类必须被声明为抽象类。
( )86.抽象类的所有方法都必须是抽象方法。×
( )87.构造方法不能声明为抽象方法。
( )88.静态方法不能被声明为抽象方法。
( )89.不能创建抽象类的实例。
( )90.非抽象类必须实现从父类继承来的所有抽象方法。
( )91.最终类中包含的方法通常都是最终方法。
( )92.最终方法不能被子类覆盖。
( )93.非最终类也可以包含最终方法。
( )94.一个类可以实现多个接口,一个接口也可被多个类实现。
( )95.接口不能有构造方法。
( )96.接口的方法都是抽象的。
( )97.接口的数据成员都是常量。
( )98.接口变量可引用实现类的实例。
( )99.接口变量可访问其引用实现类的所有方法。×
( )100.字符串大小比较不能直接使用>、>=、<、<=等关系运算符。
( )101.判断两个字符串是否相等不可以直接使用==。×
( )102.容器(Container)不是Component类的子类。×
( )103.窗口是顶层容器,不能包含在其他容器中。
( )104.面板(Panel)是个无形的窗格,它不允许有标题、边框和菜单栏等。
( )105.一个窗口(Window)只能包含一个面板(Panel)。×
( )106.面板(Panel)中还可以嵌套面板(Panel)。
( )107.Frame和Dialog默认是不可见的。
( )108.标签(Label)不能用于输入,也不能响应事件。
( )109.Swing组件都是容器(Container)类的子类,它们都具有容器特性。
( )110.javax.swing包中的菜单、菜单项都属于抽象按钮类。
( )111.JMenuItem是JMenu的子类。×
( )112.菜单栏和快捷菜单均不受窗口布局管理器的影响。
( )113.需要在程序中调用组件的paint(Graphics g)方法才可进行绘图。×
( )114.只须覆盖组件的paint(Graphics g)方法即可在组件上绘图。
( )115.Rectangle类提供在组件上绘制矩形的方法。×
( )116.Graphics抽象类定义了在组件上绘制图形的各种方法。
( )117.多线程的执行次序与线程启动语句的书写顺序一致。×
( )118.并发执行的线程的运行结果具有不确定性。
( )119.调用线程对象的interrupt()方法将立即中断该线程的运行。×
( )120.可以对Java线程设置3种优先级。×
( )121.IP地址是为Internet上的每台计算机设定的唯一的物理地址。×
( )122.Applet小应用程序必须声明为public的。
( )123.Applet小应用程序不需要main()方法。
( )124.文件既可以作为输入流,也可以作为输出流。
( )125.显示器既可以作为输入流,也可以作为输出流。×
( )126.通过对象字节流提供的方法可以将程序中的任何对象写入文件中。×
( )127.File类封装了对文件进行读/写操作的方法。×
( )128.File类封装了用于访问或设置文件属性的方法。
( )129.File类封装了对文件/目录进行创建、删除等操作的方法。
( )130.RandomAccessFile类提供对文件进行随机存/取的方法,可以读/写文件指定位置的数据。( )131.通过URL类可获得Intrenet资源的大小、类型等信息。×
( )132.URL类封装了将主机名解析为IP地址(或反之)的方法。×
( )133.通过URLConnection类可获得Intrenet资源的大小、类型等信息。
( )134.InetAddress类提供了将主机名解析为IP地址(或反之)的方法。
( )135.IP协议是一个无连接的协议,提供"不承诺"的通信服务。
( )136.TCP协议是一个面向连接的协议,能提供可靠的数据传输服务。
( )137.UDP协议是一个无连接的协议,不能完全确保数据传输的可靠性。
( )138.TCP连接属于点对点连接,不支持组播功能。
( )139.UDP数据报通信支持单播和组播。
1.Java针对桌面应用、企业级应用和嵌入式应用分别推出了Java SE、Java EE和Java ME三个版本。
2.JDK安装完成后通常需要设置 path 、 classpath 两个环境变量
3.按照错误的性质可将程序错误分成语法错、语义错、逻辑错三类。
4.Java符号按词法可分为标识符、关键字、运算符、分隔符和符号常量 5类
5.Java程序中可以使用单行注释、多行注释和文档注释 3种注释。
6.Java的引用类型包括数组、类、接口三种。
7.声明变量包括给出变量名和指明变量的数据类型,必要时还可以指定初始值。
8.OOPL可以简单地把程序描述为公式:程序=对象+消息。
9.Java为类及其成员提供公有、保护、缺省和私有等多级访问控制。
10.填空(打√或×)完成以下类成员的访问权限表。
11.类的成员分为实例成员和静态成员两种,后者可通过类直接访问,为该类所有对象共享。
12.声明类成员访问权限的关键字有 public 、 protected 、 private 。
13.类、接口的关键字分别是 class 、 interface ,继承类和实现接口的关键字分别是 extends 和
implements 。
14.Java类库中与日期有关的类主要有 Date 和 Calendar 。
15.System类提供了 in 、 out 和 err 3个标准输入/输出常量。
16.Integer类提供 parseInt() 方法将字符串转换为整数,String类提供 length()方法获得字符串长度。
17.Class类提供查询对象的类、父类及包等信息的方法。
18.Runtime类的静态方法 getRuntime() 可获得当前应用程序的运行时环境对象,进而通过 freeMemory() 方法可
查询剩余内存。
19.Arrays类提供对数组填充、比较、排序及查找等静态方法。
20.Java异常处理机制
21.Exception和Error类的父类是 Throwable ,它提供 getMessage() 方法获取异常信息, printStackTrace() 输
出异常栈跟踪信息。
22.一个异常对象需要经历抛出、捕获及处理 3个过程。
23.Java异常处理语句的三个关键词是 try 、 catch 和 finally 。
24.GUI提供应用程序与用户交互的界面。它由组件组成, 通过响应各种约定的事件来完成各种工作。
25.Java实现图形用户界面的组件包有 java.awt 和 javax.swing 两个,所有实际使用的组件都是 Component 类的
子类。
26.Window类的常用子类主要有 Frame 和 Dialog ,前者常用作应用程序的主窗口。
27.AWT的文本输入组件类主要有 TextField 和 TextArea 。后者可输入多行并自带滚动条。
28.文本行(TextField)组件可响应的常见事件类有 ActionEvent 、 Event 和 TextEvent 。
29.KeyListener接口约定的事件处理方法有 keyPressed(ke) 、 keyReleased(ke) 和 keyTyped(ke) 。参数ke为
KeyEvent对象。
30.按钮(Button)点击时触发 ActionEvent 事件,相应的事件监听器接口是 ActionListener ,事件处理方法是
actionPerformed(ae) 。
31.Window类的默认布局是 BorderLayout ,Panel类的默认布局是 FlowLayout 。
32.Container类提供 setLayout(lm) 方法可用于设置其中组件的布局,重载的 add() 方法用于添加组件。
33.Font类提供通过字体名、字形及字号参数来创建字体对象的构造方法。
34.列表框(JList)主要响应 ListSelectionEvent 事件,相应的事件监听接口为 ListSelectionListener ,事件处理方
法是 valueChanged( e) 。
35.下拉列表框(JComboBox)主要响应 ActionEvent 和 ItemEvent 事件,相应接口的事件处理方法是
actionPerformed( e) 和 itemStateChanged( e) 。
36.JOptionPane提供的标准对话框通常分为消息、确认、输入及组合型多种形式。
37.JOptionPane类提供了用于便捷显示常用对话框的 showMessageDialog() 、 showConfirmDialog() 和
showInputDialog() 三个静态方法。
38.菜单通常分窗口菜单和快捷菜单两种类型。
39.窗口菜单由 JMenuBar 、 JMenu 和 JMenuItem 等组件构成。
40.JMenuItem和JMenu主要响应 ActionEvent 和 MenuEvent 和 MenuKeyEvent 等事件。
41.进程动态特性表现为就绪、运行和阻塞三种状态。
42.线程调度采用剥夺方式。就绪线程按优先级排队,遵循先到先服务原则。
43.并发进程的各线程间通常具有并发性、共享性、制约性和交互性等特性。
44.Java提供两种创建线程常见方式,一是实现 Runnable 接口,二是继承 Thread 类。线程的操作代码则写于
run( ) 方法内,调用线程对象的 start() 方法启动线程。
45.动画设计常常利用线程线程对象的 sleep() 方法或Swing的 Timer 组件来进行快慢控制。
46.存在资源竞争的两个线程可能导致死锁或饥饿两个问题
47.TCP/IP协议可分为应用层、传输层、网络层及接口层(链路层和物理层)等4层。
48.URL的基本结构由传输协议、主机、端口、文件和引用 5部分组成。
49.一个Applet对象会经历由初始态、运行态、停止态到消亡态的一个生命周期。
50.与Applet状态改变有关的方法主要有 init() 、 start() 、 stop() 和 destroy() 4个。
51.根据文件的逻辑结构可将文件分为流式文件和记录式文件 2大类。
52.Java流的根类主要有 InputStream 、 OuputStream 、 Reader 、 Writer 4个。
53.在关系模型中,关系即为一张规范化的二维表,代表一个实体集,表的每一行表示一个实体,表的每个列表
示实体的一个属性。
54.关系数据库为数据提供实体完整性、参照完整性和用户定义完整性三类完整性约束。
55.SQL语言提供数据定义、数据查询、数据操纵和数据控制等功能。
56.填表完成4类SQL语句的动词。
57.JDBC规范要求实现的的4个主要接口是Driver 、 Connection 、 Statement 和 ResultSet 。
58.J ava针对桌面应用、企业级应用和嵌入式应用分别推出了Java SE、Java EE和Java ME三个版本。
59.J DK安装完成后通常需要设置 path 、 classpath 两个环境变量
60.按照错误的性质可将程序错误分成语法错、语义错、逻辑错三类。
61.J ava符号按词法可分为标识符、关键字、运算符、分隔符和符号常量 5类
62.J ava程序中可以使用单行注释、多行注释和文档注释 3种注释。
63.J ava的引用类型包括数组、类、接口三种。
64.声明变量包括给出变量名和指明变量的数据类型,必要时还可以指定初始值。
65.O OPL可以简单地把程序描述为公式:程序=对象+消息。
66.J ava为类及其成员提供公有、保护、缺省和私有等多级访问控制。
67.填空(打√或×)完成以下类成员的访问权限表。
68.类的成员分为实例成员和静态成员两种,后者可通过类直接访问,为该类所有对象共享。
69.声明类成员访问权限的关键字有 public 、 protected 、 private 。
70.类、接口的关键字分别是 class 、 interface ,继承类和实现接口的关键字分别是 extends 和
implements 。
71.Java类库中与日期有关的类主要有 Date 和 Calendar 。
72.System类提供了 in 、 out 和 err 3个标准输入/输出常量。
73.Integer类提供 parseInt() 方法将字符串转换为整数,String类提供 length()方法获得字符串长度。
74.Class类提供查询对象的类、父类及包等信息的方法。
75.Runtime类的静态方法 getRuntime() 可获得当前应用程序的运行时环境对象,进而通过 freeMemory() 方法可
查询剩余内存。
76.Arrays类提供对数组填充、比较、排序及查找等静态方法。
77.Java异常处理机制
78.Exception和Error类的父类是 Throwable ,它提供 getMessage() 方法获取异常信息, printStackTrace() 输
出异常栈跟踪信息。
79.一个异常对象需要经历抛出、捕获及处理 3个过程。
80.Java异常处理语句的三个关键词是 try 、 catch 和 finally 。
81.GUI提供应用程序与用户交互的界面。它由组件组成, 通过响应各种约定的事件来完成各种工作。
82.Java实现图形用户界面的组件包有 java.awt 和 javax.swing 两个,所有实际使用的组件都是 Component 类的
子类。
83.Window类的常用子类主要有 Frame 和 Dialog ,前者常用作应用程序的主窗口。
84.AWT的文本输入组件类主要有 TextField 和 TextArea 。后者可输入多行并自带滚动条。
85.文本行(TextField)组件可响应的常见事件类有 ActionEvent 、 Event 和 TextEvent 。
86.KeyListener接口约定的事件处理方法有 keyPressed(ke) 、 keyReleased(ke) 和 keyTyped(ke) 。参数ke为
KeyEvent对象。
87.按钮(Button)点击时触发 ActionEvent 事件,相应的事件监听器接口是 ActionListener ,事件处理方法是
actionPerformed(ae) 。
88.Window类的默认布局是 BorderLayout ,Panel类的默认布局是 FlowLayout 。
89.Container类提供 setLayout(lm) 方法可用于设置其中组件的布局,重载的 add() 方法用于添加组件。
90.Font类提供通过字体名、字形及字号参数来创建字体对象的构造方法。
91.列表框(JList)主要响应 ListSelectionEvent 事件,相应的事件监听接口为 ListSelectionListener ,事件处理方
法是 valueChanged( e) 。
92.下拉列表框(JComboBox)主要响应 ActionEvent 和 ItemEvent 事件,相应接口的事件处理方法是
actionPerformed( e) 和 itemStateChanged( e) 。
93.JOptionPane提供的标准对话框通常分为消息、确认、输入及组合型多种形式。
94.JOptionPane类提供了用于便捷显示常用对话框的 showMessageDialog() 、 showConfirmDialog() 和
showInputDialog() 三个静态方法。
95.菜单通常分窗口菜单和快捷菜单两种类型。
96.窗口菜单由 JMenuBar 、 JMenu 和 JMenuItem 等组件构成。
97.JMenuItem和JMenu主要响应 ActionEvent 和 MenuEvent 和 MenuKeyEvent 等事件。
98.进程动态特性表现为就绪、运行和阻塞三种状态。
99.线程调度采用剥夺方式。就绪线程按优先级排队,遵循先到先服务原则。
100.并发进程的各线程间通常具有并发性、共享性、制约性和交互性等特性。
101.Java提供两种创建线程常见方式,一是实现 Runnable 接口,二是继承 Thread 类。线程的操作代码则写于run( ) 方法内,调用线程对象的 start() 方法启动线程。
102.动画设计常常利用线程线程对象的 sleep() 方法或Swing的 Timer 组件来进行快慢控制。
103.存在资源竞争的两个线程可能导致死锁或饥饿两个问题
104.TCP/IP协议可分为应用层、传输层、网络层及接口层(链路层和物理层)等4层。
105.URL的基本结构由传输协议、主机、端口、文件和引用 5部分组成。
106.一个Applet对象会经历由初始态、运行态、停止态到消亡态的一个生命周期。
107.与Applet状态改变有关的方法主要有 init() 、 start() 、 stop() 和 destroy() 4个。
108.根据文件的逻辑结构可将文件分为流式文件和记录式文件 2大类。
109.Java流的根类主要有 InputStream 、 OuputStream 、 Reader 、 Writer 4个。
110.在关系模型中,关系即为一张规范化的二维表,代表一个实体集,表的每一行表示一个实体,表的每个列表示实体的一个属性。
111.关系数据库为数据提供实体完整性、参照完整性和用户定义完整性三类完整性约束。
112.SQL语言提供数据定义、数据查询、数据操纵和数据控制等功能。
113.填表完成4类SQL语句的动词。
114.JDBC规范要求实现的的4个主要接口是Driver 、 Connection 、 Statement 和 ResultSet 。
第一章
1.简述Java语言的主要特点。
简单性:内核小、语言精。
完全面向对象:所有设计都必须在类中实现,一个Java程序就是多个类的集合。
可靠性:提供严密的语法规则,在编译和运行时严格检查错误;自动资源回收机制,减小了内存出错的可能性。
安全性:良好的安全模型;摈弃了其它语言的不安全成份。
分布式:直接支持分布式的网络应用,可实现高效的网络编程
多线程:提供环境级和语言级的多线程支持,提高了程序执行的并发度,提高系统执行效率。
平台无关性:借助虚拟机,程序不经修改即可在不同硬件或软件平台上运行。
2.Java的主要核心技术有哪些?
JDBC/JTA/JPA :Java数据库相关技术
JSP/Servlet/JSF:Java服务端表示层技术
JavaBean/EJB:Java组件技术
JavaMail:Java邮件开发技术
JNDI: Java命名和目录服务技术
3.Java程序可分为哪几种主要类型?
Application:Java应用程序,是可以由Java解释器直接运行的程序。
Applet:即Java小应用程序,是可随网页下载到客户端由浏览器解释执行的Java程序。
Servlet:Java服务器端小程序,由Web服务器(容器)中配置运行的Java程序。
JavaBeans:Java组件,是可重用的Java数据和功能的封装,由其它程序调用执行。
4.简述Java Application和Applet的开发步骤
Application的开发步骤:
(1)利用文本编辑器建立Java源程序文件(.java);
(2)利用Java编译器(Javac.exe)编译该Application,生成字节码文件(.class);
(3)利用解释器(java.exe/javaw.exe)解释执行字节码文件。
Applet的开发步骤:
(1) 利用文本编辑器建立Java源程序文件(.java);
(2) 利用Java编译器(Javac)编译该Applet,生成字节码文件(.class);
(3) 建立一个HTML文件,在其中嵌入Java字节码文件;
(4) 用WWW浏览器或appletviewer装入该HTML文件,使Applet运行。
5.说明main方法的声明格式及各部分的含义。
public static void main(String args[])
public:公共方法,声明该方法可以被任何类访问
static:静态方法,声明该方法可通过类直接访问
void:无返回值,声明该方法不会返回值
main:主方法,是应用程序的运行入口
String args[]:运行时向main传递的参数,为字符串数组
6.简述java包(package)与普通文件夹的异同。
相同点:都是组织和管理文件的一种方式,都是树状层次结构。
不同点:普通文件夹中可放置任何文件,文件信息中也不用事先记录其所属的文件夹,随时可以移动到别的文件夹。Java的包则主要用来组织字节码文件,且必须在文件中声明其所属的包,包层次以点(.)分隔而不是斜杆。
7.简述Java源程序的基本结构。
package // 0或1个,必须是第一条语句
import // 0或n个
public class 或 interface // 0或1个,源程序的文件名必须与该公共类/接口同名
class // 0或n个
Interface // 0或n个
8.解释打包命令( jar cfm myjar.jar mymf.txt *.class mydir )的功能。
将当前目录下的所有.class文件和mydir及其各级子目录中的所有.class文件打包进myjar.jar中,并在包中创建META-INF文件夹,其中的清单文件MANIFEST.MF内容从mymf.txt文件中提取。
9.列举5个Java API的常用包并说明其内含。
https://www.360docs.net/doc/a0293205.html,ng:语言包,内含Java语言的核心类库;
java.awt:抽象窗口包,内含构建图形用户界面的类库;
java.text:文本包,内含各种文本或日期格式化等类;
java.io:输入/输出流包,内含标准输入/输出流类及文件操作类库;
https://www.360docs.net/doc/a0293205.html,:网络包,内含网络编程有关的类库。
10.何谓语法错和语义错?列举常见的一些错误情形。
语法错是指违反语法规范的错误。如标识符未声明,类型不匹配、不兼容,括号不匹配,语句末尾缺少分号,else没有匹配的if等。语法错误编译时就能被发现。
语义错是指存在语言含义错误。如数据格式错,除数为0,变量赋值超出其范围,数组下标越界等。语义错需要等到运行时才会被发现。
11.简述MyEclipse程序调试的基本过程。
①设置断点:在可能出现错误的代码行右侧灰色带区双击设置为运行时的断点。
②调试运行:点击Debug命令打开Debug透视图,程序执行至断点处暂停。
③单步或分段运行:通过Debug工具栏或RUN菜单,让程序逐条语句地单步运行或在断点之间分段运行。
④观察变量:通过Variables视图观察变量取值的变化,分析执行过程,找出逻辑错误所在。
12.优秀程序员通常应遵循哪些基本程序书写规则?
规范化命名
完备的注释
规范的缩格排版
合理使用分隔符
第二章
13.何谓隐式类型转换?其转换规则如何?
指由系统自动转换为能够参与运算或赋值的类型的类型转换方式。其基本规则如下:
①在非赋值表达式中,低级类型会自动向高级类型转换;
②在赋值表达式中,只有int
,
其它情况将出现转换错误或编译报错。
14.何谓流程控制的结构化原则?
只有一个入口和一个出口;
结构内的每一部分都有机会被执行到;
结构内没有"死循环"。
15.写出switch语句的结构并说明其执行过程。
语句结构如右。其执行过程为:将(表达式)的值按照从上至下的顺序依
次与(常量表达式)的结果值进行比较,当(表达式)的值与某个常量值相等
时,执行其后的(语句块),直到遇到break语句或switch语句结束;若
没有与表达式值相等的常量值时,则执行default子句的语句块然后结
束;若没有default子句则直接结束。
16.简述return、break和continue语句的作用。
return语句用于结束方法调用返回调用程序,如果需要可返回方法调用结果。
break语句出现在switch或循环结构中,用于中止执行,跳出本程序结构。
continue语句称为循环短路语句,用于跳过后续语句立即开始下轮循环。
17.写出for语句的结构并说明其执行过程。
for语句的结构为:
for (表达式1 ; 表达式2 ; 表达式3 ) 语句块
执行过程如右图所示。
第三章
18.简述面向对象的封装和信息隐藏思想。
封装包含两层含义: 一是通过类将数据和对数据的操作封装起来形成不可分割的整体;二是通过封装实现信息隐藏,即类屏蔽了方法的实现细节,只提供调用接口让外界访问,从而实现信息隐藏。
封装也是软件模块化机制的具体体现。一个类就是一个独立的功能模块,多个类之间通过消息传递进行协同工作,完成软件系统的全部功能。
信息隐藏的思想可以使设计和使用分离,使用者只需要知道"做什么",包括有哪些类、每个类的特点、每个类提供了哪些常量和成员方法等(查API),而不需要知道这些方法实现的细节。
19.简述方法多态在编译或执行时的查找策略。
对于方法重载,在编译时即能确定调用重载方法的哪一个,属于编译时多态。
对于方法覆盖,如果对象引用的是本类实例,则在编译时也能确定具体调用哪个方法,属于编译时多态;如果对象引用的是子类的实例,则属于运行时多态,需要等到运行时动态确定是调用子类还是父类的方法,从引用的实例类开始寻找,逐级往上查找祖先类,直到找到为止,若始终没找到即报运行时错误。
20.简述抽象类与抽象方法的作用。
抽象类用于描述抽象概念,其中声明的抽象方法为多个子类约定方法声明,每个子类可以根据自身的实际情况,给出抽象方法的具体实现,显然不同的子类可以有不同的方法实现。
一个抽象方法在多个子类中表现出多态性。抽象方法提供方法声明与方法实现的分离机制,使抽象类的多个子类能够表现出共同的行为能力,兼具共性和个性。
第四章
21.简述接口与抽象类的异同.
共同点:从语法和作用上看,接口与抽象类很像,都是通过抽象的约定来定义类型,从而提供方法声明与方法实现分离的机制。
区别:抽象类为子类约定方法声明,并给出部分实现,包括构造方法等; 抽象方法在多个子类中表现出多态性。抽象类只能被单继承。接口为多个互不相关的类约定某一特性的方法声明,一个类可以实现多个接口,从而实现多继承。
22.列举几个Math类的常量和常用方法。
常量有:①自然对数的底数E,②圆周率PI
常用方法有:
①求绝对值:abs()
②求最大、最小值:max()、min()
③求三角函数:sin()、cos()、asin() …
④求对数:log()、log10()
⑤其它:pow()、random()、round() …
23.列举System类的常量和常用方法。
常量有:①标准输入in,②标准输出out,③标准错误输出err
常用方法有:
①数组复制:arraycopy()
②结束程序:exit()
③获得系统时间:currentTimeMillis()
④获得系统全部属性:getProperties()
⑤获得系统某个属性:getProperty()
第五章
24.简述Java的异常处理机制。
Java的异常处理机制为程序运行时出现的各种错误提供了了一个安全退出的通道。当出现错误后,程序正常执行流程将被中断,程序控制权转移到异常处理器。
Java的异常处理机制使程序正常代码与错误处理代码相分离,使程序结构清晰,可读性强。
Java异常处理是通过5个关键字来实现的:try,catch,throw,throws和finally。对于可能发生错误的代码需要放入try子句中,catch子句用于捕获和处理异常,finally子句用于善后处理。如果当前方法不想处理异常则可在声明语句后加throws子句向上抛出异常,让调用程序或虚拟机处理。对于一些逻辑错误,程序也可使用throw关键字主动抛出异常。
25.列举常见的运行时异常类。
ArithmeticException,如整数除法或求余时除数为0
NullPointerException:如引用不存在的对象
ClassCastException:如不能成功地执行类型转换
NumberFormatException:如待转换为数值的字符串格式不正确
ArrayIndexOutOfBoundsException:数组元素引用时下标越界
StringIndexOutOfBoundsException:字符串访问时子串下标越界
26.简述try-catch-finally语句的执行流程。
程序首先执行可能发生异常的try语句块。如果try语句没有出现运行时异常则执行完后跳至finally语句块执行;如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。catch语句块可以有多个,分别捕获不同类型的异常。catch语句块执行完后程序会继续执行finally语句块。finally语句是可选的,如果有的话,则不管是否发生异常,finally语句都会被执行。
第六章
27.列举Component类的常用方法。
setBounds(int x,int y,int width,int height):坐标位置和宽度、高度
setVisible(boolean b):设置组件是否可见
setBackground(Color c):设置组件的背景颜色
setFont(Font f ):设置组件字体
getWidth()、getHeight():获得组件的宽度和高度
getX()、getY():获得组件的X、Y坐标
getBackground()、getForeground():获得组件的背景和前景颜色
getFont():获得组件的字体
28.简述Java的委托事件模型。
Java将各类事件封装成不同的事件类,并为每个事件类定义一个事件监听器接口。
事件监听器接口约定了各类事件发生时的处理方法。实现事件监听器接口的类须在相应的事件处理方法中编写处理代码,以便对各类事件作出响应。
事件对象会在某事件触发时自动创建,并作为参数传递给约定的事件处理方法。事件类提供获取事件源、事件发生时间等实例方法。
希望响应事件的组件通过注册实现了相应事件接口的对象即可响应事件。
29.简述窗口事件、键盘事件及鼠标事件的事件类、监听接口及事件响应。
窗口事件:事件类为WindowEvent,监听接口为WindowListener,用于监听窗口被打开、激活、关闭、最小化等操作。
键盘事件:事件类为KeyEvent,监听接口为KeyListener,用于监听按键操作,包括按下、释放、打字3种情况。
鼠标事件:事件类为MouseEvent,监听接口有MouseListener和MouseMotionListener,用于监听鼠标进入、移出、点击、移动、拖拉等操作。
30.列出常用Swing组件的常用方法、事件及事件接口。
31.JOptionPane类的showConfirmDialog()方法可包含哪些参数?其返回值是什么?
参数有:
①父窗口:null则为本Frame;
②信息:要显示的确认信息;
③标题:指定对话框标题文字
④按钮类型:指定显示哪些按钮,可取字段常量;
⑤消息类型:以不同图标来表示,可取字段常量;
⑥图标:指定在对话框中需要显示的图标。
返回值:根据用户点击不同的按钮返回相应整型值,对应不同的字段常量。
32.何谓临界资源?何谓临界区?操作系统如何对多线程进入临界区调度?
把互拆线程的共享变量代表的资源称为临界资源,而线程中操纵共享变量的程序段则称为临界区。操作系统对共享变量的若干线程进入临界区有以下3个调度原则:
①一次至多一个线程能够在它的临界区内。
②不能让一个线程无限地留在它的临界区内。
③不能强迫一个线程无限地等待进入它的临界区。特别地,进入临界区的任一线程不能妨碍正等待进入的其
他线程的进展(不能把门反锁)。
33.Java对Applet的行为作了哪些安全限制?
禁止读/写本地计算机的文件系统,包括读取本地文件、写入本地文件、查看本地文件是否存在、将本地文件改名、创建一个本地目录等操作。
禁止运行任何本地可执行文件。
禁止访问用户名、电子邮件地址等与本地计算机有关的信息。
禁止与除服务器外的任何一台主机通信。
34.列举HTML中嵌入Applet标记的常用属性并说明其含义。
code:指定嵌入Applet的字节码文件名(.class),文件名前不能加路径名
codebase:指定Applet相对于HTML文件的路径(URL),省略时,Applet与HTML文件在同一目录下 width、height:指定Applet显示区域的宽度和高度,单位是像素
name:为Applet指定浏览器访问名
param:为Applet指定运行时参数,参数名由name指定,参数值由value指定
35.简述文件字节流、数据字节流和对象字节流三者的异同。
文件字节流封装了以字节为单位进行文件读写的方法。通常用于读/写一般流式文件(如图像文件),这种文件属于非记录式文件,因而不能直接用于读/写记录式数据。
数据字节流是对Java基本类型数据读写操作的封装,可实现对文件中结构化数据的读/写操作,能方便地从记录式文件中读取程序所需的数据或将数据保存到记录式文件中。
对象字节流封装了基于序列化对象的读/写方法。可实现将程序中的对象类型数据写入到记录式文件中或从记录式文件恢复程序所需的对象。
36.简述文件字节流与文件字符流的异同。
文件字节流封装了以字节为单位进行文件读写的方法。通常用于读/写一般流式文件(如图像文件),这种文件属于非记录式文件,因而不能直接用于读/写记录式数据。字节流文件通常不能直接用Windows记事本查看或编辑。
文件字符流则封装了以字符为单位进行文件读写的方法。Java的字符以Unicode码存储,占用2个字节。以字符流保存的文件可以直接用Windows的记事本查看和编辑。
37.何谓URL?URL地址由哪几个部分构成?写出RUL地址的基本格式
URL即统一资源定位符的英文缩写,用于在Internet上指定信息资源的地址。
URL地址由协议、主机、端口和文件名等几个部分构成,其基本格式为:
协议: //主机[:端口][/文件][#引用]
38.简述TCP Socket通信的基本流程。
①服务端创建一个ServerSocket对象, 指定端口号, ServerSocket对象等待客户端的连接请求。
②客户端创建一个Socket对象, 指定主机地址和端口号, 向服务端发出连接请求。
③服务端接收到客户端的连接请求, 建立一条TCP连接, 再创建一个Socket对象与客户端的Socket对象进行通
信。
④服务端和客户端分别创建字节输入流和字节输出流, 通过字节输入流获得对方发来的数据, 通过字节输出流向对
方发送数据。
⑤当一方决定结束通信时, 向对方发送结束信息; 另一方接收到结束信息后, 双方分别关闭各自的TCP连接。