jav语言程序设计方案B复习提要(版本)(DOC 15页).doc

上传人(卖家):2023DOC 文档编号:5690955 上传时间:2023-05-03 格式:DOC 页数:17 大小:59.50KB
下载 相关 举报
jav语言程序设计方案B复习提要(版本)(DOC 15页).doc_第1页
第1页 / 共17页
jav语言程序设计方案B复习提要(版本)(DOC 15页).doc_第2页
第2页 / 共17页
jav语言程序设计方案B复习提要(版本)(DOC 15页).doc_第3页
第3页 / 共17页
jav语言程序设计方案B复习提要(版本)(DOC 15页).doc_第4页
第4页 / 共17页
jav语言程序设计方案B复习提要(版本)(DOC 15页).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、Java语言程序设计B复习提要1、类、对象的概念,类与对象的关系(P8)。答:类是同一种(具有相同属性和行为)对象的集合与抽象。对象是现实中的具体实体。2、面向对象的三大特征(P9)。答:抽象、封装、继承和多态。3、封装、继承和多态的概念。Java语言实现多态有哪三种方法(P9)?n 封装是将对象的属性和行为组合成为一个独立的单位或部件,并尽可能隐蔽对象的内部细节,而只保留必要的对外接口,使之与外部发生联系。它是面向对象的重要原则。n 继承是指一个对象是对另一个对象的扩展,它除了包含被继承对象的已有属性的操作之外,还可以加入新的特性。n 多态性是指同一个消息可以根据发送对象的不同而产生不同的效

2、果的行为方式。利用多态性可以实现用相同的方法调用作用于不同类型的对象。n 实现多态的方法:方法重写(方法覆盖)、方法重载、接口4、JDK安装目录下,bin文件夹中的可执行文件javac.exe,java.exe,appletviewer.exe和javadoc.exe的作用(P19)。答:javac.exe:Java语言编译器,它负责将Java源代码(以Java为扩展名)编译为字节码(以class为扩展名)java.exe:Java语言解释器,它负责执行Java字节码文件;appletviewer.exe:Java Applet小程序查看器。javadoc.exe:Java语言文档生成器,将源

3、程序文档中的注释取成html格式文件。5、Java程序的分类(P21)。答:应用程序(Application),它类似与以往用其它高级语言开发的程序,可以在本机上开发,也可以在本机运行,它的执行入口点中main()方法。另一类是小型应用程序Applet,它需要通过浏览器下载运行,其中没有main()方法。6、Java的基本类型包含了哪8种,字符使用什么编码形式(P47-48)?答:整数型、浮点型、布尔型与字符型四类八种。其中数值型6种分别为整数类型int类型4个字节,short类型2个字节,long类型8个字节,byte类型1个字节。浮点类型中float类型4个字节,dpuble类型8个字节。

4、字符编码使用Unocode编码体系,双字节。7、一个浮点常量没有使用表示类型的后缀字母f或d,则该浮点常量的类型是那种(P50)?答:整形默认类型为int类型,浮点类型默认类型为double类型。加E表示指数方式,加F表示单精度float,加D表示双精度double。在E的前面至少要有一位数字。8、字符串的连接运算符是哪个(P51)?答:使用“+”符号实现两个字符串的连接。”How ”+”are you”表示”How are you”9、Java语言中的布尔常量只有两个,写出它们的常量表示形式(P51)。答:true与false。只能是其中的一个。10、对象运算符是:instanceof,它有

5、何用途(P58)?答:它用于测定一个对象是否属于某个指定类或指定类的子类的实例,它是一个双目运算符,左边的表达式是一个对象,右边的表达式是一个类,如果左边的对象是右边的类创建的对象,则运算结果为true,否则为flase。11、Java中的常用数学函数定义在那个类中,这些函数都用public和static修饰,可以直接用类名来调用,写出调用的一般形式(P68)。答:常用的数学函数在Math类中。其一般的形式如下:import java.lang.math.*,一般可以直接引用类中的方法。Math.sin(Math.PI/4),Math.sqrt(XXXX),Math.pow(aInt,bInt

6、)等,参考API文档。12、习题:3.1,3.3,3.7,3.9(P72-73)/第3章习题1非法变量名称:A=bbyte3ABCabc-0xab4-3elk*j/第3章习题3,程序名:X03_03_Switch.javapublic class test public static void main(String args) int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+; b+; System.out.println(a=+a+tb=+b); 运行的结果是:a=2b=1注意题目中的控制位置有两处,最终输出的时候重新修改

