




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习好资料 欢迎下载 第 1 章 Java 概述 Java 语言的特特点 一种面对对象的语言;一种平台无关的语言;一种健壮的语言,吸取了 C/C+的 优点,但去掉了其影响程序健壮性的部分(如:指针,内存的申请与释放等) Java 的两种核心机制 Java 虚拟机( Java Virtual Machine ) 垃圾回收机制( Garbage Collection ) 源程序( *.java 文件) Java 编译器字节码( *.class 文件)类装载器 字节码校验器说明器操作系统平台 一次编译,随处运行 Java 是一种说明型语言 JDKJava Development Kit 软件开发工具
2、包 JREJava Runtime Environment 运行时环境 开发需要 JDK;用户只需 JRE PATH:WINDOW系S统执行命令时要搜寻的路径(如 javac.exe , ) CLASSPATH:Jav 在 a编译和运行时要找的 class 所在路径(“. ”代表当前路径) java :运行 java 程序 javac :编译 java 程序 第 1 页,共 91 页学习好资料 欢迎下载 java version 一个源文件最多只能有一个 public 类名一样 类,其他类数量不限,源文件名必需与 public Java 应用程序的执行入口时 main()方法: public
3、static void mainString args Java 语言中严格区分大小写 编译后,每一个类都对应一个 class 文件 第 2 章 基础语法 标示符由字母,下划线” _”,美元符” $”或数字组成 标示符应以字母,下划线,美元符开头 Java 标示符对大小写敏捷,长度无限制,留意“见名知意”且不能与 Java 语言 关键字重名 abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof re
4、turn transient case extends int short try catch final interface static void char finally long strctfp volatile class float native super while const for new switch null continue goto package synchronized goto 和 const 虽然未使用,但也被作为 Java 的关键字保留 第 2 页,共 91 页学习好资料 欢迎下载 程序执行过程: 程序 代码 操作系统 heap 堆 程序 代码 new 出
5、来的东西 stack 栈 硬盘 data segment 静态变量 code segment 1.load 到内存区 2. 找到 main 方法开头执行 3. 执行过程中的 内存治理 整数类型( byte, Java 数据类型的划分 short, int , long 数值型 浮点类型( float , 数据类型 基本数据类型 字符型( char) double ) 布尔型 ( boolean) 类( class) 引用数据类型 接口( interface ) 第 3 页,共 91 页学习好资料 欢迎下载 boolean 类型数据只答应取值 true 或 false ,不行以使用 0 或非 0
6、 的整数值取代 true 和 false ,这点和 c 语言不同 Java 字符接受 Unicode 编码,每个字符占两个字节,因而可以用十六进制编码 形式表示,例: char c = u0061 ; Java 语言的整型常量默认为 int 类型,声明 long 型常量可以后加 l或 L类型 占用储备空间 数值范畴 byte 1 字节 7 7 -2 2 -1 short 2 字节 15 15 -2 2 -1 int 4 字节 31 31 -2 2 -1 long 8 字节 63 63 -2 2 -1 Java 浮点型常量默认为 double 型,声明 float 型需在数字后面加 f 或 F
7、类型 占用储备空间 数值范畴 float 4 字节 第 4 页,共 91 页double 学习好资料 欢迎下载 8 字节 基本数据类型转换 boolean 类型不行以转换为其他的数据类型 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原就: 容量小的类型自动转换为容量大的类型: byte,short,char-int-long-float-double byte,short,char 之间不需要相互转换, 他们三者在运算时第一会转换为 int 类 型 可以将整型常量直接赋值给 byte,short,char 型转换,只要不超过其表数范畴 等类型变量,而不需要进行强制类 “ +”
8、除用于算术加法外,仍可用于对字符串进行连接操作, “ +”运算符两侧的 操作数中只要有一个是字符串 (String )类型,系统会自动将另一个操作数转换 为字符串然后再进行连接, 进行打印 break&continue 当进行打印时, 无论任何类型, 都自动转换为字符串 break 语句用于终止某个语句块的执行;用在循环语句中,可以强行退出循环 continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue 语句下面未执行的循环,开头下一次循环过程 switch 当心 case 穿透,举荐使用 break 语句 多个 case 可以合并到一起 default 可以
9、省略,但不举荐 java 中 switch 语句只能探测 int 类型值 第 5 页,共 91 页学习好资料 欢迎下载 方法 形参,实参,返回值,返回值类型 Java 中进行函数调用中传递参数时,遵循值传递的原就: 基本类型传递的是该数据值本身, 引用类型传递的是对象的引用, 而非对象本身 递归调用 递归调用指在方法执行过程中显现该方法本身的调用 第 3 章 面对对象编程 类是用来创建同一类型的对象的“模板” ,在一个类中定义了该类对象所应具有 的成员变量和方法,对象可以看成是静态属性(成员变量)和动态属性(方法) 的封装体,是该类的一个具体实例,在 继承,组合,实现,多态 类 = 成员变量
10、+ 方法 Java 中“一切皆为对象” 成员变量系统可以对其自动初始化,局部变量不初始化会报错 引用 Java 语言中除基本类型之外的变量类型都称之为引用类型(基本类型占一块内 存,引用类型占两块内存) Java 中的对象时通过引用对其操作的 类时静态的概念,代码区 第 6 页,共 91 页学习好资料 欢迎下载 对象是 new 出来的,位于堆内存(动态支配内存用,类的每个成员变量在不 的) 同的对象中都有不同的值(除了静态变量) ,而方法只有一份,执行的时候才占 内存 对象 必需使用 new 关键字创建对 象 同一类的每个对象有不同的成员变量储备空间(除了静态变量) 同一类的每个对象共享该类的
11、方法 非静态方法时针对每个对象进行调用的(必需创建对象) 构造方法 使用 new+构造方法创建一个新的对象 构造方法是定义在 Java 类中的一个用来初始化对象的函数 构造方法与类同名且没有返回值 当没有指定构造方法时,编译器为类自动添加形如类名() 的构造方法 命名规章 类名的首字母大写 变量名和方法名的首字母小写 运用驼峰标识 方法重载( overload ) 方法的重载是指一个类中可以定义有相同的名字, 时依据不同的参数列表选择对应的方法 this 但参数不同的多个方法; 调用 第 7 页,共 91 页学习好资料 欢迎下载 在类的方法定义中使用 this 关键字代表使用该类的对象的引用
12、有时使用 this 可以处理方法中成员变量和方法参数重名的问题 This 可以看做是一个变量,它的值时当前对象的引用 public class Leaf int I = 0; Leafint i this.i = i; Leaf increament i+; return this; void print System.out.println “ i = ” + i; public static void mainString args Leaf leaf = new Leaf100; leaf.increament.increament.print; static 在类中,用 static
13、声明的成员变量为静态成员变量,它为该类的公用变量,在 第一次使用时被初始化,对于该类的全部对象来说, static 成员变量只有一份 用 static 声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给 它,所以在 static 方法中不行拜望非 static 的成员 静态方法不再是针对某个对象调用,所以不能拜望非静态成员 可以通过对象引用或类名(不需要实例化)拜望静态成员或方法 package&import 第 8 页,共 91 页学习好资料 欢迎下载 为明白决类的命名冲突问题, 命名空间 Java 引入的包( package)机制,供应类的多重类 package 语句作为 Jav
14、a 源文件的第一条语句,指明该文件中定义的类所在的包 (如缺省该语句,就指定为无名包,裸体类) Java 编译器把包对应于文件系统的目录治理, package 语句中,用“ . ”来指明 包(目录)的层次,例: package com.yao; 就该文件中的类位于 .comyao 目录 下 如 果 将 一 个 类 打 包 , 就 使 用 该 类 时 , 必 须 使 用 该 类 的 全 名 ( 例 如 : com.yao.MyClass ),Java 编译器才会找到该类 也可以使用 import 在文件的开头引入要使用的类, 例:import 可以不需要用 import 语句直接使用 包中的类
15、拜望位于同一个包中的类不需要引入 class 文件的最上层包的父目录必需位于 classpath 下 JDK 中主要的包介绍 包含一些 Java 语言的核心类,如 String ,Math,Integer , System 和 Thread,供应常用功能,使用时不需要引入( lang-language ) 包含了构成抽象窗口工具集 (abstract window toolkits )的多个类, 这些类被用来构建和治理应用程序的图形用户界面( GUI) 包含了 applet 运行所需的一些类 包含了与网络相关的操作的类 包含能供应多种输入 / 输出功能的类 包含一些有用工具类, 如定义系统特性
16、, 使用与日期日历相关的函数 java 运行时所需的类位于 第 9 页,共 91 页学习好资料 欢迎下载 打 jar 包,定位到需要打包的最上层的父路径 jar cvf *.* *.* 指目录中全部文件夹打包 jar 包也可设为 classpath 变量 继承 extends 通过继承,子类自动拥有了基类( superclass )的全部成员(成员变量和方法) (包括 private 成员,拥有私有变量的全部权,但无使用权) Java 只支持单继承,不答应多继承,一个子类只能有一个基类,一个基类可以 派生多个子类 拜望把握 权限修饰符 public ,protected , private ,
17、 default 包拜望权限 修饰符 类内部 同一个包 子类 任何地方 private X X X default X X protected X public 对于 class 的权限修饰符只可以用 public 和 default public 类可以在任意地方被拜望 default 类只可以被同一个包内的类拜望 方法重写 overwrite/override 在子类中可以依据需要对从基类中继承来的方法进行重写 重写方法必需和被重写方法具有相同方法名称,参数列表和返回类型 重写方法不能使用比被重写方法更严格的拜望权限 第 10 页,共 91 页学习好资料 欢迎下载 super 在 Java
18、 类中使用 super 来引用基类的成分 继承中的构造方法 子类的构造过程中必需调用其基类的构造方法 子类可以再自己的构造方法中使用 法 super (argument_list )调用基类的构造方 使用 this (argument_list )调用本类的另外的构造方法 假如调用 super ,必需写在子类构造方法的第一行 假如子类的构造方法中没有显式地调用基类构造方法, 无参数的构造方法 就系统默认调用调用基类 假如子类构造方法中既没有显式调用基类构造方法, 而基类中又没有无参的构造 方法,就编译出错 Object 类 Object 类是全部 Java 类的根基类 假如在类的声明中未使用
19、extends 关键字指明其基类,就默认基类为 Object 类 public class Person 等价于: public class Person extends Object 第 11 页,共 91 页学习好资料 欢迎下载 toString () Object 类中定义有 public String toString ()方法,其返回值时 String 类型, 描述当前对象的有关信息, 返回一个字符串, 该字符串由类名 (对象是该类的一 个实例) + “ ” + 此对象哈希码的无符号十六进制表示组成,即 getClass () .getName() + ( hashCode() 在进
20、行 String 与其他类型数据的连接操作时 (如:System.out.println “ info ” + person ), 将自动调用该对象类的 toString ()方法 可以依据需要在用户自定义类型中重写 新此方法 equals () public boolean equalsObject obj toString ()方法,建议全部子类都重 x.equalsy 对于任何非空引用值,当且仅当 x 和 y 引用同一个对象时,此方法 返回 true (x=y 具有值 true ) JDK 供应了一些类,String ,Date 等,重写了 Object 的 equals ()方法,调
21、如 用这些类的 equals()方法, (y),当 x 和 y 所引用的对象时同一类 对象且属性内容相等时(并不愿定时同一对象) ,返回 true ,否就返回 false 建议重写 例子: String s1 = new String “ Hello ”; String s2 = new String “ Hello ”; System.out.printlns1 = s2; /false System.out.printlns1.equalss2; /true 对象转型( casting ) 一个基类的引用类型变量可以“指向”其子类的对象 一个基类的引用不行以拜望其子类对象新增加的成员(属性
22、和方法) 可以使用 引用变量 + instanceof + 类名,来判定该引用变量所“指向”的对 第 12 页,共 91 页学习好资料 欢迎下载 象是否属于该类或该类的子类 子类的对象可以当作基类的对象来使用称作向上转型 下转型( downcasting),需强制转换 动态绑定和多态 (upcasting),反之称为乡 动态绑定是指在执行期间 (而非编译期间) 判定所引用对象的实际类型, 依据其 实际类型调用其相应的方法 1. 要有继承 2. 要有重写 3. 父类引用指向子类对象 抽象类 用 abstract 关键字来修饰一个类时, 这个类叫做抽象类; 用 abstract 来修饰一 个方法时
23、,该方法叫做抽象方法 含有抽象方法的类必需被声明为抽象类, 写 抽象类不能被实例化 抽象方法只需声明,而不需实现 final final 的变量的值不能被转变 final 的方法不能被重写 final 的类不能被继承 接口 interface 抽象类必需被继承, 抽象方法必需被重 第 13 页,共 91 页学习好资料 欢迎下载 实现 implements 接口是抽象方法和常量值得定义的集合 从本质上讲, 接口是一种特殊的抽象类, 这种抽象类中只包含了常量和方法的定 义,而没有变量和方法的实现 多个无关的类可以实现同一个接口 一个类可以实现多个无关的接口 与继承关系类似,接口与实现类之间存在多态
24、性 接口中声明属性默认为 public static final 的,也只能是 public static final 的 接口中只能定义抽象方法,而且这些方法默认为 public 的,也只能是 public 的 接口可以继承其他的接口,并添加新的属性和抽象方法 第 4 章 反常处理 反常指运行期显现的错误 所谓错误是指在程序运行的过程中发生的一些反常大事 标越界,所要读取的文件不存在) (如:除 0 溢出, 数组下 Java 程序的执行过程中如显现反常大事,可以生成一个反常类对象,该反常对 象封装了反常大事的信息并将被提交给 ( throw )反常 Java 运行时系统,这个过程称为抛出 当
25、 Java 运行时系统接收到反常对象时,会查找处理这一反常的代码并把当前异 常对象交给其处理,这一过程称为捕获( catch )异 声常 明 该 方法 可 能 抛 反常的概念 出的反常 public void someMethod () throws someException ifsomeCondition thrownewsomeException“错误缘由 ”; 构造并抛出 反常对象 第 14 页,共 91 页学习好资料 欢迎下载 调用该方法时试图捕获异 try someMethod; 定义处理反常的代码 catch SomeException e Throwable Error Exc
26、eption RuntimeException Error: 称为错误,由 Java 虚拟机生成并抛出,包括动态链接失败,虚拟机错误 等,程序对其不做处理 Exception :全部反常类的父类,其子类对应了各种各样可能显现的反常大事, 一般需要用户显式的声明或捕获 RuntimeException :特殊的反常,如被 0 除,数组下标越界等, 其产生比较频繁, 处理麻烦, 假如显式的声明或捕获将会对程序可读性和运行效率影响很大, 因此 由系统自动检测并将它们交给缺省的反常处理程序(用户可不必对其处理) Exception (in ) 第 15 页,共 91 页学习好资料 欢迎下载 Class
27、NotFoundException IOException InterruptedException RuntimeException ArithmeticException (当显现反常的运算条件时, 抛出此反常;例如, 一个整数“除以零”时,抛出此类的一个实例) NullPointerException IndexOutOfBoundsException (指示某排序索引(例如对数组,字符串 或向量的排序)超出范畴时抛出; ) ArrayIndexOutOfBoundsException (用非法索引拜望数组时抛出 的反常;假如索引为负或大于等于数组大小,就该索引为非法索引; ) Stri
28、ngIndexOutOfBoundsException (此反常由 String 方法抛出, 指示索引或者为负, 或者超出字符串的大小; 对诸如 charAt 的一些方法, 当索 引等于字符串的大小时,也会抛出该反常; ) finally try try 代码段后跟有一个或多个 catch 代码段 / 可能抛出反常的语句 每个 catch 代码段声明其能处理的一种特定类 型的反常并供应处理的方法 catchSomeException1 e catchSomeException2 e 当反常发生时,程序会终止当前的流程,依据 猎取反常的类型去执行相应的 catch 代码段 假如没有反常产生,全部
29、的 catch 代码段都被 略过不执行 finally 段的代码无论是否发生反常都会执行 第 16 页,共 91 页捕获 SomeException2 时 学习好资料 欢迎下载 没有捕获到反常时 try try 语句 1; 语句 1; 语句 2; 语句 2; catch (SomeException1 e) catch ( SomeException1 e) catch (SomeException2 e) catch ( SomeException2 e) getMessage()方法,用来得到有关反常大事的信息 printStackTrace ()方法,用来跟踪反常大事发生时执行堆栈的内容
30、 readFile() throws IOException 在一个 try 语句块中,基类反常的捕获语句 抛 在一个 try 语句块中,基类反常 的捕获语句不行以写在子类反常 method1 () throws IOException 出 捕获语句的上面,否就会有编译 抛 错误,子类反常不会被捕获 readFile() 出 method2 () throws IOException method2 () 抛 public static main (String s) 出 第 17 页,共 91 页学习好资料 欢迎下载 使用自定义的反常 1. 通过继承 类声明自己的反常类 2. 在方法适当的位
31、置生成自定义反常的实例,并用 throw 语句抛出 3. 在方法的声明部分用 throws 语句声明该方法可能抛出的反常 class MyException extends Exception private int id; public MyExceptionString message,int id supermessage; this.id = id; public it getId return id; 留意:重写方法需要抛出与原方法所抛出反常类型一样的反常货不抛出反常 第 5 章 数组 数组变量属引用类型, 数组也可以看成是对象, 数组中的每个元素相当于该对象 的成员变,因此数组支配
32、空间后,每个元素也被依据成员变量的规章被隐式初 始化 type var; 或 type var; int a5 ; Java 语言中声明数组时不能指定其长度(数组中元素的个数)例: / 非法 Java 中使用关键字 new 创建数组对象,格式 为: 数组名 = new 数组元素的类型 数组元素的个数 第 18 页,共 91 页学习好资料 欢迎下载 留意:元素为引用数据类型的数组中的每一个元素都需要实例化 动态初始化:数组定义与为数组元素支配空间和赋值的操作分开进行 静态初始化:在定义数组的同时就为数组元素支配空间并赋值 每一个数组都有一个属性 length 指明它的长度,例: 的值为数组 a
33、的长度(元素个数) Java 中多维数组的声明和初始化应按从高维到低维的次序进行 例如: int a = new int3; a0 = new int2; a1 = new int4; a2 = new int3; /int error = new int4; 是错误的 数组的拷贝 使用 static void 类的静态方法 src,int srcPos,Object dest,int arraycopyObject public destPos,int length 可以用于数组 src 从第 srcPos 项元素开头的 length 个元素拷贝到目标数组 dest 从 destPos 项开
34、头的 length 个位置 假如源数据数目超出目标数组边界会抛出 IndexOutOfBoundsException 反常 第 19 页,共 91 页学习好资料 欢迎下载 第 6 章 常用类 String 类代表不行变的字符序列字符串是常量;它们的值在创建之 后不能更换;字符串缓冲区支持可变的字符串; 由于 String 对象是不行变的, 所以可以共享;例如: String str = abc; 等效于 char data = a, b, c; String str = new Stringdata; Java 语言供应对字符串串联符号 (+ )以及将其他对象转换为字符串的特殊支 持;字符串串
35、联是通过 StringBuilder (或 StringBuffer )类及其 append 方 法实现的;字符串转换是通过 toString 方法实现的,该方法由 Object 类定 义,并可被 Java 中的全部类继承; “ xxxx”为该类的一个对象 String 类的常见构造方法: String ( String original ):创建一个 String对象为 original 的拷贝 String ( char value ): 用一个字符数组创建一个 String 对象 String ( char value,int offset,int count ): 用一个字符数组从 o
36、ffset 项 开头的 count 个字符序列创建一个 String 对象 public class Test public static void mainString args String s1 = “hello ”; String s2 = “hello ”; System.out.printlns1 = s2;/true s1 = new String “hello ”; s2 = new String “hello ”; System.out.printlns1 = s2;/false 第 20 页,共 91 页学习好资料 欢迎下载 System.out.printlns1.equ
37、alss2;/true char c = s, u, n, , j , a, v, a; String s4 = new Stringc; String s5 = new Stringc,4,4; System.out.printlns4;/sun java System.out.printlns5;/java String 类常用方法( 1) public char charAtint index: 返回字符创中的第 index 个字符 public int length: 返回字符串的长度 public int indexOfString str: 返回字符串中显现 str 的第一个位置
38、public int indexOfString str,int fromIndex: 返回字符串中从 fromIndex 开头显现 str 的第一个位置 public boolean equalsIgnoreCaseString another: 比较字符串与 another 是否一样(忽视大小写) public String replacechar oldChar,char newChar: 字符替换 oldChar 字符 public class Test public static void mainString args 在字符串中用 newChar String s1 = “sun
39、 java ”; s2 = “Sun Java”; System.out.printlns1.charAt1;/u System.out.printlns2.length;/8 System.out.printlns1.indexOf “java ”;/4 第 21 页,共 91 页学习好资料 欢迎下载 System.out.printlns1.indexOf “Java”;/-1 System.out.printlns1.equalss2;/false System.out.printlns1.equalsIngoreCases2;/true String s = “我是程序员,我在学 ja
40、va ”; String sr = s.replace 我 , 你 ; System.out.printlnsr;/ 你是程序员,你在学 java String 类常用方法( 2) public boolean startsWithString prefix: 判定字符串是否以 prefix 字符串 开头 public boolean endsWithString suffix: 判定字符串是否以 suffix 字符串结 尾 public String toUpperCase: public String toLowerCase: 返回一个字符串为该字符串的大写形式 返回一个字符串为该字符串的
41、小写形式 public String substringint beginIndex: 返回该字符串从 beginIndex 开头 到结尾的子字符串 public String substringint beginIndex,int endIndex: beginIndex 开头到 endIndex 结尾的子字符串 返回该字符串从 public String trim: 返回将该字符串去掉开头和结尾空格后的字符串 public class Test public static void mainString args String s = “ Welcome to Java World. ”;
42、 String s1 = “ sun java ”; 第 22 页,共 91 页学习好资料 欢迎下载 System.out.printlns.startWith System.out.printlns.endWith String sL = s.toLowerCase; String sU = s.toUpperCase; “ Welcome” ;/true “World ”;/false System.out.printlnsL;/welcome to java world System.out.printlnsU;/WELCOME TO JAVA WORLD String subS = s
43、.substring11; System.out.printlnsubS;/Java World String sp = s1.trim; System.out.printlnsp;/sun java String 类常用方法( 3) 静态重载方法 public static String valueOf 字符串,例: public static String valueOfdouble d public static String valueOfint i 可以将基本类型数据转换为 public String splitString regex 可以将一个字符串依据指定的分隔符 (regex
44、 )分隔,返回分隔后的字符串数组 public class Test public static void mainString args int j = 1234567; String sNum = String.valueOfj; System.out.println “j 是” + sNum.length + “位数” ;/j 是 7位数 第 23 页,共 91 页String s = 学习好资料 欢迎下载 “ Mary,F,1988 ”; String sPlit = s.split “, ”; forint i=0;isPlit.length;i+ System.out.printl
45、nsPliti;/Mary/nF/n/1976 StringBuffer 类 代表可变的字符序列 StringBuffer String s1 = s1 = s1 +s2; 和 String 类似,但 StringBuffer 可以对其字符串进行转变 “ hello ”; String s2 = “ world ”; hello world helloworld s1 s2 StringBuffer 类常见的构造方法 StringBuffer ():创建一个不包含字符序列的“空”的 StringBuffer 对象 StringBuffer ( String str ):创建一个 StringB
46、uffer对象,包含与 String 对 象相同的字符序列 第 24 页,共 91 页StringBuffer 学习好资料 欢迎下载 常用方法 重载方法 public StringBuffer append : 可以为该 StringBuffer 对象添加 字符序列,返回添加后的该 StringBuffer public StringBuffer appendString str 对象引用,例如: public StringBuffer appendStringBuffer sbuf public StringBuffer appendchar str public StringBuffer
47、appendchar str,int offset,int len public StringBuffer appenddouble d public StringBuffer appendObject obj 重载方法 public StringBuffer insert 可以为该 StringBuffer 对象在指定 位置插入字符序列,返回修改后的该 StringBuffer 对象引用,例: public StringBuffer insertint offset,String str public StringBuffer insertint offset,double d 方法 pub
48、lic StringBuffer deleteint start,int end 可以删除从 start 开头 到 end-1 为止的一段字符序列,返回修改后的该 StringBuffer 对象引用 和 String 类含义类似的方法 ; public int indexOfString str public int indexOfString str,int fromIndex public String substringint start public String substringint start,int end public int length public StringBuf
49、fer reverse 用 于 将 字 符 序 列 逆 序 , 返 回 修 改 后 的 该 第 25 页,共 91 页StringBuffer 学习好资料 欢迎下载 对象的引用 public class Test public static void mainString args String s = “ Mircosoft ”; char a = a, b, c; StringBuffer sb1 = new StringBuffers; sb1.append / .append “ IBM”.append / .append “Sun”; System.out.printlnsb1;/M
50、ircosoft/IBM/Sun StringBuffer sb2 = new StringBuffer “数字” ; forint i=0;i 角度 toRadians( doubleangdeg):角度 - 弧度 第 27 页,共 91 页学习好资料 欢迎下载 File 类 类代表系统文件名(路径和文件名) 常见构造方法: public FileString pathname: 以 pathname 为路径创建 File 对象,假如 pathname 是相对路径,就默认的当前路径在系统属 中储备 性 public FileString parent,String child: 路径创建 F
51、ile 对象 File 的静态属性 String separator 常用方法 通过 File 对象可以拜望文件的属性 public boolean canRead public boolean canWrite public boolean exists public boolean isDirectory public boolean isFile public boolean isHidden 以 parent 为父路径, child 为子 储备了当前系统的路径分隔符 public long lastModified: 返回此抽象路径名表示的文件最终一次被修改的 时间 public lo
52、ng length: 返回此抽象路径名表示的文件的长度;假如此路径表示 一个目录,就返回值不确定 public String getName: public String getPath: 返回由此抽象路径名表示的文件或目录的名称 将此抽象路径名转换为一个路径名字符串 学习好资料 欢迎下载 通过 File 对象创建空文件或目录 (在该对象所指的文件或目录不存在的情形下) public boolean createNewFile throws IOException public boolean delete public boolean mkdir: public boolean mkdirs
53、 存在的父目录 import java.io.*; public class TestFile 创建此抽象路径名指定的目录 :创建此抽象路径名指定的目录,包括全部必需但不 public static void mainString args String separator = File.separator; String filename = myfile.txt; String directory = mydir1 + separator + mydir2; /String directory = mydir1/mydir2; /String directory = mydir1mydir
54、2; File f = new Filedirectory, filename; if f.exists System.out.println System.out.println else 文件名: + f.getAbsolutePath; 文件大小: + f.length; f.getParentFile.mkdirs; try f.createNewFile; catch IOException e e.printStackTrace; 第 29 页,共 91 页学习好资料 欢迎下载 第 7 章 容器 JDK 所供应的容API 位于 Set 和 List 分别定义 器 Collectio
55、n 接口 - 定义可存取一组对象的方法,其子接口 了储备方式 Set 中的数据对象没有次序且不行以重复 List 中的数据对象有次序且可以重复 Map 接口定义了储备“键( key)值( value )映射对”的方法 Map Set List HashMap HashSet LinkedList ArrayList 第 30 页,共 91 页Collection 学习好资料 欢迎下载 接口中所定义的方法: int size boolean isEmpty void clear boolean containsObject element boolean addObject element :只
56、能添加对象,不能添加基础类型,添加基础 类型包装类对象 (基础类型一般存放在栈上, 站上的内容随时有可能被清空, 不 能储存) boolean removeObject element Iterator iterator boolean containAllCollection c boolean addAllCollection c; boolean removeAllCollection c :调用对象的 equals ()方法 boolean retainAllCollection c: 交集 Object toArray 容器类对象在调用 remove,contains 等方法时需要比
57、较对象是否相等,这时会 涉及到对象类型的 equals ()方法和 hashCode()方法;对于自定义的类型, 需要重写 equals 和 hashCode 方法以实现自定义的对象相等规章,重写 equals 方法的同时,必需重写 hashCode 方法 留意:相等的对象应当具有相等的 hash codes Iterator 接口 全部实现了 Collection 接口的容器类都有一个 iterator 方法用以返回一个实 第 31 页,共 91 页现了 Iterator 学习好资料 欢迎下载 接口的对象 Iterator 对象称作迭代器,用以便利的实现对容器内元素的遍历操作 Iterato
58、r 接口定义了以下方法: boolean hasNext: 判定游标右边是否有元素 Object next: 返回游标右边的元素并将游标移动到下一个位置 next 的返回 值为 Object 类型,需要转换为相应类型 void remove: 删除游标左面的元素,在执行完 next 之后该操作只能执行一次 游标 元素 next Iterator 对象的 remove 方法时在迭代过程中删除元素的唯独的安全方法 foreach 语句 foreach 对于遍历 array 或 Collection 相当便利 for : ; 缺陷: 数组:不能便利的拜望下标值 集合:与使用 Iterator 相比,
59、不能便利的删除集合中的内容 总结:除了简洁遍历并阅读出其中的内容外,不建议使用 foreach Set 接口 Set 接口是 Collection 的子接口, Set 接口没有供应额外的方法,但实现 Set 接口的容器类中的元素师没有次序的, 入),有 HashSet,TreeSet 等 而且不行以重复 (即相同的元素不会被加 第 32 页,共 91 页学习好资料 欢迎下载 List 接口 List 接口是 Collection 的,而且可以重复 的子接口,实现 List 接口的容器类中的元素师有次序 List 容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以依据 序号存取容器中的
60、元素,有 ArraryList,LinkedList 等 List 接口常用方法 Object getint index Object setint index,Object element: 替换 void addint index,Object element :插入 boolean removeint index int indexOfObject o: 返回此列表中第一次显现的指定元素的索引;假如此 列表不包含该元素,就返回 -1 int lastIndexOfObject o Lists 常用算法 类 供应了一些静态方法实现了基于 List 容器的一些常 用算法 void sortL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 针对苹果种植农户的问卷调查
- 雪松搬迁施工方案
- 固话地坪施工方案
- 筏板基础专项施工方案
- 6年级下册英语译林版第二单元小课文
- 6-9岁儿童蛋白质的标准
- 低温下简支梁缺口冲击强度
- 温州工程拆除施工方案
- c25混凝土受冻临界强度
- 地上物 苗木补偿标准
- 厨房设备购销合同范本(一)与厨房设备采购合同8篇
- 2025年中储粮吉林分公司招聘(74人)笔试参考题库附带答案详解
- 2024-2025学年九年级化学人教版教科书解读
- 2024年上海烟草集团有限责任公司招聘笔试真题
- 2025年长春医学高等专科学校单招职业技能测试题库及完整答案1套
- 2025年中国大唐集团有限公司重庆分公司高校毕业生招聘笔试参考题库附带答案详解
- 游戏账号购买协议书范本
- 北京工装合同范本
- 建筑工地道路养护的进度与措施
- 加油站合作经营协议书范本
- 《苗圃生产与管理》教案-第二章 园林苗木的种实生产
评论
0/150
提交评论