《编写文本应用程序》PPT课件.ppt_第1页
《编写文本应用程序》PPT课件.ppt_第2页
《编写文本应用程序》PPT课件.ppt_第3页
《编写文本应用程序》PPT课件.ppt_第4页
《编写文本应用程序》PPT课件.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1,第六章 编写文本应用程序,6.1 命令行参数 6.2 包装类 6.3 String 与 StringBuffer 类 6.4 使用系统资源 6.5 通用集合库 6.6 排序与查找 6.7 Math 类,2,6.1 命令行参数,第六章 编写文本应用程序,public class Echo public static void main (String args) for (int i = 0; i args.length; i+) System.out.println(argsi); 运行: java Echo Drink Hot Java Drink Hot Java,例子:,java Echo “Drink Hot Java” Drink Hot Java,运行:,3,6.1 命令行参数,第六章 编写文本应用程序,说明: 如果参数输入的是数字,则需要将字符转换成数字类型。 例如: int firstArg; if (args.length 0) firstArg = Integer.parseInt(args0);,4,6.2 包装类,第六章 编写文本应用程序,将基本的数据类型看作对象。java.lang包为这些类型定义了类包装,并提供了一些方法,能够实现基本功能。,5,6.2 包装类,第六章 编写文本应用程序,将基本的数据类型看作对象。java.lang包为这些类型定义了类包装,并提供了一些方法,能够实现基本功能。 例题: int pInt = 500; Integer i1 = new Integer( pInt); int p2 = i1. parseInt();,6,6.3 String 与 StringBuffer 类,第六章 编写文本应用程序,定义: String : 常量字符串。 SrtingBuffer: 可变化的字符串。 2. 创建String 与 StringBuffer String : “Gobbledy .“ ; new String(“Gobbledy “); StringBuffer: StringBuffer() StringBuffer( int capacity) StringBuffer( String initialString),7,6.3 String 与 StringBuffer 类,第六章 编写文本应用程序,3. String和 StringBuffer类有很多方法: String :charAt ,length, indexOf , lastIndexOf, substring , toLowerCase , toUpperCase ,equals , equalsIgnoreCase 等。 StringBuffer:append , insert , reverse , setCharAt , setLength 见例题:example63String.txt,8,6.3 String 与 StringBuffer 类,第六章 编写文本应用程序,将对象转变成字符串 有两种方法: toString 方法:例如包装类:Character, Integer, Double。 valueOf 方法:String.valueOf() System.out.println(String.valueOf(Math.PI);,9,6.3 String 与 StringBuffer 类,第六章 编写文本应用程序,将字符串转变成数值 四个包装类(Integer, Double, Float, and Long)用valueOf()方法完成转换。 例如: String piStr = “3.14159“; Float pi = Float.valueOf(piStr);,10,6.3 String 与 StringBuffer 类,第六章 编写文本应用程序,6. 字符串和java 编译器 当处理字符串常量和字符串连接,java编译器自动使用String and StringBuffer。 例如: “Hello World!“ int len = “Goodbye Cruel World”.length(); String s = “Hola Mundo“; String cat = “cat“; System.out.println(“con“ + cat + “enation“); System.out.println(“Javas Number “ + 1);,11,6.4 使用系统资源,System类 标准输入输出(I/O)流 系统属性,第六章 编写文本应用程序,12,System类 System类的方法和变量全是类方法和类变量。System类不能被实例化,它的方法和变量均通过类名直接引用。 例如: class UserNameTest public static void main(String args) String name; name = System.getProperty(““); System.out.println(name); ,第六章 编写文本应用程序,6.4 使用系统资源,13,6.4 使用系统资源,标准输入输出(I/O)流 System.in : 标准输入 System.out :标准输出 System.err :标准错误输出 Standard Output 和 Error Streams 有以下输出方式: print, println, and write 例如: System.out.print(“Duke is not a penguin!n“); 等价于:System.out.println(“Duke is not a penguin!“);,第六章 编写文本应用程序,14,6.4 使用系统资源,标准输入输出(I/O)流 print and println 的参数: Object, String, char, int, long, float, double, and boolean. println()也可以为空,表示换行。 见例题:DataTypePrintTest.java,第六章 编写文本应用程序,15,6.4 使用系统资源,3. 系统属性 系统类中管理了一组有关当前运行环境的属性。key/value 对。例如: java.vm.version 1.2.2 path.separator : file.separator / user.home /home/basham java.specification.vendor Sun Microsystems Inc. user.language en basham,第六章 编写文本应用程序,16,6.4 使用系统资源,3. 系统属性 读系统属性 System. getProperties:返回一个Properties对象 System. getProperty:返回某个属性的值。 例如: Properties props = System.getProperties(); System.getProperty(“path.separator“);,第六章 编写文本应用程序,17,6.5 通用集合库,The Collections API 一个collection是一个对象,它包含了一组object对象。 The Collection API 包含了3个接口 ,它将object组织为: Collection : 一组 objects ,没有特殊的顺序,允许重复元素。 个List(列表):必须按特定的顺序容纳元素,允许重复元素。 一个Set(集):没有特殊的顺序,不可包含任何重复的元素。,第六章 编写文本应用程序,18,6.5 通用集合库,第六章 编写文本应用程序,19,6.5 通用集合库,见例题: setExmple.java ListExmple.java,第六章 编写文本应用程序,20,6.5 通用集合库,Map Map(接口) 维持“键值”对应关系(对),以便通过一个键查找相应的值 HashMap基于一个散列表实现(用它代替Hashtable)。针对“键值”对的插入和检索,这种形式具有最稳定的性能。,第六章 编写文本应用程序,21,6.5 通用集合库,第六章 编写文本应用程序,22,6.5 通用集合库,见例题: PrintingContainers.java 填充containers:只能List, 不能Set or Map 见例题: FillingLists.java,第六章 编写文本应用程序,23,6.5 通用集合库,Container 缺点: 不知道数据类型 必须自己做类型转换 见例题:Cat.java Dog.java CatsAndDogs.java,第六章 编写文本应用程序,24,6.5 通用集合库,Iterators反复器: 反复器是用来提取集合中的元素的。 An Iterator of a Set 是无序的。 ListIterator of a List 能前后遍历移动,第六章 编写文本应用程序,25,6.5 通用集合库,第六章 编写文本应用程序,26,6.5 通用集合库,Iterators反复器: 见例题:CatsAndDogs2.java 更加通用的例子: HamsterMaze.java 见Iterators反复器和Collection 的综合例题:Collection1.java,第六章 编写文本应用程序,27,6.5 通用集合库,比较List, LinkedList, ArrayList List(接口) 顺序是List最重要的特性: 元素按照规定的顺序排列。 List为Collection添加了大量方法: 在List中部插入和删除元素 (ListIterator(列表反复器),利用它可在一个列表里朝两个方向遍历,同时插入和删除位于列表中部的元素,第六章 编写文本应用程序,28,6.5 通用集合库,比较List, LinkedList, ArrayList ArrayList: 允许我们快速访问元素,但在从列表中部插入和删除元素时,速度却嫌稍慢。一般只应该用ListIterator对一个ArrayList进行向前和向后遍历,不要用它删除和插入元素; LinkedList:可以高效率地在列表中部进行插入和删除操作。但在进行随机访问时,速度慢. 提供了addFirst(),addLast(),getFirst(),getLast(),removeFirst()以及removeLast()(未在任何接口或基础类中定义),以便将其作为一个规格、队列以及一个双向队列使用,第六章 编写文本应用程序,29,6.5 通用集合库,用LinkedList实现队列(queue)操作。 见例题:Queue.java Map综合例题: Map1.java,第六章 编写文本应用程序,30,6.6 排序和搜索,.数组 Arrays类为所有基本数据类型的数组提供了一个过载的sort()和binarySearch(),它们亦可用于String和Object。 见例题:Array1.java,第六章 编写文本应用程序,31,6.6 排序和搜索,. 列表 可用与数组相同的形式排序和搜索一个列表(List)。用于排序和搜索列表的静态方法包含在类Collections中,sort(List)用于对一个实现了Comparable的对象列表进行排序;binarySearch(List,Object),第六章 编写文本应用程序,32,6.5 通用集合库,总结: 数组元素可以是基本数据类型和引用数据类型。数组元素类型明确。可以是多维。缺点是一旦创建好后,不能变大小。 Colloction存放一组单个元素,而Map存放一组元素对 List向数组一样存放有序的元素,但不能存放基本数据类型,读取元素时需要类型转换。 ArrayList用于随机读取数据。LinkedList用于从中间插入删除大量数据。 LinkedList 用于实现队列和堆栈 Map 用于连接一对object-object。HashMap用于快速查找。,第六章 编写文本应用程序,33,6.5 通用集合库,总结: Set 不能接受重复元素。HashSet用于提供快速查找。,第六章 编写文本应用程序,34,6.5 Enumeration 接口,第六章 编写文本应用程序,Enumeration 接口使用两个方法来检索一系列对象或值: nextElement():获得下一个对象 hasMoreElements():检查序列中是否还有更多的对象 注意: Enumeration 接口的的元素只能被访问一次。,35,6.6 Vector 类,Vector 类实现了可增长数组的功能。数组既可以变大也可以变小。 功能:增加、删除和插入对象;测试Vector中的内容和检索指定的对象。 见例题:example66Vector.txt,第六章 编写文本应用程序,36,6.7 堆栈 Stack,Stack类扩展了Vector类,继承了Vector类的方法。它实现了后进先出的功能。 创建Stack类: new Stack() 常用方法: Object push(Object o) Object pop() Object peek() boolean empty() int search(Object o) 见例题:example67Stack.txt,第六章 编写文本应用程序,37,6.8 散列表 Hashtable,散列表也可以存储未定数目的对象对(key/element)。它可以实现将不同类型的对象放入同一个散列表。 一些常用的方法有: put(Object key, Object value) get(Object key) remove(Object Key) elements() keys() size() isEmpty() 见例题: example68HashApp.txt,第六章 编写文本应用程序,38,6.8 散列表 Hash

温馨提示

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

最新文档

评论

0/150

提交评论