7、了.第3章习题3.7,计算100(含100)以内的所有偶数的和、所有奇数的和。程序名:X03_07_OuJiSum.javapublic class X03_07_OuJiSum public static void main(String args) int k,sumOu=0,sumJi=0;for(k=1;k=E1)sumE += temp;n+;temp=1.0/fct(n);System.out.println(n=+(n-1)+,sumE= + sumE);static long fct(int n)/计算n!long JieCheng=1;for (int k=1;k=n;k+)

8、JieCheng*=k;return JieCheng;13、Java中数组声明和数组创建的含义相同吗?指出下面语句的作用(P76):声明数组可以使用int student或int student;声明数组只是给出了一个数组的名称的数据的类型,要使用数组还要为数组分配内存空间。如下格式:int student;/声明数组student=new student50;/为数组分配内存空间14、数组被初始化后,如果想知道这个数组的元素个数,要使用数组的哪个属性(P77)?答:使用length属性确定。15、Java二维数组允许各行有不同的元素个数吗(P80)?答:可以。Java的数组定义方式与其它语

9、言不同。它是按一维建立相应的二维,并以此类推。16、Java中使用那个类创建字符串常量,使用那个类创建字符串变量(P88)?答:String类,声明常量格式stringName=字符串常量;如:str=new String(“Java程序设计”)或str=” Java程序设计”17、习题:4.4,4.6(P104)。/第4章习题2,程序名:X04_04_ArrayCoverse.javapublic class X04_04_ArrayCoverse public static void main(String args) int iArray=9,5,7,4,8,temp,count;cou

10、nt=iArray.length;System.out.println(数组原有数据:);for(int k=0;kcount;k+)System.out.print(iArrayk+t);System.out.println();for(int k=0;kcount/2;k+)temp=iArrayk;iArrayk=iArraycount-k-1;iArraycount-k-1=temp;System.out.println(逆序重置后的数组数据:);for(int k=0;kcount;k+)System.out.print(iArrayk+t);System.out.println()

