Java2复习资料–新疆大学·软件学院ByDuoleStudio第一章:Java特点:简单、面向对象、与平台无关、解释型、多线程、安全、动态。Java是一种程序设计语言,由SunMicrosystem公司于1995年推出为适应不同的用途,又将其细分为三个版本:1.J2SE(StandardEdition):标准版,适用于普通应用程序的开发(Applet程序);2.J2EE(EnterpriseEdition):企业版,适用于大型企业级应用程序的开发;3.J2ME(MircoEdition):微型版,适用于移动设备或嵌入式设备的程序开发。开发Java程序的步骤1.创建Java源程序2.编译源程序注:publicststicvoidmain(Stringargs[])3.运行class(字节码)文件JSP是JavaServerPages缩写,动态网页技术标准。第二章:标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符。基本数据类型:1)布尔型booleanfalse/true2)整型byte1字节8位-128到127short2字节16位-2^15到2^15-1int4字节32位-2^31到2^31-1long8字节64位-2^63到2^63-13)字符类型char2B16位4)浮点类型float4字节32位-10^38到10^38double8字节64位-10^308到10^308注:1)char是无符号的16位整数,字面值必须用单引号括起来;‘a’2)String是类,非原始数据类型;3)长整型数字有一个后缀为“L”或“l”,八进制前缀为“0”,十六进制前缀为“0x”;4)黙认浮点类型为double;5)float数据类型有一个后缀为“f”或“F”,Double数据类型后可跟后缀“D”或“d“数组:1.声明数组“数组元素类型数组名字[];数组元素类型[]数组名字;注:1)一组相同类型(可以是类)数据的集合;2)一个数组是一个对象;3)声明一个数组没有创建一个对象;(=newxx[]才创建对象)2.数组的初始化floatboy[]=newfloat[5];第三章:Java2复习资料–新疆大学·软件学院ByDuoleStudio运算符要注意的:^((a^0)^0)=a用同一个数对a进行两次“异或”运算的结果又是数a.Switch(表达式)表达式的值必须是整型或字符型(char,short,int,long)。第四章:面向过程:先有算法,后有数据结构。先考虑怎么做。面向对象:先有数据结构,后有算法。先考虑用什么做。面向对象编程的三个特性:封装性:数据和对数据的操作封装在一起。继承(注:类的继承是单继承)多态(抽象)[书上没写网上有]方法:基本的方法声明包括方法名和方法的类型。方法声明之后的一对大括号{},以及之间的内容称为方法的方法体。类:是创建对象的模板。当用类创建对象时,使用构造方法。实例方法和类方法的区别:类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才被取消。包:是Java语言中有效管理类的一个机制。使用被隐藏的方法,必须使用关键字super。重写父类的方法时,不可以降低方法的访问权限。作用域public,private,protected和不写时(friendly)的区别?作用域当前类同一package子孙类其他packagepublic√√√√protected√√√×friendly√√××private√×××Overload和Override的区别?重载覆盖重载:同一个类内,参数类型不同(个数,排列顺序,类型)覆盖:子类覆盖父类的同名方法(访问权限=父类,异常少于父类,方法和返回值要一样)final类不能被继承,不能有子类。对象的上转型对象的实体是子类负责创建的。Abstract:abstract类可以有abstract方法(只允许声明,不允许实现,不能使用final修饰),也可以没有abstract方法。abstract类不能用new创建对象。接口:interface;implements克服单继承的缺点,一个类可以实现多个接口。Java2复习资料–新疆大学·软件学院ByDuoleStudio接口通过使用关键interface来声明。列:interfacePrintable{finalintMAX=100;voidadd();floatsum(floatx,floaty);}接口的使用:ClassAimplementsPrintable,Addble(类A使用接口Printable和接口Addble)接口回调:可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量中。内部类:Java支持在一个类中声明另一个类,这样的类称为内部类。不可以声明类变量和类方法(用static修饰的)。匿名类:匿名内部类的好处?可以继承其它类吗?可以实现接口吗?可以减少类的声明;继承可以实现匿名类是不能有名称的类,所以没办法引用它们。例:对Frame添加的退出事件就是匿名类。addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});反编译器:javap.exe文档生成器:javadoc.exe第五章:1.创建字符串:String类的构造方法:(1)String(chara[])用一个字符数组a创建一个字符串对象(2)String(chara[],intstartIndex,intcount)提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数。2.字符串的常用方法(1)publicintlength()可以获取一个字符串的长度(2)publicbooleanequals(Strings)比较当前字符串对象的实体是否与参数指定的字符串s的实体相同。(3)publicbooleanstartsWith(Strings)和publicbooleanendsWith(Strings)字符串调用startsWith(Strings)方法,判断当前字符串对象的前缀是否是字符串s,使用endsWith(Strings)方法,判断一个字符串的后缀是否是字符串s(4)publicbooleanregionMatches(intfirstStart,Stringother,intotherStart,intlength)字符串调用此方法,从当前字符串参数firstStart指定的位置开始处,取长度为length的一个子串,并将这个子串和参数other指定的子串是从参数otherStart指定的位置开始,从other中取长度为length的一个子串。如果两个字串相同该方法就返回true,否则返回false。(5)publicintcompareTo(Strings)方法字符串对象可以使用此方法,按字典序与参数sJava2复习资料–新疆大学·软件学院ByDuoleStudio指定的字符串比较大小。如果当前字符串与s相同,该方法返回0;如果当前字符串对象大于s,该方法返回正值;如果小于s,该方法返回负值。(6)publicintindexOf(Strings)字符串调用该方法从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值为-1.(7)publicStringsubstring(intstartpoint)获取从startpoint处到结尾的子串(8)publicStringtrim()去除串中的空格3.字符串的转化数字-StringString.valueof(数字)String--数字转成Int:Integer.parseInt(String对象)转成Byte:Byte.parseByte(String对象)转成Float:Float.parseFloat(String对象)转成Double:Double.parseDouble(String对象)Long—进制数(String)转二进制:Long.toBinaryString(数字);转八进制:Long.toOctalString(数字);转十六进制:Long.toHexString(数字);转n进制:Long.toString(数字,进制数);StringTokenizer类字符分析器StringTokenizerfenxi=newStringTokenizer(Strings)解析1个字符串,用默认的分隔符StringTokenizerfenxi=newStringTokenizer(Strings,Stringdelim)解析1个字符串,参数delim做分隔符Fenxi.nextToken()方法得到下一个分开的字符串。StringBuffer类append()追加字符串到StringBuffer对象中charAt(intn)返回n处的字符、setCharAt(intn,charch)替换单个字符insert(intindex,Stringstr)在索引处,插入字符串reverse()翻转当前字符串delete(intstartIndex,intendIndex)删除从startIndex-endIndex-1处的字符replace(intstartIndex,intendIndex,Stringstr)从startIndex-endIndex-1处的字符被替换正则表达式:[abc]:代表abc中任何一个。[^abc]:出了abc以外的任何字符。[a-zA-Z]英文字母中的任何一个注:Email的正则表达式“\\w{1,}@\\w{1,}\56\w{1,}”第六章:日期时间currentTimeMillis()获取系统当前时间第七章:布局管理器1.FlowLayout流式布局Panel的默认2.BorderLayout东西南北中Frame的默认Java2复习资料–新疆大学·软件学院ByDuoleStudio3.GridLayout网格布局4.CardLayout卡片布局5.GridBagLayout复杂的网格布局解释Java程序中事件处理的过程?事件源产生一个事件,并把这个事件发送到一个或多个监听程序,监听程序只是等待这个事件并处理它,然后返回。程序把事件���处理“委托”给一段代码。监听程序必须注册一个事件源,才能接收这个事件,这个过程是自动的。监听者对象就可以根据产生该事件的对象来决定处理事件的方法。第九章:Java线程:并发原理:宏观并行,微观串行OS将一段时间分为多个时间片,每个时间片CPU只能运行一个任务。线程实现的两种形式继承Thread类与实现Runnable接口继承java.lang.Thread:classMyThreadextendsThread{publicvoidrun(){需要进行执行的代码,如循环。}}启动线程publicclassTestThread{publicstaticvoidmain(){Threadt1=newMythread();T1.start();}}--------------------------------------------------------------------------------------------------------实现java.lang.Runnable接口:ClassMyThreadimplementsRunnable{Publicvoidrun(){}}这种实现可以再继承其他类。启动线程时不同前者publicstaticvoidmain(){RunnablemyThread=newMyThread();Thre