JAVA整理.doc_第1页
JAVA整理.doc_第2页
JAVA整理.doc_第3页
JAVA整理.doc_第4页
JAVA整理.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

Java整理Java源程序由5部分组成Java源程序主要由5部分组成:package语句、import语句、类、方法和语句。package语句:每个程序只能有一条package语句,且必须位于程序的最前面;没有package语句的源程序属于默认包;默认包没有名字,所以不能被其他包中的类使用import语句导入;默认包中的类可以相互引用不是private修饰的变量或方法;默认包是当前文件夹,其他包都是当前文件夹的子文件夹;包和windows中的文件夹是一一对应的层次结构,根据package语句生成件套文件夹。包中存放class文件,不是Java源文件。Package语句必须放在整个源程序的第一行,且前面不能有注释语句和空格;Package语句中的 . 代表目录分隔符,相当于DOS中的 ;导入包时的符号 * 只代表本层次的包,不包括其子层次包中的类;编译Java程序时,系统会自动为程序导入java.lang包,因此不必用语句导入; import语句必须位于类定义前,且可以多次使用,导入多个类;类(class)一个源程序文件至少有一个类,也可以有多个类;源程序的文件名必须和程序主类的名字相同;主类是指main()方法所在的类;方法每个Java应用程序都要有且只有一个main()方法,它是程序运行的开始点;Main()方法的格式永远都是public static void main(String args);一个类中可以有多个方法,每个方法都有不同的名字;在方法的内部不可以再定义其他方法,但可以调用其他方法;语句注释语句是一种特殊的语句,其内容不会被Java编译器编译;打印语句是最简单也是最常用的输出语句,数据可以通过输出语句显示在屏幕上;System.out.println()打印完换行语句,没有内容时,则显示一行空白行;System.out.print()打印完不换行语句,必须有打印内容,否则会显示错误信息;键盘输入数据:System.in.read(); 用户可以输入一个或多个字符,然后回车,但System.in.read()只会读取第一个字符;对象变量String类String类对象的定义方法有普通变量定义和对象变量定义2种;定义普通变量:String s = Hello;定义对象变量:String s = new String(Hello);两中方法实际上都是创建String类的一个对象,用来保存和编辑字符串;在Java语言中,只有String类的对象可以使用普通变量的定义方法,其他类不能;在Java语言中,有两种类型的方法:静态方法(类方法)和实例方法;静态方法(Static Methods)也叫类方法,只要定义了类就可以通过类名调用的方法;使用类方法时候不需要创建类的对象,可以直接用类名调用,当然也可以用对象调用:类方法调用格式为:类名.方法名(),也可以为:对象名.方法名();例:String s = String.valueOf(8.3); 表示把数字8.3转换为字符串并存在对象变量s中;静态类:静态的东西,一定是一个类的成员,也就是说,静态类首先是内部类 ;实例方法指要通过类的对象才能调用的方法,格式为:对象名.方法名();toUpperCase()方法是String类的一个实例方法,作用是读取对象保存的字符串,再将字符串转为大写形式(但不改变被读取的对象的值);例:String s = Hello;String a = s.toUpperCase();执行后:a = HELLO, s = Hello;String类其他常用方法:length();toLowerCase();静态方法和实例方法的判断和使用类中的方法前如果用static修饰,就是静态方法,否则是实例方法;如果方法仅与括号里的参数有关且与对象的参数无关,就创建成类方法,否则实例方法;Math类为了进行复杂的数学运算,Java语言提供了Math类,Math类中有许多静态方法;random(); 随机产生大于等于0.0而小于1.0的double型数值;Math.random()*10;随机产生大于等于0.0而小于10.0的double型数值的表达式;(Math.random()*90)+10;随机产生大于等于10.0而小于100.0的double型数值的表达式;max(double x, double y);返回x和y的较大者,可以是int、long、float和double型;min(double x, double y);abs(double x);返回x的绝对值,可以是int、long、float和double型;sqrt(double x );返回x的平方根;Math.PI;表示最近似与的double型数值;字符串和数字的相互转换的静态方法数字转换为String: String s = String.valueOf(45.6);String转换为数字有2个静态方法:Integer.parseInt(String),和Double.parseDouble(String);例:String s = 345;int i = Integer.parseInt(s);例:String s = 3.45;double d = Double.parseDouble(s); 流程控制选择结构语句if语句If语句形式一If(表达式)子语句体;If语句形式二If(表达式)语句体;Else语句体;If语句形式三If (表达式1)语句体1;Else if (表达式2)语句体2;.Else语句体n+1switch语句Switch (表达式)case 常量1: 语句体1; break;case 常量2:case 常量3: 语句体2; break;case 常量n: 语句体n; break;Default: 语句体n+1;default语句放到最后,不需要break语句;循环结构语句while语句表达式的值必须是布尔型的,可以是布尔型的常量或者变量、关系表达式、或者逻辑表达式;循环体可以是一条或者多条语句,但是多条语句时,要用大括号括起;while循环语句形式一while (表达式)循环体;如果第一次执行while时,表达式值为false,则不执行循环体,直接执行while语句下面的语句;while循环语句形式二do循环体;while (表达式);不论表达式的值是true或false,循环体中的语句至少被执行一次;for语句for语句形式for(表达式1;表达式2;表达式3)循环体;循环体可以是一条或多条语句,多条时要用大括号括起;表达式1是循环变量赋初值的表达式,表达式1可以并列多个表达式,之间用逗号隔开;表达式1种定义的任何变量,只能在循环体中使用,不能在for语句以外的语句使用;表达式2必须是布尔型的常量或者变量、关系表达式、或者逻辑表达式;表达式3一般是增量或减量表达式;for语句特殊形式空循环体:for(int n=1; n=8000;n+),只会执行8000次表达式,延迟时间效果;3个表达式都可以为空,可以放在for语句的前或中来实现;简化循环体:如果循环体中的语句只有一两条,可以放到表达式3之前,两者用逗号隔开,for语句的在加个分号:fro(int n=1;n100;System.out.print(n*n), n+);跳转语句break语句:跳出循环体,执行语句下面的语句;多重循环需使用跳转标号;continue语句:跳出本次循环,继续执行循环体的下次循环;多重循环需使用跳转标号;面向对象程序设计的特点封装:封装就是将对象的数据和基于数据的方法封装在一起成为一个整体-类;编写程序就是通过创建类的对象,然后以对象为载体,进行数据交流和方法的执行;封装是一种数据信息隐藏技术,使用者只需要知道对象中变量和方法的功能,而不必知道行为实现的细节,也就是说,类的使用者与设计者是分开的。此外,封装使得类的可重用性大为提高。多态:多态是指程序的多种表现形式。在同一个类中,同名但参数不同的多个方法(方法重载)是多态的一种表现形式。另一种表现形式是子类对父类方法的覆盖或者子类对抽象父类中的抽象方法的具体定义;继承:继承是指一个类拥有另一个类的所有变量和方法。被继承的类称为父类,继承了父类的所有数据和操作的类称为子类。继承使得程序结构清晰,降低编程和维护的工作量;类继承并不改变类中变量和方法的访问权限,如果父类中的变量和方法为public、protected或者friendly,其子类中的这些变量和方法依然为public、protected或者friendly。子类不能继承父类中访问权限为private的实例变量和实例方法;抽象:抽象包括数据抽象和方法抽象两个方面。数据抽象用来描述某类对象的共同状态;方法抽象用来描述某类对象的共同行为域:域常见的有实例变量、静态变量和最终变量3种形式;实例变量可以用public或者private修饰,但不能用static修饰;静态变量是用static修饰的变量,也成为类变量;类变量不属于一个类的具体对象实例。它不保存在某个对象实例的内存空间中,而是保存在类的内存空间的公共存储单元中。也就是说不论一个类有多少个对象,静态变量只有一个,任何一个类的对象访问它,取得的都是相同的数字;最终变量是用final修改的变量,通常前面再加上修饰符static,那么这个变量的实际含义就是常量。给最终变量赋值以后,就不可以再以任何方式改变其值;如果在定义最终变量时,没有给其赋值,则按该类型数据的默认值进行初始化;final修饰符可以修饰局部变量,必须只能赋值一次,它的取值在变量存在期间都不变;方法:构造方法、实例方法、静态(类)方法构造方法:也称为构造函数,也是一种特殊的方法。在创建对象的同时调用这个对象所属类的构造方法来完成对象实例变量的初始化;构造方法的方法名与其所在类的名称相同;虽然构造方法没有返回值,但是也不能有void关键字;构造方法的修饰符总是public;构造方法的主要作用是完成对类对象的实例变量的初始化工作;一个类可以有一个或多个构造方法,它们的方法名相同,但参数不同,相当于方法重载;如果希望在创建对象时,其实例变量具有不同的初值,可以通过传递参数并将参数值赋给实例变量的方法来实现。构造方法的参数要与实例变量一一对应;实例方法:属于每个对象,只能通过类的对象调用;与实例变量一样,可以用public和private修改,但不能用static修饰;静态方法:使用static修饰的静态方法是属于某个类的,它在内存空间中的内容将随着类的定义而进行分配和装载,不被任何一个对象所单独拥有;静态方法只能处理静态变量或者调用静态方法,不能处理属于对象的实例变量;因为静态方法不能访问实例变量,所以在静态方法中不能使用关键字this;可以使用类名或类的对象名调用;大多数情况下,我们定义实例方法为public,实例变量为private,然后用set和get方法来改变实例变量;在Java语言中toString()方法是一个具有特殊含义的方法,一般用一个字符串来描述对象的信息。java语言提供的类大部分都有该方法,用户直接调用,不用手动编写。System.out.println(对象名)和System.out.println(对象名. toString()一样;方法的重载是指在同一个类中,定义方法名称相同但参数不同的多个方法。当调用某个重载的方法时,Java会根据参数的类型、个数和顺序的不同,调用与之相符的方法;关键字this和superthis的作用当需要在类的实例方法中,指向调用该实例的对象时,可以使用关键字this。在大多数情况下,关键字this不是必须使用的,通常被省略;关键字this最常见的应用是在类的构造方法和实例方法中解决局部变量与实例变量同名的问题;关键字this还有一个用法,就是在构造方法的第一条语句使用this语句,它的形式是this(参数),这个构造方法就会调用同一个类的另一个构造方法;super常用使用super访问父类的变量或者方法使用父类的构造方法,在使用super()方法时,该语句必须是构造方法的第一条语句;在使用super时,要注意super与this一样指的是调用对象本身,所以super不能在static环境中使用,包括类变量、类方法和static语句块;对象比较在Java语言中,对象相等有两种含义。一种是参考相等(Reference Equality),另一种是数值相等(Value Equality);参考相等是指两个对象指向相同的内存空间,具有共同的实例变量,用“=”判断;数值相等是指两个同类对象的所有实例变量值都一一对应相等,用方法逐个属性判断;在将两个对象进行某种比较时,一定要注意所调用的实例变量的修饰符是private,还是public的。如果是public修饰符,则可以直接使用两个对象进行比较。如果修饰符是private,则必须在对象的类中添加一个进行比较的实例方法,然后通过调用该方法和传递对象参数来完成比较。这是因为Java不允许在类之外访问其private实例变量,只允许在类内访问其对象的private实例变量;定义一个对象变量后,其默认值为null,创建该变量后null被具体的对象取代。当对象变量的值为null时,不可以通过其调用任何实例变量和实例方法,否则会发生NullPointerException错误;访问控制符访问控制符是用来控制类、变量和方法的访问权限的;public修饰符。类的修饰符一般为public,这表示该类为公共类,可以被所有的其他类访问和使用。当然,这并不表明类中的变量和方法也都是公共的。不过只有在类为public的条件下,我们才可以定义其中的变量和方法为public。用public修饰的变量称为公共变量,它可以被其他所有的类调用。public修饰符会造成安全性和数据封装性下降,所以一般应减少public变量的使用,而改用访问方法来读取和写入变量数据;protected修饰符。使用protected修饰的变量和方法,可以被同一个包中的其他类、类本身以及类的子类访问和调用。子类既可以是在同一个包中的类,也可以是在不同包中的类;private修饰符。使用private修饰的变量和方法,只可以被类本身访问和调用。同一个类的不同对象可以互相访问对方的private实例变量或者调用对方的private实例方法,这是因为访问控制符是在类级别上的,而不是对象级别上的;friendly修饰符。friendly修饰符是Java语言默认的修饰符。当一个变量或者方法没有任何修饰符修饰时,系统默认其修饰符为friendly。使用friendly修饰的变量和方法,可以被同一包中的其他类和类本身访问和调用。如果类没有修饰符,则表示该类只可以被同一包中的其他类访问和使用;private protected修饰符,也叫私有保护访问控制符。其中private和protected的位置不可以调换。使用private protected修饰符修饰的变量和方法可以被该类本身和其子类所访问和调用。其中,子类既可以是在同一个包中的类,也可以是在不同包中的类。相对于protected修饰符,private protected修饰符把同一包内的非子类排除在可以访问的范围之外,使得变量和方法专用于具有明确继承关系的类中接口和抽象类接口Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能);Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员 变量为常量(大写,单词之间用_分隔);Java接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化;Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法;一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口;当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类;不允许创建接口的实例(实例化),但允许定义接口类 型的引用变量,该引用变量引用实现了这个接口的类的实例;一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承;接口中的变量只能是常量形式的变量,方法也必须是抽象方法;关键字implements来定义类的接口,一个类可以实现多个接口,使用逗号将它们分隔开;如果实现某个接口的类是使用关键字abstract修饰的抽象类,则它可以不实现该接口所有的方法。但是在这个抽象类的任何一个非抽象子类中,必须具体定义其父类所实现的接口中的所有抽象方法;因为接口的抽象方法的访问控制符均为public,所以类在实现这些抽象方法时,必须使用public修饰符,否则系统将显示缩小了接口中定义的方法的访问控制范围的提示;抽象类抽象类中的方法可以是实例方法,也可以抽象方法如果一个类含有抽象方法,则此类必须为抽象类;如果一个类是抽象类的子类且其不是抽象类,则该子类必须实现父类的所有抽象方法;抽象方法不能使用修饰符static和final修饰;Java抽象类可以提供某些方法的部分实现,而Java接口不可以;这大概就是Java抽象类唯一的优点吧,但这个优点非常有用;抽象类和Java接口的各自优势,具精典的设计模式:声明类型的工作仍然由Java接口承担,但是同时给出一个Java 抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个Java接口,也可以选择继承这个抽象类,也就是说在层次结构中,Java 接口在最上面,然后紧跟着抽象类,这下两个的最大优点都能发挥到极至了。这个模式就是“缺省适配模式”.在Java语言API中用了这种模式,而且全都遵循一定的命名规范:Abstract 接口名;图形用户界面GUIJava中设计和实现图形用户界面的主要工作创建组件(Component):创建组成界面的各种元素,如按钮、文本框等;指定布局(Layout):根据具体需要排列组件的位置关系;响应事件(Event):定义图形用户界面的事件和各界面元素对不同事件的响应,从而实现图形用户界面与用户的交互功能;Java中构成用户界面的各种元素和成分可以分为三类容器是用来组织其他界面成份和元素的单元。一般说来,一个应用程序的图形用户界面首先对应于一个复杂的容器,如一个窗口。这个容器内部将包含许多界面成份和元素,这些界面元素本身又可以是一个容器,这个容器将再进一步包含它的界面成份和元素,依次类推就构成一个复杂的图形界面系统;AWT组件分为容器(Container)类和非容器类组件两大类。容器本身也是组件,但容器中可以包含其他组件,也可以包含其他容器。非容器类组件的种类较多,如按钮(Button)、标签(Label)、文本类组件(TextComponent)等;容器分为两种:顶层容器和非顶层容器两大类。顶层容器是可以独立的窗口,不需要其他组件支撑。顶层容器的类是Window,Window的重要子类是Frame和Dialog。Window、Frame、Dialog和FileDialog都是一组大都含有边框,并可以移动、放大、缩小、关闭的功能较强的容器。非顶层容器,不是独立的窗口,它们必须位于窗口之内,非顶层容器包括Panel及ScrollPane等。Panel必须放在Window组件中才能显示,它为一矩形区域,在其中可摆放其他组件,可以有自己的布局管理器;Panel的重要子类是Applet类。其中,Panel和Applet的容器都是无边框的;组件是图形用户界面的最小单位之一,它里面不再包含其他的元素。控制组件的作用是完成与用户的一次交互,包括接受用户的一个命令,接受用户的一个文本输入,向用户显示一段文本或一个图形等。从某种程度上来说,控制组件是图形用户界面标准化的结果;Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来用户自定义成份由于不能像标准界面元素一样被系统识别和承认,所以通常只能起到装饰、美化等作用,而不能响应用户的动作,不具有交互功能;Java事件处理机制AWT的十个事件类:ActionEvent, AdjustmentEvent, ItemEvent, TextEvnet;ComponentEvent, KeyEvent, MouseEvent, FocusEvent, WindowEvent, ContainerEventJava 事件处理程序特点:所有组件都从Component组件继承了addXXXListener和removeXXXLitener方法;组件做为事件源产生一个事件后,事件源就会发送通知给事件监听器类的对象,监听器对象根据事件内封装的信息,决定如何相应这个事件;过程:根据事件源(component)触发的事件类型(如ActionEvent类),确认需要实现的对应的事件监听者接口(如:ActionEvent类对应ActionListener

温馨提示

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

评论

0/150

提交评论