常用的Java系统类.ppt

上传人:本田雅阁 文档编号:2245376 上传时间:2019-03-09 格式:PPT 页数:45 大小:274.51KB
返回 下载 相关 举报
常用的Java系统类.ppt_第1页
第1页 / 共45页
常用的Java系统类.ppt_第2页
第2页 / 共45页
常用的Java系统类.ppt_第3页
第3页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《常用的Java系统类.ppt》由会员分享,可在线阅读,更多相关《常用的Java系统类.ppt(45页珍藏版)》请在三一文库上搜索。

1、Java语言与JBuilder应用初步 第六章 常用的Java系统类 本章要点 字符串类 数值(Number)类及其子类 数组类 集合类 Object类 字符串类 l字符串是编程中很常用的数据类型 lJava语言提供两种字符串类用来实现 字符串操作: String类:用于字符串常量, 也就是说字符串的值不会改变 StringBuffer类:用于字符串 变量,也就是说字符串的值可以改变 字符串类 l字符串的使用例题 例:将输入的字符串颠倒。 public class StringsDemo public static void main(String args) String palindrom

2、e = “僧游云隐寺“; int len = palindrome.length(); StringBuffer dest = new StringBuffer(len); for (int i = (len - 1); i = 0; i-) dest.append(palindrome.charAt(i); System.out.println(dest.toString(); 字符串类 lString对象的其它产生方法 / 生成一个空的字符串 String myStr = new String(); / 复制String对象的内容 String oldStr = “东岳泰山“; Strin

3、g myStr1 = new String(oldStr); /复制StringBuffer对象的内容 StringBuffer oldStr2 = new StringBuffer(“西岳华山 “); String myStr2 = new String(oldStr2); /复制字符数组的内容 char oldStr3 = 南, 岳, 衡, 山; String myStr3 = new String(oldStr3); 字符串类 lStringBuffer对象的产生 只能用new关键字产生,有3 种构造方法: / 生成一个空的字符串,这个字符串的初始容量为 16个字符,但以后可以扩展 St

4、ringBuffer myStrBuf1 = new StringBuffer(); / 生成一个空的字符串,这个字符串的初始容量由 length指定。 / 在本例中,字符串的初始容量为120个字符。 int length = 120; StringBuffer myStrBuf2 = new StringBuffer(length); / 复制String对象中的内容 String str = “北岳恒山“; StringBuffer myStrBuf3 = new StringBuffer(str); 字符串类 l字符串长度和字符串容量 如果StringBuffer对象要存放 的字符数大于

5、它的容量,StringBuffer 对象会自动扩大字符串容量,以放下 更多的字符 myStrBuf1.append(“东岳泰山、西岳 华山、南岳衡山、北岳恒山、中岳嵩山“); System.out.println(myStrBuf1.capacity( ); 程序显示结果: 34 字符串类 l字符串的访问操作 length()函数:获取字符串的 长度 适用于String对象和 StringBuffer对象 String myStr = “僧游云隐寺“; StringBuffer myStr2 = new StringBuffer(“ 五岳归来不看山“); int strlen1 = myStr

6、.length(); int strlen2 = myStr2.length(); 变量strlen1中保存myStr的长 度,值为5 变量strlen2中保存myStr2的 长度,值为7 字符串类 l字符串的访问操作 capacity函数:得到字符串容 量 仅适用于StringBuffer对象 charAt()函数:获得字符串中 的某个字符 适用于String对象和 StringBuffer对象 char myChar1, myChar2; String myStr = “僧游云隐寺“; StringBuffer myStr2 = new StringBuffer(“ 五岳归来不看山“);

7、myChar1 = myStr.charAt(0); myChar2 = myStr2.charAt(6); 字符串类 l字符串的访问操作 要循环获得字符串里的所有 字符,循环应当从0开始,直到字符串 长度-1为止 StringBuffer myStr2 = new StringBuffer(“五岳归来 不看山“); for (int i = 0; i = 0) System.out.println(pos1); pos1 = str1.indexOf(subChar1, pos1 + 1); 字符串类 l字符串的修改操作 append函数:在字符串末尾 添加新的内容 append函数的形式:

8、 append(boolean b); append(char c); append(char str); append(char str, int offset, int len); append(double d); append(float f); append(int i); append(long l); append(String str); append(StringBuffer strbuf); 字符串类 l字符串的修改操作 insert函数:在字符串中的特 定位置插入一段子字符串 insert函数也有多种形式,可 以插入整数、浮点数、逻辑值、单个 字符、字符串等 例题: St

9、ringBuffer mainStr = new StringBuffer(“黄河远上 白云一片孤城万仞山“); String subStr = “间“; mainStr.insert(6, subStr); System.out.println(mainStr); 字符串类 l字符串的修改操作 setCharAt函数和replace函数 :修改字符串 setCharAt(int index, char ch); replace(int start, int end, String str); 字符串类 l字符串的修改操作 例题: StringBuffer modiStr = new Stri

10、ngBuffer(“When i am young, Id listening to the radio“); modiStr.setCharAt(5, I); modiStr.replace(7, 9, “was“); System.out.println(modiStr); 字符串类 l字符串的修改操作 deleteCharAt,delete函数: 删除字符串 deleteCharAt(int index); delete(int start, int end); 字符串类 l字符串的转换操作 toString函数:对象转换为字 符串 Object类中定义了toString函 数,因此所有

11、的类也都继承了toString 函数 因此Java建议每个类覆盖 Object类的toString函数,产生适合自 己类的字符串 字符串类 l字符串的转换操作 valueOf函数:将数值转换成 字符串 static String String.valueOf(boolean b); static String String.valueOf(int i); static String String.valueOf(long l); static String String.valueOf(float f); static String String.valueOf(double d); stat

12、ic String String.valueOf(char c); static String String.valueOf(char data); static String String.valueOf(char data, int offset, int count); 字符串类 l字符串的连接 double d = 1032705.32; System.out.println(“上月底,本公 司的帐面资金余额为:“ + d + “元。“); 字符串类 l字符串的连接 对于String对象,包括字符串 文字,可以用“+”将两个或多个字符串 连接起来,形成新的字符串。如下面 的例子: St

13、ring str1, str2, str3; str1 = “君不见“ + “黄河之水天上来“; str2 = “奔流到海不复回“; str3 = str1 + str2; 字符串类 l字符串的连接 也可以用“+”号连接字符串和 整数、浮点数、逻辑值、字符等 Java自动调用String.valueOf() 函数将后者转换成字符串 凡是能够用valueOf函数转换 的数据类型,都可以用“+”号与字符串 连接 数值(Number)类及其子类 l数值类的定义与功能 在Java中,对应byte, short, int, long, float, double等简单数据类型 ,分别有一个对应的数值类:

14、Byte, Short, Integer, Long, Float, Double 它们都是从数值类Number继 承而来的 数值类的作用是扩展数据处 理的功能 数值(Number)类及其子类 l数值类的用途 将数字转换成字符串: 每个数值类都有toString静态 函数: static String Byte.toString(byte b); static String Short.toString(short s); static String Integer.toString(int i); static String Long.toString(long l); static Str

15、ing Float.toString(float f); static String Double.toString(double d); 函数的作用是将整数或浮点 数转换成字符串 数值(Number)类及其子类 l数值类的用途 toString函数应用例题: int i = 7; double d = 13.56; String str1, str2; str1 = Integer.toString(i); str2 = Double.toString(d); System.out.println(“str1=“ + str1 + “; str2=“ + str2 + “;“); 执行这段代

16、码之后,屏幕显 示的内容是: str1=7; str2=13.56; 数值(Number)类及其子类 l数值类的用途 将字符串转化为数字: valueOf函数: static Integer Integer.valueOf(String str); static Double Double.valueOf(String str); valueOf函数返回的是Integer 或Double型对象,还需转换成整数或 浮点数: int Integer.intValue(); double Double.doubleValue(); 数值(Number)类及其子类 l数值类的用途 将字符串转化为数值的

17、例题 : String str1 = “3532“; String str2 = “187.863“; Integer strval1; Double strval2; strval1 = Integer.valueOf(str1); strval2 = Double.valueOf(str2); int i = strval1.intValue(); double d = strval2.doubleValue(); System.out.println(“i=“ + i + “; d=“ + d + “;“); 数值(Number)类及其子类 l数值类的用途 这种方法需要转换两次,使 用比

18、较繁琐,另外一种方法只需要一 次转换: static int Integer.parseInt(String str); static double Double.parseDouble(String str); 这两个函数都是静态函数, 因此不需要建立Integer或Double对象 ,可以直接使用 数值(Number)类及其子类 l几种特殊的浮点数 Java中的浮点数可以包括“非 数”,“正无穷大”,“负无穷大” 。例如 下面的代码: System.out.println(0.0/0.0); System.out.println(1.0/0.0); System.out.println(-

19、1.0/0.0); 数值(Number)类及其子类 l几种特殊的浮点数 Double类提供了两个静态函 数,来判断一个浮点数是不是这三种 特殊数值: static boolean Double.isNaN(double v); static boolean Double.isInfinite(double v); 由此可以及时发现错误的计 算数据 数组类 l数组的定义与特点 数组:可以容纳很多同类型 的数据的结构 数组中存放的每个数据称为 数组的一个元素,元素的数量称为数 组的长度 在Java语言中,数组的长度 是在数组创立时就固定了的,以后不 能更改 但与C+等语言不同,Java 的数组长度

20、是在运行期定下来的,而 不是在设计期给定长度。因此灵活性 更强一些 数组类 l数组的定义与初始化 与普通变量一样,数组也是 由定义、初始化两部分组成的 数组变量的定义与普通变量 一样,只是在变量类型的后面加上 “”以表示数组: int array1; double array2; StringBuffer array3; BoardGame array4; 数组类 l数组的定义与初始化 数组也是用new关键字来初 始化的,初始化时必须给出数组的长 度,如下所示: int len = 8; array1 = new int10; array2 = new doublelen-1; array3

21、= new StringBufferlen*2; array4 = new BoardGame15; 虽然也是固定长度数组,但 可以在运行时用变量来指定数组长度 数组类 l快速初始化数组的方法 Java提供了一种简便的方法 ,可以将数组的定义、初始化和赋初 值合为一体: int myData1 = 0, 1, 3, 6, 8, 12, 634, 21564, 845646; String myStr1 = “明月出天山“, “苍茫云海间“, “长风几万里“, “吹度玉门关“, “汉下白登道“, “胡窥青海湾“, “由来征战地“, “不见有人还“, “戍客望边色“, “思归多苦颜“, “高楼当此

22、夜“, “叹息未应闲“, ; 数组类 l数组的复制 数组变量也属于引用变量, 因此赋值语句只能复制指针,而不能 复制整个数组: String myStr2; myStr2 = myStr1; 为了复制数组,需要使用 System.arraycopy函数,该函数的形式 如下: public static void System.arraycopy(Object src, int srcIndex, Object dest, int destIndex, int length); 数组类 l数组的复制例题 public class ArrayCopyDemo public static void

23、main(String args) char copyFrom = d, e, c, a, f, f, e, i, n, a, t, e, d ; char copyTo = new char7; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo); 数组类 l多重数组 数组的元素也是数组,可表 示数据表格: int MagicSquare = 8, 1, 6, 3, 5, 7, 4, 9, 2, ; 多重数组中的元素用的形 式访问,如: System.out.println(Ma

24、gicSquare11); 集合类 l集合类的功能 如果要求长度可变,就不能 使用数组,而应当使用集合类。这里 简单介绍集合中的向量类,它在功能 上最接近于数组 Vector类的使用例题: public class VectorDemo public static void main(String args) Vector strs = new Vector(); for (int i=0; i5; i+) strs.addElement(Integer.toString(i); for (int i=0; istrs.size(); i+) System.out.println(String

25、)strs.elementAt(i); Object类 lObject类的作用 在Java中,所有的类,不管 有没有定义其父类,都以Object类作 为直接或间接的父类 也就是说,所有的类都继承 自Object类 Object类定义了基本的成员 变量和成员函数 l对象间的比较 l将对象转换成字符串 l线程的等待与通知 l返回对象所属的类 Object类 lObject类的成员函数 clone:将对象复制一份,并 返回复制后的对象的指针。 equals/hashcode:比较两个 对象是否相等。 finalize:当对象被回收时调 用的,仅用于混合语言编程时,回收 动态分配内存用。 toString:将对象转换成恰当 的字符串。 Object类 lObject类的成员函数 getClass:获得当前对象所属 的类,返回的是Class对象,可以用 obj.getClass().getName()来获得类名 notify:唤醒一个处于等待状 态的线程 notifyAll:唤醒所有处于等 待状态的线程 wait:让当前线程等待,直 到其它线程通过notify或notifyAll函数 唤醒为止

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1