JAVA程序设计教程.doc_第1页
JAVA程序设计教程.doc_第2页
JAVA程序设计教程.doc_第3页
JAVA程序设计教程.doc_第4页
JAVA程序设计教程.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计教程期末总结 专业:计算机科学与技术 班级:1220541 姓名:李爽 学号:122054102第一章学习了JAVA的运行及运行环境,怎样安装和设置环境变量;1下载安装JDK JDK的下载:登录Java的官方网站:() 该网站上提供了免费的Java开发工具集(JDK),我们可以在这里下载适合于我们计算机操作系统的JDK,利用这些工具来开发Java程序。2配置环境变量 设置Java运行环境:进入“控制面板”,双击“系统”,弹出“系统属性”对话框,选择“高级”单击“环境变量”按钮。(1) 环境变量环境变量也称为系统变量,是由操作系统提供的一种与操作系统中运行的程序进行通信的机制,一般可为运行的程序提供配置信息环境变量一般为“名字、值”对常用的Java环境变量包括:JAVA_HOMECLASSPATHPATH(2) 环境变量 JAVA_HOME环境变量JAVA_HOME的值应设置为JDK的安装目录的路径,如在Windows平台上JDK的安装目录为“C:program filesjavajdk1.6”,则JAVA_HOME = c:program filesjavajdk1.6JAVA_HOME为那些需要使用Java命令和JVM的程序提供了通用的路径信息。(3) 环境变量 CLASSPATH环境变量CLASSPATH的值一般为一个以分号“;”作为分隔符的路径列表,如CLASSPATH=.;%JAVA_HOME%libdt.jar; 当执行Java程序时,执行命令会首先把类名转换为字节码文件的路径信息,再在环境变量CLASSPATH的值的路径列表的每个路径及其子路径中搜索指定的字节码文件,如果在所有路径都找不到该文件,就报告错误。(4) 环境变量 PATH环境变量PATH是操作系统使用的变量,用于搜索在Shell中输入的希望执行的命令。为了便于使用,一般可把JDK中Java命令程序所在的目录的路径加入PATH变量的值中,如:PATH=%JAVA_HOME%bin;第二章学习了关键字(小写字母表示),标识符,(1)标识符必须以字符或“-”、“$”开头;(2)标识符可以由字母、数字、“-”、“$”组成;(3)标识符大小写有区别的,没有长度限制;(4)尽量使标识符在一定程度上反映它的意义。常量可分为数值常量,布尔常量,字符常量变量可分为整型变量,浮点变量,字符型变量,布尔型变量变量的基本操作对变量赋值引用变量类型转换自动类型转换强制类型转换数组数组的定义数组的引用数组的初始化。八种基本的数据类型,boolean 1 byte 1 short 2int 4long 8 float 4double 8 char 2 。都是在编译的时候分配内存的。第三章本章的主要内容是Java的各种流程控制语句if语句1嵌套if语句条件语句可以嵌套的使用。有一个原则是else语句总是和其最近的if语句相搭配,当然前提是这两个部分必须在一个块中。2if-else-if-else阶梯当条件有多个运行结果的时候上面的两种形式就不能满足要求了,可以使用if-else阶梯的形式来进行多个条件选择。 switch语句如果采用if-else阶梯的形式来进行多路分支语句处理,就不免有些太过于复杂繁琐,Java中还提供了一种比较简单的形式,就是使用switch语句来进行处理,表达式必须是byte、short、int或者是char类型。在case后边的value值必须是跟表达式类型一致类型或者是可以兼容的类型,不能出现重复的value值。循环结构程序语言中的循环语句是重复去执行一组语句,在遇到让循环终止的条件前,它需要一次或多次的重复执行。Java中的常用循环形式有三种,for、while、do-while循环。while循环循环语句都有一个固定的过程。有一个条件控制循环语句,如果条件为真则继续执行循环语句,否则结束循环然后执行后续语句。几种循环语句都是符合这个过程的。如果条件为真,就会一直执行循环语句的内容,直到条件的值为假。while循环中的条件可以是布尔类型的值、变量和表达式,也可以是一个结果为布尔类型值的方法。如果循环中的条件为假,则会跳过循环语句直接执行下面的语句。 for循环while循环和do-while循环在使用上还不够强大,Java中提供了一个for循环来增强循环语句的使用,for循环的一半使用格式如下。for循环在执行第一次循环时会先执行循环的初始化,并通过初始化来设置控制循环变量的值,接下来就需要计算条件,此处和while循环不同的是,条件必须是一个布尔表达式。如果表达式的值为真,则会继续执行循环,如果表达式的值为假,则会终止程序并跳出循环。然后要执行迭代运算,一般情况下迭代运算是一个表达式,可以增加或者减小循环控制变量的值,最后要计算条件根结果判断是否再次执行循环体。 for循环1多个循环控制变量Java中多控制循环执行的多个变量之间使用逗号隔开,2for循环的灵活变化for循环的使用是很了灵活的。之所以这样是因为它由三部分控制,初始化部分、条件测试和迭代使用起来都是很灵活的。中断控制语句主要用于对程序执行流程的控制,可以在程序的执行过程中,直接进行跳转,或者是终止程序的运行。Java中有三种跳转语句:break语句、continue语句和return语句。位逻辑运算符: & , | , , 。“&”是双目运算符。运算法则是:如果a,b两个数据对应位都是1,则c的该位是1,否则是0。 “|”是双目运算符。运算法则是:如果a,b两个数据对应位都是0,则c的该位是0,否则是1。“”是双目运算符。运算法则是:如果a,b两个数据对应位相同,则c的该位是0,否则是1。 “”是单目运算符。运算法则是:如果a对应位都是0,则c的该位是1,否则是1。第四章 类声明之后的一对大括号“”,“”以及它们之间的内容称做类体,大括号之间的内容称做类体的内容。 类体的内容由两部分构:一部分是成员变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。(1)static声明的方法称为类方法,其他的可称为实例方法。(2)final声明方法不能被子类重写。(3)native声明的方法可用其他语言实现。(4)synchronized用来控多个并发线程对共享数据的访问.重载必须遵守原则: 参数表必须不同,以此区分不同方法体。 返回类型、修饰符可相同或不相同。构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。Java语言的方法实现子任务处理时,有下面几个原则与规律:(1)算法中需要细化的步骤、程序中重复的代码以及重载父类方法都可以定义成类的方法。(2)界面清晰。(3)大小适中。(4)方法有两种:一种是标准方法,Java API提供了丰富的类和方法,这些方法提供了程序员所需的许多功能。另一种是用户自定义的方法,以解决用户专门需要。(5)Java应用程序中,程序的执行从main类开始,调用其他方法后又回到main类,在main类中结束整个程序的运行。修饰符是可选的,它是指访问权限修饰符public、private、protected和非访问权限修饰符static、final等;数据成员类型就是诸如int、float等;数据成员名表是指一个或多个数据成员名,即用户自定义标识符,当同时声明多个数据成员名时,彼此间用逗号分隔。第五章一个类要实现某个或某几个接口时,有如下的步骤和注意事项: (1)在类的声明部分,用implements关键字声明该类将要实现哪些接口;(2)如果实现某接口的类不是abstract的抽象类,则在类的定义部分必须实现指定接口的所有抽象方法,即为所有抽象方法定义方法体,而且方法头部分应该与接口中的定义完全一致,即有完全相同的返回值和参数列表; (3)如果实现某接口的类是abstract的抽象类,则它可以不实现该接口所有的方法。(4)一个类在实现某接口的抽象方法时,必须使用完全相同的方法头。(5)接口的抽象方法,其访问限制符都已指定是public,所以类在实现方法时,必须显式地使用public修饰符。第六章getMessage( )是类Throwable所提供的方法,用来得到有关异常事件的信息,返回的是带参数构造方法创建异常时的参数内容,对无参构造方法则返回空值。printStackTrace( )用来跟踪异常事件发生时堆栈的内容。实现自定义异常类的方法如下: 1、类java.lang.Throwable是所有异常类的基类,它包括两个子类:Exception和Error,Exception类用于描述程序能够捕获的异常。Error类用于指示合理的应用程序不应该试图捕获的严重问题,如虚拟机错误VirtualMachineError 2、自定义异常类可以继承Throwable类或者Exception,而不要继承Error类。自定义异常类之间也可以有继承关系 3、需要为自定义异常类设计构造方法,以方便构造自定义异常对象。 第七章用import语句可以引入所需的公共类。系统先根据classpath指示的路径,然后按照包名找到所需的类,如classpath为c:packagemypakage,而包名为. companyname.myname,则系统按照以下路径去寻找所需的类:c:packagemypackage cncomcompanynamemyname,也就是把环境变量和包名相连,形成路径,然后在这个路径下寻找类。对于Java类库,由于安装时已经自动注册了路径,因而不需要添加classpath,而使用自己定义的包中的类就必须更改classpath。 第八章BufferedInputStream类提供的构造方法如下:(1)public BufferedInputStream(InputStream in)该方法的功能是创建一个缓冲输入流并保存在参数in中供以后使用。(2) public BufferedInputStream(InputStream in, int size)size为缓冲区大小。该方法的功能是以指定的缓冲区大小创建一个缓冲输入流,并保存在参数in中供以后使用。OutputStream提供了3个write方法来做数据的输出,这个是和InputStream是相对应的。 1. public void write(byte b ):将参数b中的字节写到输出流。 2. public void write(byte b , int off, int len) :将参数b的从偏移量off开始的len个字节写到输出流。 3. public abstract void write(int b) :先将int转换为byte类型,把低字节写入到输出流中。 4. public void flush( ) : 将数据缓冲区中数据全部输出,并清空缓冲区。 5. public void close( ) : 关闭输出流并释放与流相关的系统资源。 第九章Component 类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等,因此许多组件类也就继承了Component类的成员方法和成员变量,相应的成员方法包括:getComponentAt(int x, int y)、getFont()、getForeground()、getName()、getSize()、paint(Graphics g)、repaint()、update()、setVisible(boolean b)、setSize(Dimension d)、setName(String name)等。可以将复选框组合到一起,成为一组单选按钮,在这组按钮中,每次只能选中其中一个(值为true),其他复选框都处于未选中状态(即值为false)。单选按钮由CheckboxGroup类和Checkbox类共同创建。CheckboxGroup类是从Object类直接继承的,因此,CheckboxGroup对象不能添加到容器中。 第十章新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态就绪:处于新建状态的线程被启动后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件运行:当就绪的线程被调度并获得处理器资源时,便进入运行状态, run()方法定义了线程的操作和功能阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出CPU并临时中止自己的执行,进入阻塞状态死亡:线程完成了它的全部工作或线程被提前强制性地中止 stop()或destroy() 第十一章(1) 表名是指存放数据的表格名称;字段名是指表格中某一列的名称,通常也称为列名。表名和字段名都应遵守标识符命名规则。(2) 数据类型用来设定某一个具体列中数据的类型。(3) 所谓限制条件就是当输入此列数据时必须遵守的规则。这通常由系统给定的关键字来说明。例如,使用UNIQUE关键字限定本列的值不能重复;NOT NULL用来规定表格中该列的值不能为空;PRIMARYKEY表明该列为该表的主键(也称主码),它既限定本列的值不能重复,也限定该列的值不能为空。(4) 表示可选项(下同)。例如,CREATE语句中的限制条件便是一个可选项。表中的modal是对话框的操作模式,可分为模态和非模态两种,用modal参数的true与false表示。当modal为true时,称为模态对话框,它要求用户在应用程序继续执行之前必须对该对话框作出响应,关闭对话框后才能回到原来的应用程序继续执行。当modal为false时,称为非模态对话框,非模态对话框则无上述要求。使用JDialog与使用JFrame非常类似,要加入组件到JDialog上必须先取得JDialog的ContentPane,然后再把组件加到此ContentPane中。JDialog默认的版面管理器是BorderLayout,它是不可见的,可以使用show( )方法显示它。下面我们用示例程序来说明它的制作与使用方法。1.public 方法是任何地方都可以调用,protected 方法同一包或者是该包中类的子类(可以不在同一个包)private 属性只有同类中可以使用。2.final加在属性前边可以将属性变为常数,表示该变量不能再指向新的对象,但是指向的对象的属性值可以修改,对象变量的值可以修改,但是指向的对象的值不能改变。3.静态方法不能直接访问对象属性或者对象方法,而必须通过同类的实例对象来访问。静态属性是在装载类的时候开始初始化的,而不是在创建对象的时候初始化的。4.方法重载: 相同函数名 不同参数同时存在于一个类中。5.抽象类中的没有实现方法称为方法接口 接口中的方法都是接口方法,接口中的属性都是静态属性。6.java中出现错误称为异常,try catch throws throw finally 是异常处理的通用关键字。7.equales是对象实例进行比较,而不是对引用变量进行比较,后者的比较是用“=”来完成的。8.StringBuffer()建立一个十六字节的字符缓冲区。其内容可以改变,连接的主要的函数为append()。9.事件源对象 时间容器对象 事件监听器对象通过这样的方式来处理事件。10.system.in.read() 从键盘读取输入的数据,File类其中那和/表示文件的隔离符,其中前者是win下的包含转义字符,后者是unix下的分隔符。11.ServerSocket和Socket类都是主要的进行对tcp/ip协议的抽象。线程的start()方法使线程从新建的状态变成可以运行的状态和run()方法则是在该线程被调度到开始执行的。多线程的访问冲突主要是对于统一数据的操作,必须通过synchronized关键字对该方法进行加锁,是其中的操作成为原子操作。12.面向对象的程序设计方法可以使用UML的用例图的方式从系统与外界的交互来表示系统的功能例题有两个线程:student和teacher,其中student准备睡一个小时后再开始上课,teacher输出3句”上课”后,吵醒了student。class A implements Runnable Thread student, teacher; A() teacher = new Thread(this); student = new Thread(this); teacher.setName(王教授); student.setName(张三); public void run() if (Thread.currentThread()=student) try System.out.println(student.getName() + 正在睡觉, 不听课); Thread.sleep(1000 * 60 * 60); catch (InterruptedException e) System.out.println(student.getName() + 被老师叫 醒了); System.out.println(student.getName() + 开始听课); else if (Thread.currentThread()=teacher) for (int i = 1; i = 3; i+) System.out.println(上课!); try Thread.sleep(500); catch (InterruptedException e) errupt(); / 吵醒student public class Example6_3 public static void main(String args) A a = new A(); a.student.start(); a.teacher.start(); 一个类通过使用关键字implements 声明自己实现一个或多个接口。如果实现多个接口,接口与接口之间用逗号分隔。如: class A implements Printable,Addable一般情况下,如果一个类实现了某个接口,则需实现该接口的所有方法,即为接口中的抽象方法提供方法体,给出其定义 . 如果实现该接口的类没有全部给出该接口中所声明的方法的定义,则该类只能是抽象类。interface Computable int MAX = 100; int f(int x);class Japan implements Computable int number; public int f(int x) return 44 + x; class China implements Computable int number; public int f(int x) / 不要忘记public关键字 int sum = 0; for (int i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论