《Java语言程序设计》期末复习提纲2017(1)
Java语言程序设计复习提纲

复习提纲一、主要范围:●教材:第1-6章、8章(重点是3、4、5章)●PPT讲稿:java1-java8、java10●作业:第一、二次二、重点:●Java语言基础:Java标识符定义、常用关键字、表达式等●Java类的定义、静态成员特点、方法的以值传递(PPT示例)●Java的继承(域与方法的继承PPT示例)、方法的继承与覆盖、多态的概念与实现●抽象类与接口的定义、比较和实现●Applet 与Application 的比较、数组的声明、数组与向量的特点比较●字符串的生成与比较三、考试题型:●选择题(单选,30分):一部分是概念,如教材上对重要概念的一些总结,如P85对abstract的总结、P66对构造函数的总结以及对数组向量的总结等;另一部分是对标识符、表达式或数组声明等是否合法,或是通过阅读程序片段检查基本概念等●判断题(10分):基本概念●改错题(15分):简单程序片段,说出错误原因●写出运行结果(20分):考察Java中的类的继承机制的应用(包括域与方法的继承)、方法的以值传递、常用程序设计方法如递归方法等应用●简答题(5分):主要是Java中重要概念或主要机制的实现,概念主要集中在第4-5章中的概念问答题●程序设计题(20分):重点考察Java的字符界面输入Application应用和简单的Applet程序四、参考1、类、方法、变量和数组的正确的定义例1:下列哪个标识符是无效的?[ 2 ](1) IdoLikeTheLongNameClass (2) 3_case(3) ﹩byte (4) _ok例2:请选择你认为不正确的数组声明语句:[ 4 ](1)int[] x = {5}; (2) int y[ ];(3) int[] a = new int[4]; (4) int b[3];2、各种修饰符的用法abstrct final static native null instance this supper3、Overload 和Override的应用例3:阅读程序片段:class A{ Protected Integer doSomething(int a) { //do something; }}class B extends A { }下面哪些类B的方法是有效的?[ 2 ] [ 5 ](1)private Integer doSomething(int a) { //do something; }(2)public Integer doSomething(int a) { //do something; }(3)public Object doSomething(int a) { //do something; }(4)protected Object doSomething(int a) {//do something; }protected Integer doSomething(float a) {//do something; }4、在HTML中正确调用applet5、接口的实现和继承,接口与抽象函数interface abstract extends implements6、文件的输入输出流和文件管理类File FileInputStream fileOutputStream7、PPT Java 6: 方法的继承与覆盖8、递归程序P147-1509、字符界面的输入输出:P28例2-9、P58 3-9、3-1010、简单的Applet程序:P122 5-12、期中考试的最后一个编程题重要说明:书中P96和P103中的定义有错,请注意1、方法重载(Overload)指多个方法可以享有相同的名字,但是参数的数量或类型不能完全相同。
04747Java语言程序设计(一)复习题汇总

04747Java语言程序设计(一)复习题汇总Java语言程序设计(一)复习题一、选择题1、下面哪个不属于...Java语言的特点(C、编辑型)A、动态性B、面向对象C、编辑型D、多线型2、算符“&&”适用于数据类型()A、intB、longC、doubleD、boolean3、下列说法正确的是()A、不需定义类,就能创建对象B、属性可以是简单变量,也可以是一个对象C、属性必须是简单变量D、对象中必有属性和方法4、下面不是..合法Java标识符的是()A、abB、$_3C、3abD、ab35、下面不是..Java移位运算符的是()A、>>>B、<<<C、>>D、<<6、下面哪个不是..Java的关键字()A、doubleB、IntegerC、floatD、default7、下列算符中优先级别最高的是(C、!= )A、&B、&&C、!=D、?:8、关于main()方法说法正确的是()A、一个类中可以没有main()B、所有对象都必须放在main()方法中C、main()必须放在公共类中D、main()方法头的定义可以根据情况任意修改9、下列标签名中非法..的是()A、hereB、thereC、thisD、that10、下面各组中全部属于字型要素的是()A、字体、字形和大小B、字体、风格和字号C、字形、风格和字号D、字形、颜色和字号11、下列不是..构造方法特征的是()A、名字与类相同B、是无参考的C、是viod型D、是一种特殊方法12、关于代码“String [][]s=new String[10][];”的正确陈述是()A、该行代码非法B、s 是一10行10列的数组C、s 是一包含10个一维数组的二维数组D、s中每个元素设为""""""13、如想限制类本身对静态成员的访问,应该()A、用finalB、用privateC、不使用任何关键字D、不能限制14、下列不属于类的属性修饰符的是()A、publicB、abstractC、privateD、final15、一个创建对象的操作中,不包含...()A、释放内存B、对象声明C、分配内存D、调用构造方法16、下列关于封装性的说法中,错误..的是()A、是一种信息隐蔽技术B、使对象之间不可相互作用C、是受保护的内部实现D、与类有关,封装的基本单位是对象17、代码“new List (10,true);”的含义是()A、创建含10列的新列表B、创建含10行的新列表,且允许多重选择C、创建不多于10个选项的新列表D、创建含10行的新列表,每次选一项18、要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是()A、JFrame(s)B、window(s)C、new JFrame(s)D、super(s)19、下列布局管理器中,哪一个会在前个组件相同行上放置组件,直到该组件超出容器的宽度,然后从新行开始,并把添加的组件居中放置()A、BorderLayoutB、CardLayoutC、FlowLayoutD、GridbagLayout20、滚动列表(List)每次选择选项,可以选择的个数是()A、1B、多个C、所有D、根据列表对象初始化参数确定21、Java源文件的扩展名是()A、.classB、.javaC、.javD、.cla22、Java注释方式不包括...C、/** … **/ ()23、下列说法正确的是()A、实例方法能对类变量和实例变量操作B、实例方法只能对类变量操作C、实例方法只能实例变量操作D、类方法能对类变量和实例变量操作24、下面均为Java关键字的一组是()A、boolean,byte,long,true " "B、byte, long,true,goto" "C、goto ,Boolean,byte,true" "D、bool, long,true,auto" "25、Java语言使用的字符集是()A、ASCIIB、EBCDICC、UnicodeD、BCD26、下面的四个选项中,均是八进制或十六进制数的是()A、-10,ox8f,011" "B、oabc,-017,oxc" "C、0010,-ox10,oxf1" "D、oa12,ox12,oxa " "27、下面的哪一项能正确生成5个空字符串()A、String a[]=new String [5]B、String 5[a]C、String [5]aD、String a[5]28、下列算符中优先级最低的是()A、++B、%C、?D、&29、Java中,一个类可以有几个父类(B、1 )A、任意B、1C、2D、430、类中不加任何访问权限限定的成员属于()A、defaultB、publicC、privateD、protected31、若有下面的类定义“class Bridge {Road road;} class Road{String name;}”它表示()A、"是什么"关系B、"有什么"关系C、二者都是D、二者皆不是32、this关键字的含义是表示一个()A、指针B、当前对象C、一个类D、一个方法33、一个消息的内容不包括...()A、消息接收者B、接受对象应采用的方法C、指示接受者做何处理D、方法的参数34、main()方法中有如下代码“Frame f=new Frame(""MyFrame""); f.sd Size(100,100);”为在屏幕上显示该对象,应增加下面哪个代码()A、f.appear()B、f.set Foreground()C、f.set Visible()D、f.enable35、下列程序的执行结果是()public class Test{public static void main(String args[]){float t=9.0f; int q=5;System.out.println((t++)*(--q));}}A、40B、40.0C、36D、36.036、下列关于接口的说法,正确的是()A、接口与抽象类是相同的概念B、实现一个接口,必须实现接口的所有方法C、接口之间不能有继承关系D、一个类只能实现一个接口37、隐藏用户界面组件的指令是()A、disableB、setVisibleC、removeD、delete38、创建了一个选择控件对象后,将选项顺序加入到控件中的方法是()A、Choice ()B、remove (int)C、getSelectItem ()D、add (string)39、滚动列表(List)k可以产生几种事件()A、1B、2C、3D、440、设置组件的背景色可用方法()A、void setBackgroundColor(Color c)B、void setForegroundColor(Color c)C、void setBackground(Color c)D、void setForeground(Color c)41、Java的int型变量占内存的字节数是()A、1B、4C、2D、与机器有关42、下列选项中全部都是合法的实型常量的是()A、12.4,12,12.4f,12.4F" "B、12.0f,2e4f,12.0,6e-4" "C、6e,12.1,24f,25d" "D、13.6, 6e0.3,456.7d,e2" "43、下列说法错误..的是()A、一个类中的实例方法可以调用其他实例方法B、实例方法可以调用静态方法C、静态方法可以调用实例方法D、静态方法可以调用静态方法44、若定义int x=3,y;则执行语句y=(x++)+(x++)+(x++);后y= ()A、9B、12C、15D、1845、下面哪个是有效的Java标识符()A、max_numB、max-numC、3DogNightD、(train)46、以下关键字中哪一个是不可用来控制对类成员的访问()A、publicB、privateC、protectedD、default47、构造方法被调用是当()A、类定义时B、使用对象的属性时C、使用对象的方法时D、对象被创建时48、下列算符中优先级最高的是()A、+B、instanceofC、&&D、^49、不是面向对象技术特点的是()A、模块化B、封装C、继承性D、多态性50、接口体中不应..包含()A、常量定义B、常量赋值C、方法实现D、方法声明51、在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用关键字()A、superB、importC、thisD、return52、下列定义中,哪一个是非法..的()A、class A{int a,b;…}" "B、class A{int i,j; i=j=10…}" "C、class A{int i; float f;…}D、class A{int i=12; float f1=1.2f;…}53、编译代码“class MySstring extends String{}”会出现的情况()A、成功编译B、不能编译,因为没有main方法C、不能编译,因为String是abstract类型的D、不能编译,因为String是final类型的54、若有定义“String tom=""boy"";String hill=""boy"";”则表达式(tom==hill)的值为()A、1B、trueC、falseD、055、下列关于继承的论述中,错误..的是()A、继承具有传递性B、继承关系也称为"即是"(is a)关系C、支持多继承D、继承提高了系统的可重用性56、为在容器底端放一个按钮,不管用户如何改变尺寸,用下面哪个布局管理器最简单()A、BorderLayoutB、GridLayoutC、FlowLayoutD、GridbagLayout57、把组件放在BorderLayout的下列哪个区域时,它会自动垂直调整大小,但不水平调整。
Java高级语言程序设计期末复习资料(1)

第1章、Java语言简介第2知识点、Java程序的开发过程【单项选择】1 、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:易)A、classpath配置一次后可永久使用B、没有classpath环境变量就不能运行Java程序C、classpath环境变量可以让虚拟机找到class文件的目录D、查看当前classpath配置的命令是:classpath参考答案:C答案解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,java虚拟机会自动将其设置为“.”。
查看当前classpath的命令是set classpath;【单项选择】2 、在下列说法中,选出最正确的一项是( )。
(难度系数:易)A、Java语言是以类为程序的基本单位的B、Java语言是不区分大小写的C、多行注释语句必须以//开始D、在Java语言中,类的源文件名和该类名可以不相同参考答案:A【单项选择】3 、Java属于以下哪种语言? (难度系数:易)A、机器语言B、汇编语言C、高级语言D、以上都不对参考答案:C答案解析:Java是一门高级编程语言【单项选择】4 、下列选项中不属于Java虚拟机的执行特点的一项是( )。
(难度系数:易)A、异常处理B、多线程C、动态链接D、简单易学参考答案:D【单项选择】5、下列命令中,可以将文档注释提取出来生成帮助文档的是()(难度系数:易)A、javacB、javaC、javadocD、jar参考答案:C答案解析:可以使用javadoc命令将文档注释提取出来生成帮助文档【单项选择】6 、下列关于Java特点的描述中,错误的是?(难度系数:易)A、Java语言不支持指针B、Java具有自动垃圾回收的机制C、Java只能运行在Window和Linux平台D、Java允许多个线程同时执行参考答案:C答案解析:JAVA是一门面向对象的语言,它没有指针的概念,并提供了自动垃圾回收的机制,具有跨平台,多线程等特点。
Java程序设计复习提纲.docx

《Java程序设计》复习提纲题型:选择(24%)、填空(28%)、写出程序运行结果(20%)、把程序补充完整(10%)编程(18%)第一部分:1〜6章1.期中考试卷2.Java语言的健壮性表现在哪两方面?(见P4)3.JDK的组成pFavac.exe (编译器)W Java.exe (解释器)L_Appletviewer.exe (Applet 浏览器)Applet是嵌入到html文件中,运行于浏览器的Java类,可以读取客户端文件4.一个java源文件由1个或多个类,0个或多个接口组成。
一个源文件最多只有一个类或接口为publico5.在应用程序中,main函数所在的类一定是public。
在小程序中,由Applet派生的类称为小程序的主类,在声明时必须指定为publico6.类有哪些成员?{类变量static int a;实例变量intb;I成员函数(方法)7.类的成员有哪些访问控制符?(参考教案P9)8.完整表示静态成员有哪些方式?类名.静态成员名对象名.静态成员名9.抽象方法有何特点?最终方法有何特点?(参考教案P11)10.子类不能继承父类的构造函数,但子类构造函数可以通过super调用父类的构造函数,且super必须放在构造函数的第一行。
理解P67程序4・8。
11・Java语言的多态通过方法的()和()来实现。
理解P70程序4・9, 4-10o12.Java类在继承一个父类的同口寸,可以实现多个接口,也继承了所有接口的全部成分。
13.package语句必须作为jewa源文件的第一条语句,指明源文件所在的目录。
import语句必须放在package语句之后,类声明之前。
14.一个类使用标准类,必须在程序首部写入import语句,使用标准函数时,必须在函数名前面冠以对象名或类名。
第二部分:7〜8, 10〜11章1.熟悉try-catch-finally语句,注意理解P136程序7・22.熟悉throws子句的用法,注意理解P141程序7・6。
Java复习提纲

Java复习提纲Java 复习提纲⼀.复习注意点结合课本(包括课后题)、课件、上机作业题和历届试题,不仅掌握基础的理论知识,⽽且需要强化编程能⼒。
前六章的知识点⽐较杂,考核题型为客观题和简答题。
后⾯⼏章的(IO流、多线程、集合、⽹络)考核题型为程序填空和编程题。
考试占成绩70%,平时作业占30%。
5⽉24⽇是实习最后提交时间,以后不再延期。
题⽬难度适中,祝同学们取得好成绩,友情提⽰:题⽬不要空着,加油。
⼆.考试题型⼀、单选题⼆、填空题三、简答题四、程序填空题五、编程题(复习要点简介)按照章节组织顺序,列出以下复习要点:第⼀章Java语⾔概述1.2 节1、Java的六个特点2、Java的平台⽆关性原理,为什么可以“⼀次编写,到处运⾏”?3、理解JDK、JRE的概念和作⽤1.4节1、Java程序的开发步骤2、编译器javac.exe和解释器java.exe的作⽤3、源⽂件和字节码⽂件的后缀名1.5节1、区分主类和public类,同⼀个源⽂件中的public类命名规则?(1.5.1)2、掌握在当前⽬录下编译、运⾏例1.1的过程(1.5.2,1.5.3)第⼆章基本类型2.1节1、标识符的概念,能区分合法的标识符2.2节1、4⼤基本数据类型及具体分组(8种)2、逻辑类型常量有哪些?3、4种整数类型各⾃所占字节个数,及它们的取值范围4、字符类型常量的声明,常见转义字符及其如何使⽤在字符串中,字符类型的表⽰范围及其与int类型的显⽰转换(例2.1)5、浮点类型(float和double)常量与变量的声明规则,注意后缀“f/F”、“d/D/缺省”的使⽤6、基本数据类型中⾼精度向低精度的强制转换,原因与实现?2.4节1、数组是第⼀个介绍的引⽤类型数据,需要通过new语句完成数组的创建。
所谓的“引⽤”指的就是栈内存中变量被赋值的地址,该地址是数组或对象在堆内存中的地址。
结合以下代码理解数组的内存模型:int [] a = {1,2,3,4,5}; // ⼀维数组的直接初始化int [] c = new int[3]; // ⼀维数组的默认初始化,每个元素(int)的默认值是0// ⼆维数组的内存分配机制,上课的时候讲的有点错误,在此向同学们道歉。
《Java程序设计》期末复习

第一章:1.程序设计语言发展的历程:机器语言、汇编语言、高级语言、面向对象的语言2.面向对象语言的基本特征(抽象、封装、继承、多态)继承性:可以对已有类增加属性和功能,或进行部分修改来建立新的类,实现代码的重用。
抽象和封装:抽象的结果形成类,类中的数据和方法是受保护的,可以根据需要设置不同的访问控制属性。
这便保证了数据的安全性。
多态性:在面向对象的程序中,同一个消息被不同的对象接收后可以导致不同的行为。
3.Java语言的特点:1.面向对象性2.安全性(java不支持指针且java内部具有安全措施)3.平台无关性4.多线程支持5.对内存自动进行管理并进行垃圾回收4. 为什么Java语言是跨平台的?(java语言的平台无关性)应为不同的平台上有不同的虚拟机可以将字节码转化成对应的硬件平台上能够执行的代码。
5. Java2的SDK是什么?Java2 SDK是java软件开发工具包6. Java开发工具中的javac.exe和java.exe的功能是什么?Javac.exe(java编译器)是用来编译java源文件的,而java.exe(java解释器)是用来执行java程序的7. Java集成开发环境有哪些?Eclipse netBeans Jcreator LE Borland JBuilderMicrosoft Visual J++ Sun ONE Studio IBM : Visual Age for Java8.Java程序编译执行的过程Java源文件通过java编译器生成.class文件,再通过bytecode载入器将.class文件载入内存中,再通过字节码校验器的校验后通过bytecode解释器将字节码映射到本地系统平台下的指令。
9. Application有哪些特点?Application是运行在java虚拟机上的java程序可以在客户端机器中读写可以使用自己的主窗口、标题栏和菜单栏能够以命令行方式运行主类必须有一个主方法main()作为程序的入口10. 如何运行Application程序?可以在eclipe中直接运行,也可以通过dos系统运行11.编写Application程序,计算并输出sin10x+ctgx在x=3.5的值。
Java语言程序设计复习提纲

Java语言程序设计复习提纲一、基础知识1、Java程序的结构import java.awt.*;导入名称空间import javax.swing.*;public class test{ 类的声明public test( ){方法}public static void main(String[] args) {}}2、语法标识符、数据类型及转换、运算符(算数、条件、逻辑)、控制语句(if、switch、for、while)3、数组数组的声明和使用、对象数组的声明和使用(第一次new运算生成数组的实例、第二次以后的new运算生成数组中每个元素的对象实例)4、字符串(String和StringBuffer)Length、indexOf、lastIndexOf、substring、trim等方法的应用5、标准类包装器类(toString、parse类型、valueOf 等方法)、Random类生成随机数、Date和Calendar类6、集合类顺序表(ArrayList)、向量(Vector)、HashSet、TreeSet(构造方法、增加元素、移除元素、查找元素等方法)、必须导入名称空间(import java.util.*;)二、类和对象1、类定义类(修饰符class 类名extends 父类名implements 接口名)、实例化对象(类名对象名=new 构造方法())、构造方法(方法驹、没有返回值)、方法(写方法:如设置的方法set_X(int x)要传入参数;获得的方法int get_X(),声明方法时有返回类型、在方法体中要用return X返回值)、静态(static)、修饰符(private、default、protected、public、final、abstract)2、继承和多态继承(extends)、this和super、方法重写与方法重载、接口应用三、输入/输出必须导入IO的名称空间:import java.io.*;1、异常处理try{}catch(Exception e){}、throws2、标准输入/输出流System.in(read)、System.out.println、Scanner(构造方法和next类型)3、字节流File类(构造方法、mkdir、createNewFile、delete、exits、isDirectory、isFile、length、renameTo)、FileInputStream(构造方法、read)、FileOutputStream (构造方法、write)4、字符流FileReader(构造方法、read)、FileWriter(构造方法、write)、InputStreamReader(构造方法、read、close)、OutputStreamWriter(构造方法、read、close、flush)四、多线程线程(Thread)、创建(继承Thread或实现接口Runnable)、方法(start、sleep、join、stop)五、GUI程序设计导入相应名称空间:import java.awt.*; import javax.swing.*;1、界面设计布局方式、JFrame(创建、setSize、setLocation、setVisible、setLayout)、组件(JButton、JLabel、JTextField、JPasswordField、JTextArea、ButtonGroup、Panel、JScrollPane)2、事件响应导入名称空间(import java.awt.event.*;)、实现接口(ActionListener,KeyListener,MouseListener,MouseMotionListener)、加入侦听(addActionListener,addKeyListener,addMouseListener,addMouseMotionListener)、重写接口方法(Action通过getSource、键盘通过getKeyCode或getKeyChar、鼠标通过get_X和get_Y获得相应信息)3、Applet导入名称空间(import java.applet.*;)、继承(extends Applet)、方法(init、start、paint)、paint方法的应用(Graphics、setColor、drawString、drawImage)六、习题(一)程序改错1. public Class zc* {final int b=2;public static void main(String[] args) {int 6a=6;b=6a*10System.out.print(b);}}2.public Class zc {int i;public zc1( ) {int a#=6;set_i(6);System.out.print(sum());}public void set_i(int i){i=i;}public int sum(){int b=i+100;}}3. public Class zc {public static void main(String[] args) {float f=45.2;int a#=12;String s=f*a#;System.out.print(s);}4. Vector a1;System.out.println("a1的大小="+a1.length());a1.add("abcdefg");a1.add("12345678");a1. insertElementAt (1,"abcd1234");System.out.println("第2个元素="+a1.get(2));a1.remove(2);//删除第2个元素int i=a1.indexOf("abcdefg")a1. removeElement ("i");//删除"abcdefg"元素System.out.println("a1的内容="+a1);5. ArrayList a1;System.out.println("a1的大小="+a1.length());a1.add("abcdefg");a1.add("12345678");a1.add("abcd1234",1);System.out.println("第2个元素="+a1.get(2));a1.remove(2);//删除第2个元素if(a1.contains("abcdefg"));a1.remove("");//删除abcdefg元素System.out.println("a1的内容="+a1);6. HashSeta1;System.out.println("a1的大小="+a1.length());a1.add("abcdefg");a1.add("12345678");a1.add("abcd1234",1);System.out.println("第2个元素="+a1.get(2));a1.remove(2);//删除第2个元素if(a1.contains("abcdefg"));a1.remove("");//删除abcdefg元素System.out.println("a1的内容="+a1);7. import java.applet;class a extends applet{static public void paint(){g.drawString(“I Love China!”);}}8. public int ss(int[25] number){number=new int [15];for(int i=0;i<number.length;i++)number[i]=number[i-1]+number[i+1];return number;}(二)程序分析1. public class A {int i=10;public void show_i(){System.out.println("i="+i);}}public class B extends A{int k=23;public void show_k(){System.out.println("k="+k);}public void sum(){System.out.println("i+k="+(i+k));}}public class test {public static void main(String[] args) {B b=new B();b.show_i();b.show_k();b.sum();}}结果是:2. public interface A {int a=1;void showa();}interface C extends A{int c=3;void showc();}public class D implements C{public static void main(String[] args) {D d1=new D();d1.showa();d1.showc();}public void showa(){System.out.println("a="+a);}public void showc(){System.out.println("c="+c);}}结果是:3. public class OverLoad {int sum(int a,int b){int d=a+b;return d;}int sum(int a,int b,int c){int d=a+b+c;return d;}}public class test {public static void main(String[] args) {OverLoad o=new OverLoad();System.out.println(o.sum(1, 5));System.out.println(o.sum(3, 5,8));}}结果是:4. public class SuperA {int a=3,b=4;public void show() {System.out.println("a+b="+(a+b));}}public class SubA extends SuperA{int a=10;public void show() {System.out.println("a*b="+(a*b));}}public class test {public static void main(String[] args) {SubA a=new SubA();a.show();}}结果是:5. public class jt{static int i=1;public void set_i(){i++;}}public class zcx {public static void main(String[] args) {jt o1=new jt();o1.set_i();jt o2=new jt();o2.set_i();System.out.println("i="+jt或o1或o2.i);}}结果是:6. public interface c10 {void set_X(int X);}public interface c10a extends c10{void set_Y(int Y);}public class c101 implements c10a{int X,Y;public void set_X(int X){this.X=X*22;}public void set_Y(int Y){this.Y=Y*13;}}public class ca {public static void main(String[] args) {c101 o1=new c101();o1.set_X(12);o1.set_Y(5);System.out.println(o1.X);System.out.println(o1.Y);}}结果是:7. public static void main(String[] args) {int array[]={1,2,3,4,5};printarray(array);could_modify(array);printarray(array);}static void could_modify(int a[]){for(int i=0;i<a.length;i++)a[i]*=i;}static void printarray(int a[]){for(int i=0;i<a.length;i++)System.out.println(a[i]);}结果是:8. public class AA {int h=1;public AA(int h){h=h;System.out.println(this.h);this.h=h;System.out.println(this.h);}public static void main(String[] args) {AA a=new AA(2);}}结果是:9. sum=0;for(int i=0;i<=10;i++)for(int j=0;j<=10;j++)sum+=i;结果是:sum=10. class MyClassQ2Main{public static void main(String[args]){MyClassTwo wan1;wan1 =new MyClassTwo( );wan1.init( );wan1.increment( );wan1.increment( );System.out.ptintln(wan1.getCount( ));}}class MyClassTwo{private int count;public void init( ){count=1;}public void increment( ){count++;}public int getCount( ){return count;}}结果是:11. class Strange{int j;Strange( ){this(4);}Strange(int j){this.j=j;}}class MainStrange{public static void main(String [ ] args){Strange funny=new Strange( );System.out.println(“j=”+funny.j);}}结果是:12. sum=0;j=0;do{j++;for(int i=5;i>j;i--)sum=sum+(i+j);}while(j<11);结果是:sum=13. class MyClassQ3Main{public static void main(String[args]){MyClassThree wanyk;wanyk =new MyClassThree( );wanyk.init( );wanyk.count= wanyk.increment( )+ wanyk.increment( );System.out.ptintln(wanyk.increment ( ));}}class MyClassThree{public int count;public void init( ){count=1;}public int increment( ){count++;return count;}}结果是:14. class aapublic static void main(String args[ ]){char c=’a’;System.out.println(”结果是:”+ ++c+”。
Java程序设计复习提纲

length():获取字符串长度 charAt():获取字符串指定位置上的字符 indexOf():获取某子字符串在字符串中的位置 substring():获取在字符串中某位置上的子字符串 getChars():在字符串中将指定位置上的字符复制到字符数组 String 字符串对象其他的操作方法有: equals()、equalsIgnoreCase():判断两个字符串是否相同 compareTo():比较两个字符串的大小 startsWith()、endsWith():判断字符串的前缀和后缀 replace()、replaceAll():用新的字符串替换字符串中的某个子字符串 trim():清除字符串的前后空格
实例变量: 实例变量必须通过 new 创建对象后分配内存空间,然后才能使用; 不同对象的实例变量内存空间是各自独立的。
成员方法: 方法声明:包含访问权限、方法类型、方法名、方法参数; 无类型的方法,使用 void 关键字; 成员方法:方法声明和方法体两个部分。
public
static
private
final
四、 类与对象
类:
类是组成 Java 程序的基本要素,是创建对象的模板; 类封装了类对象的属性和方法,用于描述类事物的状态和功能。类包含: 明和类体; 类体由成员变量和成员方法组成; 成员变量:也称为属性, 成员方法:也称为函数。
类声
类的基本构成:
public abstract class 类名 extends 超类名 implements 接口名 final { 成员变量;
数据的输入和输出: System.out.print()和 System.out.println()方法,用于向 DOS 窗口或控制台输出程序运行 结果。 通过 Scanner 等类的对象方法,可以从键盘输入不同类型的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java语言程序设计》期末复习提纲2018-1第1章绪论1、Java语言的创始人是James Gosling.2、Java语言的特点(PPT和课本)3、JDK环境配置(PPT和课本):path=%path%;C:\jdk1.6.0_27\binclasspath= .;C:\jdk1.6.0_27\lib4. Java程序的基本开发步骤:编辑、编译和运行,主要由什么JDK工具完成,能举例说明。
(java.exe, javac.exe等)5.了解Java的三种平台的特点:Java SE、Java EE和Java ME(PPT) 6.Java源程序结构特点、文件名命名要求•Java大小写敏感•如果源文件中有多个类,那么只能有一个类是public类•如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同;若没有public类,那么文件名只需要和某个类的名字相同即可7.了解jar文件:是Java程序的一种分发形式。
(PPT第三章)第2章结构化程序设计(一)标识符、关键字和数据类型1. Java词法(见PPT):UNICODE字符集、空格与分号、注释、标识符、关键字等;/** JDK的javadoc工具用这种注释信息能自动从程序中抽出类的公共接口形成文档。
…*/2. Java标识符:命名规则、书写约定3.Java字符集采用的是Unicode字符集,它的特点是:4.Java的关键字,不是关键字的有delete,新增加的关键字有instanceof transient synchronized volatile throw throws等5. 基本数据类型的定义与使用(PPT或课本);6. java的数据类型有基本数据类型和引用数据类型两种。
引用类型有数组、类、接口、枚举7.基本数据类型有8种。
整数类型范围与占用位数(P29)。
(二)运算符、表达式和语句1.Java常用运算符(P34)、理解优先级与结合性(PPT),表达式算术运算符(+,-,*,/,%,++,--):理解++,--的含义关系运算符(>,<,>=,<=,= =,!=)布尔逻辑运算符(!,&&,||, |, &):理解短路运算位运算符(>>,<<,>>>,&,|,^,~):理解位运算符的实际运算过程赋值运算符(=,及其扩展赋值运算符如+=)条件运算符( ?:)其它 (包括分量运算符·,下标运算符 [],实例运算符 instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等)2. 语句格式与执行逻辑(如Switch、if、while等)(1)分支语句:if-else, switch-case(2)循环语句:for, while, do-while(3)例外处理语句:try-catch-finally, throw(4)其他:break, continue, label: , return第3章面向对象程序设计(类、对象和接口)[重点全面理解]1.理解面向对象的类的三个基本特性:封装性、继承性和多态性(课本P70);2. 掌握类、域和方法的定义(课本和PPT)2.1 类修饰符:包括public abstract final strictfp等,理解“无修饰词”的含义。
P882.2 构造方法的概念与定义方法;类的构造方法的3个特点。
P65 类名相同,无返回,都有构造函数重载(如果有this()语句则必须是其中的第一句)变量和方法称为类的成员(成员变量和成员方法),而构造方法不是类的成员每个类中至少有一个构造方法定义类时如未定义构造方法,运行时系统会为该类自动定义缺省的构造方法2.3成员变量的声明(1)注意其修饰词的含义:访问控制、static、final (修饰词包含:public protected private static final transient volatile)2.4成员方法的声明(1)注意其修饰符的含义:访问控制、static、abstract、final3.对象的声明、创建(实例化)与使用(new操作符,Java垃圾收集机制:PPT 和课本例子p68~69中System.gc()和finialize()方法)4.static关键字(类成员与实例成员)(1)理解类变量与实例变量的区别与使用方法实例变量对对象而言是独立的;类变量对对象而言是公用的。
(2)理解类方法与实例方法的区别与使用方法实例方法只能由对象调用,并且可以操作类变量与实例变量;而类方法既可以由类调用又可以由对象调用,并且类方法只能对类变量进行操作。
5.super的三种用法P796.this关键字的含义与使用方法this 是一个类的当前实例(对象)的引用。
只能在实例方法定义内使用它。
在类方法或用static 说明的方法中不能用this 。
7.理解包(package)(详见PPT)(1)包的作用:包是一组相关的类或接口的集合, 它提供了访问保护和名字空间管理。
Java编译器使用文件系统目录来保存包。
(2)包的创建与命名规则(3)包的使用:import(4)包中的源文件与类文件的管理(注意目录层次与包定义的对应关系,阅读PPT的例子)8.重点理解访问控制级别(1)成员变量和方法有4种访问级别:public, protected, 默认(default,即没有访问控制修饰符,代表包范围可访问), private ;(2)类有两种访问级别:public 或default。
(3)修饰符的作用范围(p87的表3.1):Modifier Same class Same Package Subclass Universepublic Yes Yes Yes Yes protected Yes Yes Yesdefault Yes Yesprivate Yes(4)通过例子去理解(课本或PPT)9.Java的继承机制:单继承机制,不支持多重继承,但可以通过接口来实现多重继承(1)子类继承父类的形式:extends(2)子类的继承性•子类能够继承什么?•如果子类与父类在同一个包内:•子类能够继承其父类中所有非private(即public、protected和default)的成员变量和成员方法•如果子类与父类不在同一个包内:•子类能够继承其父类中所有public和protected的成员变量和成员方法,但不能够继承其父类中的default和private成员变量和成员方法•子类不能继承父类隐藏的成员变量和重写的父类方法•子类不能继承父类中构造方法。
因为构造方法不是类的成员(3)成员变量的隐藏与方法的重写1/ 成员变量的隐藏与方法重写的规则(详见PPT)父类中同名变量不能被继承——即子类同名变量隐藏父类中的同名变量。
子类中定义的同父类完全相同的方法将隐藏父类中的方法——运行时多态性。
子类调用父类方法的方法(包括同名方法)——super(4)方法的重载(overload,也称为静态多态性,静态多态性在编译时可以被系统识别)在同一个类中名字相同但参数个数或类型不同的方法。
返回值可以不同。
构造方法也可以重载。
(5)运行时多态(overwrite,即重写)1/ 对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法,如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。
2/ 对象的上转型对象对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。
理解上转型对象的特点。
(PPT)3/ 理解运行时多态的作用(课本或PPT的例子)(6)final数据、方法和类1/ final数据可以是编译时的常量,也可以是运行时才初始化的常量2/ final 方法不能被重写3/ final类不能被继承(7)abstract类、abstract方法1/ 抽象类不能实例化——创建对象。
2/ 抽象方法只允许声明,不允许实现。
3/ 抽象类中不一定要包含abstract方法,但是,一旦某个类中包含了abstract 方法,则这个类必须声明为abstract类。
10.理解接口(1)接口的概念:接口就是方法定义(没有方法的实现)和常量值的集合。
(2)接口的作用、接口与多重继承的区别1/ 一个类仅仅继承接口中的常量。
2/ 一个类不能继承接口中的方法。
3/ 接口继承独立于类的继承。
执行相同接口的类,不一定在类继承上相关。
(3)接口的声明与定义(特征与使用规则,见PPT):1/ 在接口中定义的常量具有public, final ,static的属性。
2/ 实现中不能缩小接口方法的访问类型:接口中的方法被默认是public的,所以类在实现接口方法时,一定要用pulbic来修饰.接口中成员域都具有public,static和final属性(P95)接口中成员方法都具有public 和abstract属性(P95)(4)接口的使用1/ 使用接口的类体中可以使用接口中定义的常量2/ 必须实现接口中定义的所有方法。
如果一个类声明一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类3/ 在类中实现接口所定义的方法时,方法的声明必须与接口中所定义的完全一致。
4/ 接口的回调问题:Java运行时系统动态地确定该使用哪个类中的方法。
(PPT中的例子)11.内部类分为实名内部类与匿名内部类。
非静态(static)内部类中含有的静态属性域必须具有final属性。
非静态(static)实名内部类中不能含静态方法。
(P97)匿名内部类的特点:匿名内部类不具有类名,不能具有抽象和静态属性,不能派生子类。
匿名内部类必须继承一个父类或实现一个接口。
(P100)第4章数组、字符串、向量与哈希表1.数组的声明与创建(掌握一维和二维数组的声明与使用)2.数组元素的构成特点(简单数据与构造类数据)3.数组的操作:数组初始化与数组元素的赋值4.String对象的定义方法与基本操作(长度、相等判断,课本与PPT)掌握:length(),equals(),parseXXX(),subString(),String对象的+和==操作,成员方法intern(P139)(1)基本数据类型可通过String类的ValueOf()方法转换得到字符串表达形式。
对于对象则可以调用其继承的基本根类Object中的toString()来转成字符串表达形式。
(p130-p131)(2)把字符串转换成基本数据类型由包装类Byte Integer Long Double Float等中定义的parseXXX()系列方法完成(p138-p139)5.区别String与StringBuffer(1)String实例一旦创建,不能改变其内容;StringBuffer实例则可以修改实例所包含的字符序列6、Vector实现了可扩展的对象数组,使用向量没有数组的范围限制,可以不断添加元素。