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

上传人:仙*** 文档编号:208397716 上传时间:2023-05-10 格式:DOC 页数:17 大小:59.50KB
收藏 版权申诉 举报 下载
jav语言程序设计方案B复习提要(版本)(DOC 15页)_第1页
第1页 / 共17页
jav语言程序设计方案B复习提要(版本)(DOC 15页)_第2页
第2页 / 共17页
jav语言程序设计方案B复习提要(版本)(DOC 15页)_第3页
第3页 / 共17页
资源描述:

《jav语言程序设计方案B复习提要(版本)(DOC 15页)》由会员分享,可在线阅读,更多相关《jav语言程序设计方案B复习提要(版本)(DOC 15页)(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: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!