11、;/第4章习题6,程序名:X04_06_CharCount.javaimport javax.swing.JOptionPane;public class X04_06_CharCount public static void main(String args) int count = 0, k = 0,spaceV=0,charV=0,numberV=0;String str;char cArr;str = JOptionPane.showInputDialog(请输入一个字符串:);cArr = str.toCharArray();count = cArr.length;for(k=0;k

12、 & cArrk & cArrk/ & cArrk:)numberV+;/统计数字的个数System.out.println(输入的字符串是:+str+,t字符串长度是:+str.length();System.out.println(字母的个数:+charV+,t空格的个数:+spaceV+,t数字的个数:+numberV);18、类声明时,类的访问权限修饰符有哪两种情况?如果在类说明中无extends,则隐含地假设其父类是哪个类(P107)?答:(1)类定义修饰符说明类的性质和访问权限,包括public、默认修饰符、abstract、final。(2)extends说明类的父类,一般形式为

13、extends,在Java中如果说明extends,则隐含假设其父类为Java.lang.object。19、类中所定义的变量和方法都是类的成员。为类的成员定义一定的访问权限,限定其它对象对它的访问。访问权限有哪4种?分别具有什么样的访问权限(P108)?答:(1)public说明的变量是公有变量,其访问权限是允许任何程序包中的类访问,其作用域最广。(2)private说明的变量是私有变量,其访问权限只能是被定义它的类中的方法访问。(3)protected是保护变量,其访问权限只能中类本身,子类及在同一个包中的所有类的变量访问。(4)默认修饰符:也称隐含修饰符,它不属于Java的关键字,其作用

14、是控制变量的访问权限,如果一个变量没有显式说明访问权限,则表示使用默认的修饰符,它允许类本身用在同一个包中的类的变量访问。20、对类的成员来说,可分为实例成员和类成员,如何区分(P108)?答:用static说明的变量是一个静态变量,也称类变量。无static说明的变量为实例变量。它们之间的区别是:实例变量必须通过类的对象访问,每个对象都有这些变量的备份;而静态变量则独立于该类中的任何对象,它在类中只有一个备份,可以不通过类的对象直接使用,它一直属于定义它的类。21、说明修饰符:final、static、abstract和synchronized 的作用(P109)?答:(1)final说明该

15、方法为最终方法,指该方法不能被其所在类的子类重载,只能继承,不能重写。(2)static说明该方法为静态方法,也称为类方法,在使用该方法时不需要初始化该方法所在的类。此方法也不能被其它方法重载。(3)abstract说明该方法是抽象方法,该方法只有说明,没有方法体,方法在所在类的子类中被具体实现。(4)synchronized说明是同步方法,主要用于多线程程序设计,用于保证在同一时刻只有一个线程访问该方法。它是实现资源之间协商共享的保证方式。22、构造方法有返回值吗?构造方法可以从父类中继承吗?一个类可以有多个构造方法吗?可以直接通过方法名调用构造方法吗(P110)?答:构造方法主要用于为类的

16、方法中的变量赋初值,当使用new创建一个类的新对象的时候,构造方法就立刻执行。它必须与类名相同。(1)它没有返回值类型,没有void,其修饰符只能是文章控制修饰符public、private或protected其中之一。(2)它不能从父类中继承。(3)可以重载,一个类可以有任意多个构造方法,不同的对象根据参数的不同状态选择合适的构造方法。(4)它不能通过方法名直接引用,必须通过new运算符。(5)可以调用当前类和其父类的另一个构造方法,但必须是方法体的第一个语句。23、什么是方法重载?说明例5.5中方法重载情况,分析运行结果(P114)。答:在Java类中可以创建名字相同,但参数和返回值不同的

17、多个方法,这就是方法重载(overloading)。Java系统通过参数和返回值来区分具体是哪个方法。通过方法重载,一个类中可以有多个名字相同的方法,通过对其传递的不同参数调用特定的方法,这就是多态。24、什么是变量隐藏?什么是方法覆盖?说明例5.8中变量隐藏和方法覆盖情况,分析运行结果。答:子类继承父类后,如果出现子类的成员变量与父类的成员变量相同,则子类将父类的成员变量隐藏起来,在此情况下,子类使用的变量是它自己的变量,而不是父类的成员变量。/例5.8,成员变量隐藏和方法覆盖应用举例。程序名L05_08_SuperUse.javaclass Superclass int x; Superc

18、lass()x=3;System.out.println(in Superclass:x=+x); void dosomething()System.out.println(in Superclass.dosomething(); class Subclass extends Superclass int x; Subclass()super();x=5;System.out.println(in Subclass:x=+x); void dosomething()super.dosomething(); System.out.println(in Subclass.dosomething()

19、; System.out.println(super.x=+super.x+tsub.x=+x); public class L05_08_SuperUse public static void main(String args)Subclass Subc=new Subclass();Subc.dosomething(); 25、什么情况下使用super和this(P119)?答:子类继承父类之后,如果成员变量与父类相同。则父类的变量被隐藏,如果子类要调用父类的变量则需要使用super。(1)用来访问父类中被覆盖的方法;(2)用来访问父类中的构造方法;(3)用来访问父类中被隐藏的成员变量。T

20、his是Java的关键字,它表示每个实例对象指向自己的引用,一般只能用于在实例方法或构造方法中,不能出现在类方法中。26、Java中一个类的父类只能有一个吗?一个接口的父接口也只能有一个吗?答:通过继承方式只能有一个父类,但通过接口方式可以有多个父类。27、在一个Java源程序文件(.java)中可以定义一个类,也可以定义多个类,若定义多个类,其访问权限为public的类能有几个?编译后的字节码文件(.class)有几个?答:可以定义多个类,对于使用访问权限为public的类没有限制,生成的class文件数量与其相同。28、习题:5.6、5.9、5.15、5.16(P141)/第5章习题15,

21、程序名:X05_15_Student.javaclass X05_15_Student private String sname;private int sbirthday;private String sclass;X05_15_Student() X05_15_Student(String name, int birthday, String class1) sname = name;sbirthday = birthday;sclass = class1;void setname(String name) sname = name;String getname() return snam

22、e;void setbirthday(int birthday) sbirthday = birthday;int getbirthday() return sbirthday;void setclass(String class1) sclass = class1;String getclass() return sclass;void print() System.out.println(sname= + sname + sbirthday= + sbirthday+ sclass= + sclass);class CollegeStudent extends X05_15_Student

23、 void setbirthday(int birthday) if (birthday = 17 & birthday = 30)sbirthday = birthday;elseSystem.out.println(Not a collegestudent!);/第5章习题16,程序名:X05_16_ AbstractUse.javaabstract class Shape abstract double Area();abstract double Perimeter();class Rectangle extends Shape private double length;privat

24、e double width;Rectangle(double l, double w) length = l;width = w;double Area() return length * width;double Perimeter() return 2 * (length + width);void Print() System.out.println(Rectangle:length= + length + , + width=+ width + ,Area= + Area() + ;Perimeter= + Perimeter();class Circle extends Shape

25、 private double radius;Circle(double r) radius = r;double Area() return Math.PI * radius * radius;double Perimeter() return 2 * Math.PI * radius;void Print() System.out.println(Circle:radius= + radius + ,Area= + Area()+ ;Perimeter= + Perimeter();public class X05_16_AbstractUse public static void mai

26、n(String args) Circle aCircle = new Circle(4);Rectangle aRect = new Rectangle(5, 12);aCircle.Print();aRect.Print();29、什么是异常?什么是抛出异常?什么是捕获异常(P144)?答:异常是指程序在某些运行情况下,会使当前正在执行的方法或代码块无法继续运行的问题,普通的问题在编码时可以得到足够的信息来处理普通问题。但当异常发生时,由于无法获得足够的信息,因此只能选择跳出当前的运行代码,或者将问题交给上层代码去处理,这就是异常抛出。当Java系统运行时得到一个异常对象时,它会沿着方法的

27、调用栈依次回溯,寻找处理这个异常的代码,找到能够处理这类异常的方法后,运行时系统将当前的对象交给这个方法处理,这个过程就是捕获异常。30、(P145)根据程序对错误与异常的处理方式,可以将Java中的异常分为哪3类?答:(1)Error类:指系统级的错误,无法解决。(2)RuntimeException类:可以避免,一般不会影响系统的运行,可以不处理。(3)Exception类:程序运行中必须捕获的异常,使用trycatch.方法。31、使用什么语句捕获并处理异常?使用什么语句人为抛出异常?使用什么子句声明方法抛出异常(149-150)?答:try-catch-finally语句用于捕获并处理

28、异常。32、习题:6.10(P157)答:33、习题:7.3(P174)答:Applet执行的方法主要为:init()、start()、stop()、destroy()和paint()。它们的执行过程取决于程序设计人员。34、容器(Container)类包含了Panel、Window、Frame和Dialog等子类,其中,那些类容器不带边框?那些类容器带边框?Container类的那个方法可以向容器中添加组件(P177)?答:Panel子类不带边框,其它类均有边框35、Java.awt包中为容器定义了哪5种布局管理器?Panel的默认布局管理器是哪个?Window、Frame和Dialog的默

29、认布局管理器是哪个?使用容器类的那个方法设定布局管理器(P180-181)?36、在Java的事件处理过程中,主要涉及哪三类对象(P186)?答:(1)Event:事件,用户对界面操作在Java语言上的描述,以类的形式出现。(2)Event Source:事件源、事件发生的场所,通常就是各个部件。(3)Event handler:事件处理者,接收并能够处理事件。37、使用委任事件模型进行事件处理,一般通过那些步骤来接受和管理事件(P186)?答:(1)让类声明所需要的监听器。针对XXXEvent使用XXXListener(2)为组件(事件源)登记接口。针对组件进行授权,使用addXXXList

30、ener方法来注册监听器(3)在类中实现接口中声明的事件处理方法。38、分析例8.6程序。(P210)实验:2.(3)(P189)/例8.6 事件处理模型的应用举例。程序名L08_06_ActionHandleDemo.javaimport java.awt.*;/引用awt类包import java.awt.event.*;/引用事件包public class L08_06_ActionHandleDemo extends Frame implements ActionListener static L08_06_ActionHandleDemo frm=new L08_06_ActionH

31、andleDemo(); static Button btn=new Button(请单击!);/新建对象同时设置title public static void main(String args)/main方法开始 btn.addActionListener(frm);/为按钮增加监听器 frm.setLayout(new FlowLayout();/设置窗体的布局 frm.setTitle(事件测试窗口);/设置窗体的title frm.setSize(300,200);/设置窗体的大小 frm.add(btn);/将按钮加入窗体中 frm.setVisible(true);/设置窗体可见

32、 public void actionPerformed(ActionEvent e) frm.setBackground(Color.blue); 39、Jvav的一个线程由哪几部分组成(P213)?答:(1)虚拟处理机(虚拟CPU),封装在java.lang.Thread类中。它控制着整个线程的运行。(2)执行的程序代码(Code),传递给Therad类,由Thread类控制顺序执行。(3)程序所处理的数据(Data)传递给Thread类40、Java中可以采用哪2种方式创建新的线程?分析例9.1和9.2中创建线程的方法(P215)?答:(1)扩展thread类:首先扩展java.lang

33、.Thread的类,然后用希望执行的代码来实现run()方法,再通过new关键字实例化该类的一个新对象(一个线程),最后通过start()方法启动线程。(2)实现Runnable接口:Runnable接口实现类,然后创建一个Thread类的对象(创建一个新线程),最后用线程对象调用start()方法启动线程。/通过继承线程创建线程举例。程序名:L09_01_ExtendsThread.javapublic class L09_01_ExtendsThread extends Thread / 继承Thread类int count = 1, number;public L09_01_Extend

34、sThread(int num) / 通过形参num接收参数传递number = num;System.out.println(创建线程 + number);public void run() / 重新构造run()方法while (true) System.out.println(线程 + number + :计数 + count);if (+count = 5)return; / run()public static void main(String args) for (int i = 0; i 10; i+) L09_01_ExtendsThread tt = new L09_01_E

35、xtendsThread(i + 1);/ 构造线程tt并向其传递参数tt.start(); / 通过调用start()方法启动线程 / main()/通过Runnable接口创建线程举例。程序名:L09_02_ImplementsRunnableThread.javapublic class L09_02_ImplementsRunnableThread implements Runnable / 实现Runnable接口int count = 1, number;public L09_02_ImplementsRunnableThread(int num) number = num;Sys

36、tem.out.println(创建线程 + number);public void run() / 重新构造run方法while (true) System.out.println(线程 + number + :计数 + count);if (+count = 5)return; / run()public static void main(String args) for (int i = 0; i 10; i+) L09_02_ImplementsRunnableThread yourt = new L09_02_ImplementsRunnableThread(i + 1);Threa

37、d tt = new Thread(yourt); / 创建一个新线程tt.start(); / 启动线程 / main()41、使用Thread类的哪个方法使当前等待?哪个方法唤醒一个等待中的线程(P215)?答:(1)public static void sleep(long milis)是实现使当前线程睡眠指定的时间。Public final void wait()是导致当前的线程等待(2)public final void notify()是唤醒一个等待中的线程。42、按照线程体在计算机系统内存中的状态,可以将线程从产生到灭亡分为哪五种状态(P218)?答:依次为(1)新建状态(2)就

38、绪状态(3)运行状态(4)挂起状态(5)死亡状态。43、Java使用那个关键字来实现线程同步?实现线程同步的方法有哪2种(P221)?答:实现线程同步的关键字是:synchronized实现线程同步的方法:方法同步与对象同步。44、习题:9.19.9(P234)45、习题:10.110.6(P258)46、什么是Socket套接字?什么是端口(P261-262)?答:网络中两个程序通过一个以向的通信连接实现数据的交换,这个双向链路中的一端称为一个Socket套接字。网络中的信息通过指定的系统位置接入,这个位置就称为端口。系统的TCP与UDP端口数量均为65535个。其中TCP的端口有些是固定用

39、途,其它程序不能使用。如80端口用于http。21端口用于FTP,110端口用于收邮件,25端口用于SMTP等。相关内容查询API资料。47、习题:11.111.6(P282)48、JDBC主要完成哪四方面的工作(P285)?答:(1)加载JDBC的驱动程序(2)建立与数据库的连接(3)使用SQL语句进行数据库操作并处理结果(4)关闭数据库的连接。49、习题:12.1、12.4、12.5、12.6、12.7(P306)50、获取文件或目录的相关信息,可以使用那个类(P308)?答:使用文件类,它的直接父类是Object类。在java.io包中。51、对文件按字节进行顺序读/写时要使用那个类(P311)?答:使用FileInputStream/FileOutputStream。52、字符流的基类是哪2个类?字节流的基类是哪2个类?两种流有何区别(P312,P315)?答:字符流的基类是:InputputStream与OutputStream字节流的基类是:Reader与Writer字节流按字节读写数据,而字符流是按双字节读写数据。对于ASCII两者效果相同,但对于使用双字节的Unicode编码数据则不同,字节流无法正常显示。题型:选择题(10*10)、填空题(10*20)、简答题(4*12)、程序阅读题(4*20)、程序设计题(3*38)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(jav语言程序设计方案B复习提要(版本)(DOC 15页).doc)为本站会员(2023DOC)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|