




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 Java的核心API,本章内容: java中的核心API,Object、System、Math、String、StringBuffer、Date、Calendar、DateFormat类的功能和使用方法,数组的定义和使用。 要求: 重点掌握String、StringBuffer的区别,数组的使用,以及Java帮助文档的使用。,第四章 Java的核心API,4.1 语言基础类库 4.2 数组 4.3 字符串 4.4 日期类,多数编程语言都有预选编译好的类库以支持各种特定的功能 在Java中,类库以包(package)的形式提供 不同版本的Java提供不同的包,以面向特定的应用 Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本,4.1 Java开发类库组成,Standard Edition J2SE 包含那些构成Java语言核心 (标准版) 的类。 数据库连接、接口定义、输入/输出、网络编程 Enterprise Edition J2EE 包含J2SE 中的类,并且还包 (企业版) 含用于开发企业级应用的类。 EJB、servlet、JSP、XML、事务控制 Micro Edition J2ME 包含J2SE中一部分类,用于 (微缩版) 消费类电子产品的软件开发。 呼机、智能卡、手机、PDA、机顶盒,4.1 Java开发类库组成 Java2的三个版本,Java提供了丰富的标准类来帮助程序设计者更方便快捷地编写程序,这些标准类组成了类包,主要有: java.lang java.awt java.applet java.awt.image java.awt.peer java.io java.util 除了java.lang之外,其余类包都不是java语言所必须的。,4.1 Java开发类库组成 J2SE的类包,Language java.lang 构成Java语言核心的类 Object, Math, String, Number, Exception, System, Runtime Utilities java.util 提供实用的数据结构 Vector, Stack, Hashtable / Colloection, List, Set, Map I/O java.io 提供多种类型的输出/输出 InputStream, OutputStream, Reader, Writer, RandomAccessFile, File Text java.text 文本/日期/数字/消息的本地化支持 NumberFormat, DateFormat, and Collator Math java.math 提供任意精度的整数和浮点数运算 AWT java.awt 用户接口设计和事件处理 Swing javax.swing 提供全Java的,在任何平台上表现 都相同的轻量级构件,4.1 Java开发类库组成 J2SE的类包,Javax javax 对Java语言的扩展 Applet java.applet 用于创建Applet的类 Beans java.beans 用于开发JavaBeans的类 Reflection java.lang.reflect 用于动态获取类信息的类 SQL java.sql 提供对数据库中数据的访问和处理 Connection, ResultSet, Statement RMI java.rmi 支持分布式编程 Networking 支持开发网络应用的类 Socket, URL, URLConnection Security java.security 支持访问控制和信息安全的类 用于访问控制,防止非信任代码执行关键操作 认证相关的类,实现了消息摘要和数字签名与数字认证等,4.1 Java开发类库组成 J2SE的类包,(1)java.lang 本类包中包含了各种定义java语言时必须的类,这些类能够以其他类不能使用的方式访问java的内部。任何java程序都将自动引入这个包。其中的类包括: Object类:java中最原始、最重要的类,每个java类都是它的子类,它实现了每个类都必须具有的基本方法。 基本类型包装器:Boolean, Character, Number, Double, Float, Integer, Long。 String类:字符串类。 Math类:数学函数的集合。 执行线程:类Thread, ThreadGroup, 接口Runable。 异常和错误:类Exception, Error, 接口Throwable。,4.1 Java开发类库组成 J2SE的类包,(1)java.lang 运行环境:可以通过类Runtime和System访问外部系统环境。System类的两个常用功能就是访问标准输入/输出流和错误流、退出程序。 其他类:接口Cloneable、运行时的类等。 (2)java.applet Java Applet是Java编程的一个主要魅力,java.applet类包提供了Applet的运行机制以及一些编写Applet非常有用的方法。,4.1 Java开发类库组成 J2SE的类包,(3) java.awt 本类包是各种窗口环境的统一界面(AWT代表Abstract Windows Toolkit,即抽象窗口工具包),其中的类使得创建诸如窗口、菜单、滚动条、文本区、按钮以及复选框等图形用户界面(GUI)的元素变得非常容易。 (4) java.awt.image 类包能够以独立于设备的方式加载并过滤位图图象。 (5) java.awt.peer java.awt.peer是全部awt组件的对等对象接口的集合,每个接口都提供了机器相关基本的方法,awt使用这些方法来实现GUI,而不必关心是何种机器或操作系统。,4.1 Java开发类库组成 J2SE的类包,(6) java.io Java的输入/输出模式是完全建立在流的基础之上的。流是一种字节从一个地方到另一个地方的单向流动,可以把流附加于文件、管道和通信链路等。 java.io类包中定义的许多种流类通过继承的方式进行组织,其中也包括一些用来访问本地文件系统上的文件的流类。 (7) 类包用来完成与网络相关的功能:URL、WWW连接以及更为通用的Socket网络通信。 (8) java.util java.util类包包含了一些实用类和有用的数据结构,如字典(Dictionary)、散列表(Hashtable)、堆栈(Stack)、向量(Vectro)以及枚举类(Enumeration)等。,4.1 Java开发类库组成 J2SE的类包,4.1 语言基础类库,Object类 数据类型类 Math类 System类,一Object类,Object类是Java中所有类的直接或间接父类。 它的主要方法如下: protected Object clone(); 要实现Cloneable接口,覆盖(public)clone()方法,调用super.clone() 生成当前对象的一个拷贝,并返回这个复制对象 public boolean equals(Object obj); 比较两个对象是否相同,是则返回true public final Class getClass(); 获取当前对象所属的类信息,返回Class对象 ptotected void finalize(); 定义回收当前对象所需完成的清理工作 public String toString(); 返回当前对象的有关信息,按字符串对象返回,二数据类型类,JRE5.0开始提供自动拆装箱机制,自动完成类型转换,三Math类,public final static double E;/数学常量e public final static double PI; /圆周率常量 public static double abs(double a); /绝对值 public static double acos(double a); /反余弦 public static double exp(double a); /e的参数次幂 public static double log(double a); /自然对数 public static double ramdom(); /产生0到1(不含1)之间的伪随机数 public static double pow(double a, double a);/乘方 public static double sqrt(double a); /平方 public static double rint(double a); /四舍五入,四System类,System不能实例化,所以它的所有方法和属性都是static的。 三个属性: public static PrintStream err; /标准错误输出 public static InputStream in; /标准输入 public static PrintStream out; /标准输出 常用方法 public static void exit(int status); /强制退出运行状态,并把状态信息返回给运行虚拟机的操作系统。 例子:System.exit(0);其中0是正常退出,非0是异常退出 public static getProperties(); /返回当前系统属性集合,4.2、数组 一维数组:定义,一维数组的定义方式为: type arrayName ; 其中类型(type)可以为Java中任意的数据类型,包 括简单类型和组合类型,数组名arrayName为一个 合法的标识符, 指明该变量是一个数组类型变量。 例如: int intArray ; 声明了一个整型数组,数组中的每个元素为整型数据。,我们还可以定义一个复合类型的数组,例如: Date dateArray ; 声明了一个容纳复合数据类型Date的数组。 与C、C+不同,Java在数组的定义中并不为数组元素分配内存,因此 中不用指出数组中元素的个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。必须经过初始化后,才能应用数组的元素。,4.2 、数组 一维数组:定义,除了这种定义数组的方式之外,java语言还提供了其他的定义形式,如下所示: type arrayName; 对于以上举出的例子,我们也可以这样定义: int intArray; Date dateArray;,4.2 、数组 一维数组:定义,一维数组定义之后,必须经过初始化才可以引用。数组的初始化分为静态初始化和动态初始化两种: 静态初始化:在定义数组的同时对数组元素进行初始化,例如: int intArray =1,2,3,4;/定义了一个含有4个 / 元素的int型数组。,1、数组 一维数组:初始化,动态初始化:使用运算符new为数组分配空间,对于简 单类型的数组,其格式如下: type arrayName =new typearraySize; type arrayName=new typearraySize; 对于复合类型的数组,需要经过两步空间分配。 首先: type arrayName =new typearraySize; 然后:arrayName0=new type(paramList); arrayNamearraySize-1=new type(paramList);,4.2、数组 一维数组:初始化,例如: String stringArrar; /定义一个String类型的数组 stringArray = new String3; /给数组stringArray分配3个应用 /空间,初始化每个引用值为null stringArray0=new String(“how”); stringArray1=new String(“are”); stringArray2=new String(“you”);,初始化各数组元素,4.2、数组 一维数组:初始化,当定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。元素的引用方式为: arrayNameindex index为数组下标,可以是整型常数或表达式,如:arrayName1, arrayNamei, arrayName6*i等。下标是0序的,即从0开始,一直到数组长度减1。,4.2、数组 一维数组:引用,另外,与C、C+中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如: intArray.length指明数组intArray的长度。,4.2、数组 一维数组:边界检查,public class ArrayTest public static void main( String args ) int i; int a = new int5; for( i=0; i=0; i- ) System.out.println(“a“+i+“ = “+ai); ,该程序对数组中的每个元素赋值,然后按逆序输出。,4.2、数组 一维数组:示例,运行结果为: C:java ArrayTest a4 = 4 a3 = 3 a2 = 2 a1 = 1 a0 = 0,4.2、数组 一维数组:示例,在任何语言中,多维数组都被看作数组的数组。比如二维数组是一个特殊的一维数组,其每一个元素又是一个一维数组。我们主要以二维数组为例来说明,高维数组与此类似。,4.2、数组 多维数组,二维数组的定义方式 type arrayName ; 例如: int intArray ; 也可以采用另一种定义方式: type arrayName; 与一维数组一样,这时对数组元素也没有分配内存空间,同样要使用运算符new来分配内存,然后才可以访问每个元素。,4.2、数组 二维数组:定义,二维数组的初始化也分为静态和动态两种。 静态初始化:在定义数组的同时为数组分配空间。 int intArray =1,2,2,3,3,4; 不必指出数组每一维的大小,系统会根据初始化时给出的初始值的个数自动算出数组每一维的大小。,4.2、数组 二维数组:初始化,动态初始化:对高维数组来说,分配内存空间有下面两种方法: 1.直接为每一维分配空间,如: type arrayName =new typearraylength1arraylength2 例如: int a =new int23;,4.2、数组 二维数组:初始化,2.从最高维开始(而且必须从最高维开始),分别为每一维分配空间,如: String s =new String2 ; s0=new String2; s1=new String3; s00=new String(“Good”); s01=new String(“Luck”); s10=new String(“to”); s11=new String(“you”); s12=new String(“!”);,4.2、数组 二维数组:初始化,二维数组的引用 对二维数组中每个元素,引用方式为: arrayNameindex1index2 其中index1和index2为数组下标,为整型常数和表达式,都是0序的。 二维数组举例 两个矩阵相乘,参照参考书在课余时间上机练习。,4.2、数组 二维数组:引用及示例,数组是用来表达一组同类型数据的数据结构 在Java中数组是定长的,数组的大小不会动态变化 数组变量的值是数组对象实例的引用 在java.util包中的Arrays类提供了一些操作数组的方法 在java.util包中的Vector提供了动态变长数组的功能,Vector的容量可以随着需要变化,4.2、数组 java.util.Arrays,int binarySearch(type a, type key) 数组a必须已经排序,否则返回值无意义 当数组a中有重复的值时,该方法返回的值不确定 如果key存在,则返回它在数组a中的位置 如果不存在,则返回它的“-(插入位置-1)” void fill(type a, type val) void fill(type a, int fromIndx, int toIndex, type val) 包括afromIndx,但不包括atoIndex fromIndx= toIndex时,范围是一个空的范围,4.2、数组 java.util.Arrays,boolean equals(type a, type a2) 两个数组大小相同,并且每一个元素相等 两个null数组是相等的,4.2、数组 java.util.Arrays,void sort(type a) void sort(type a, int fromIndx, int toIndex) void sort(type a, Comparator c) void sort(type a, int fromIndx, int toIndex, Comparator c) 包括afromIndx,但不包括atoIndex fromIndx= toIndex时,范围是一个空的范围 排序算法都具有n*log(n)的计算复杂性,效率高 排序算法都保证稳定,即排序算法不会改变相等元素的顺序 对不同类型的数组,算法的实现并不完全相同 可以用自己的Comparator对象声明自定义的顺序,4.2、数组 java.util.Arrays,Copyof(int a,int newlength): java.lang.System void arraycopy(Object src, int src_position, Object dst, int dst_position, int length) 范围不能越界 可对任何同类型的数组进行复制 数组复制过程中做严格的类型检查 更详细的内容参见JDK文档,4.2、数组 数组的复制,向量(Vector)是java.util类包提供的一个工具类。它对应于类似数组的顺序存储的数据结构,但是具有比数组更强大的功能。它是允许不同类型元素共存的变长数组。每个Vector类的对象可以表达一个完整的数据序列。Vector类的对象不但可以保存顺序的一列数据,而且还提供了许多有用的方法来操作和处理这些数据。 另外,Vector类对象所表达的序列中元素的个数是可 变的,即Vector实现了变长数组。,4.2、向量,Java中的数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性的申请出来,而不能先创建数组再追加数组元素数量,为了解决这个问题Java中引入了向量类Vector。Vector也是一组对象的集合,但相对于数组,Vector可以追加对象元素数量,可以方便的修改和维护序列中的对象。,4.2、向量,向量比较适合在如下情况下使用: 1. 需要处理的对象数目不定,序列中的元素都是对 象或可以表示为对象。 2. 需要将不同类的对象组合成一个数据序列。 3. 需要做频繁的对象序列中元素的插入和删除。 4. 经常需要定位序列中的对象和其他查找操作。 5. 在不同的类之间传递大量的数据。 Vector类的方法相对于数组要多一些,但是使用这个 类也有一定的局限性,例如其中的对象不能是简单数据 类型等。,4.2、向量,Vector类有三个构造函数: Vector():构造一个空的向量 Vector(int capacity):以指定的存储容量构造一个空的向量 Vector(int capacity, int capacityIncrement):以指定的存储容量和容量增量构造一个空的Vector。 例如: Vector MyVector=new Vector(100,50); 这个语句创建的MyVector向量序列初始有100个元素的空间,以后一旦使用殆尽则以50为单位递增,使序列中元素的个数变化成150,200,。在创建Vector序列时,不需要指明序列中元素的类型,可以在使用时确定。,4.2、向量 创建向量类的对象,有两种添加元素的方法: addElement( Object obj):将新元素添加到序列尾部。 insertElementAt(Object obj, int index):将新元素插 入到指定位置。,4.2、向量 向向量序列中添加元素,下面是使用这两种方法的例子:,Vector MyVector=new Vector(); for (int i=1;i=10;i+) MyVector.addElement(new Random(); MyVector.insertElementAt(“middle“,5);,4.2、向量 向向量序列中添加元素,使用以下方法修改或删除向量序列中的元素: 1. setElementAt(Object obj,int index) 将向量序列index位置处的对象元素设置成为obj,如 果这个位置原来有元素则被覆盖。 2. removeElement(Object obj) 删除向量序列中第一个与指定的obj对象相同的元素, 同时将后面的元素前提,补上空位。这个方法返回的是 布尔值。 3. removeElementAt(int index) 删除index指定位置处的元素,同时将后面的元素前提。,4.2、向量 修改或删除向量序列中的元素,4. removeAllElements() 清除向量序列中的所有元素。 下例中先创建了一个Vector,再删除掉其中的所有字符串对象“to”。,Vector MyVector=new Vector(100); for (int i=0;i10;i+) MyVector.addElement(“welcome”); MyVector.addElement(“to”); MyVector.addElement(“beijing”); while (MyVector.removeElement(“to”);,4.2、向量 修改或删除向量序列中的元素,常用于查找向量序列中某元素的方法如下: 1.Object elementAt(int index) 返回指定位置处的元素。 一个要注意的问题:由于返回的是Object类型的对象, 在使用之前通常需要进行强制类型转换,将返回的对象引 用转换成Object类的某个具体子类的对象。例如: String str=(String)MyVector.elementAt(0); 2. boolean contains(Object obj) 检查向量序列中是否包含指定的对象元素obj。,4.2、向量 查找向量序列中的元素,3. int indexOf (Object obj,int start_index) 从指定的start_index位置开始向后搜索,返回所找到 的第一个与指定对象obj相同的元素的下标位置。若指定 的对象不存在,则返回1。 4. int lastIndexOf(Object obj,int start_index) 从指定的start_index位置开始向前搜索,返回所找到 的第一个与指定对象obj相同的元素的下标位置。若指定 的对象不存在,则返回1。例如:,int i=0; While(i=MyVector.indexOf(“welcome”,i)!=-1) System.out.println(i); ,4.2、向量 查找向量序列中的元素,capacity():返回Vector的容量 clone():建立Vector的备份 copyInto(Object):把Vector中的元素拷贝到一个数组中 firstElement():返回第一个元素 lastElement():返回最后一个元素 isEmpty():判断是否为空 setSize(int size):设置Vector的大小 size():返回Vector中元素的数量 trimToSize():将Vector的容量下调至最小值,4.2、向量 Vector中的其他方法,4.2、向量,使用Vector时,一个需要特别注意的问题就是要先创建后使用。如果不先使用new算法利用构造函数创建Vector类的对象,而直接使用Vector的方法,如:addElement()等方法,则可能造成堆栈溢出或使用null指针等异常,妨碍程序的正常运行。,4.2、ArrayList-大小可变数组(动态数组 ),动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小,ArrayList类有三个构造函数: ArrayList():构造一个空的向量,容量为10 ArrayList(int capacity):以指定的存储容量构造一个空的向量; ArrayList(collection):构造一个包含指定 collection 的元素的列表; 例如: ArrayList MyVector=new ArrayList (100); 这个语句创建的MyVector向量序列初始有100个元素的空间,4.2、ArrayList 创建对象,ArrayList类拥有的常用方法有: 1、add(E e):将指定元素添加到列尾; add(int index, E element ): 将指定的元素插入此列表中的指定位置; 2、 addAll(Collection e) :将该 collection 中的所有元素添加到此列表的尾部。 addAll(int index, Collection e) :从指定的位置开始,将指定 collection 中的所有元素插入到此列表中 ; 3、clear() : 移除此列表中的所有元素 ; 4、clone() : 返回此 ArrayList 实例的浅表副本; 5、contains(Object o) : 如果此列表中包含指定的元素,则返回 true。,4.2、ArrayList 基本方法,6、get(int index):返回此列表中指定位置上的元素; 7、set(int index,E e):用指定的元素替代指定位置上的元 ; 8、size():返回元素个数; 9、isEmpty():为空时返回true; 10、indexof(object o): 11、lastindexof(object o): 12、remove(int index): remove(object o): 13、removeRange(int index,int index): 14、toArray():按适当顺序返回所有元素的数组; toArray(T a):返回所有元素的数组,且返回数组的运行时类型是指定数组的运行时类型 15、Trimtosize():将此 ArrayList 实例的容量调整为列表的当前大小,4.2、ArrayList 基本方法,4.3、字符串,字符串是字符的序列,它是组织字符的基本数据结构,从某种程度上来说有些类似于字符的数组。在Java中,字符串被当作对象来处理。程序中需要用到的字符串可以分为两大类,一类是创建之后不会再做修改和变动的字符串常量;另一类是创建之后允许再做更改和变化的字符串变量。对于字符串常量,由于程序中经常需要对它做比较,搜索之类的操作,所以通常把它放在一个具有一定名称的对象之中,由程序对该对象完成上述操作。 在Java中,存放字符串常量的对象用String类,对于字符串变量,由于程序中经常需要对它做添加,插入,修改等操作,一般存放在StringBuffer类的对象中。,4.3、字符串 String,字符串常量使用双引号括住的一串字符,比如: “Hello world! “ Java编译器自动为每一个字符串常量生成一个String类 的实例,因此可以用字符串常量直接初始化一个String对 象,如: String s=“Hello world! “;,要创建类String的一个对象并进行初始化,需要调用类 String的构造方法。类String中提供了下面的一些构造方法: String( ):无参数的缺省的构造方法用来创建一个空串。 String s = new String( ); String( String value):利用已经存在的字符串常量创建一个 新的String对象,该对象的内容与给出的字符串常量一致。 String s=new String(“hello”); String( char value ):通过给构造方法传递一个字符数组 可以创建一个非空串。 char chars = a , b , c ; String s = new String( chars ) ;,4.3、字符串 String:创建,String( char , int startIndex, int numChars ):这种方法用来 创建一个非空串,并且指明所创建的字符串在字符数组中的起 始地址以及所包含的字符个数。 char chars = a , b , c , d , e , f ; String s = new String ( chars , 2 , 3 ); 该方法生成的串s为“cde”。(注意数组的下标从0开始),4.3、字符串 String:创建,String( byte mybyte, byte hibyte ):因为在Internet上,格式采用八位的ASCII码,所以Java的类String提供了从byte型数组进行初始化的构造方法。其中hibyte指明各字符的高位字节,对于通常所用的ASCII码,必须将高位字节声明为零,而其他的非拉丁文字符则置为非零。 byte mybyte = 97 , 98 , 99 ; String s = new String( mybyte , 0 ); 该方法构造的字符串s是“abc”。,4.3、字符串 String:创建,String( byte mybyte, byte hibyte , int startIndex , int numChars ): 这种构造方法与String(char ,int startIndex,int numChars) 类似,只是初始化的数组类型不同。 byte mybyte = 80 , 81, 82, 83, 84, 85 ; String s = new String ( mybyte , 0, 2, 3 ); 该方法构造的字符串s是“RST”。 String(StringBuffer buffer):这个构造函数利用一个已经存 在的StringBuffer对象为新建的String对象初始化。,4.3、字符串 String:创建,1. length public int length( ) 此方法返回字符串的字符个数,如: String s = “abc“; System.out.println( s.length( ) ); 则将显示字符个数为3。,4.3、字符串 String:基本方法,2. charAt public char charAt (int index ) 该方法返回字符串中index位置上的字符,其中index值的范围是0length-1。 3. getChars 如果要从字符串中提取一个以上的字符,则可以用此方法: public void getchars (int srcbegin,int end,char buf,int dstbegin) 其中,srcbegin为要提取的第一个字符在源串中的位置, end为要提取的最后一个字符在源串中的位置,字符数组buf存放目的字符串,dstbegin为提取的字符串在目的串中的起始位置。,4.3、字符串 String:基本方法,4. getbytes public void getbytes (int srcbegin,int end,byte byt,int dstbegin ) 类似于上一个方法,只是串中的字符均用8位表示,参数及用法同上。 5. indexOf和lastIndexOf 为了在给定的字符串中检索特定的字符或子串,类String提供了上面两种方法,并通过方法重写更方便的处理这类问题。这两种方法中,如果查找成功,则返回匹配成功的字符的位置,如果没有查找到,则都返回 -1。 int indexOf ( int ch) int lastIndexOf ( int ch) 返回字符ch在字符串中出现的第一个和最后一个位置。,4.3、字符串 String:基本方法,int indexOf(String str) int lastindexOf(String str) 返回子串str中第一个字符在字符串中出现的始末位置。 int indexOf ( int ch, int fromIndex) int lastIndexOf ( int ch, int fromIndex) 返回字符ch在字符串中位置fromIndex以后出现的始末位置。 int indexOf (String str,int fromIndex) int lastIndexOf (String str , int fromIndex) 返回子串str中的第一个字符在字符串中位置fromIndex 以后出现的始末位置。,4.3、字符串 String:基本方法,6. 在Java中,运算符“”可以用来实现字符串的连接,如: String s=“He is”+age+”years old.” 假设整数型变量age的值为15,那么,s的值为 “He is 15 yearsOld”。 7. compareTo public int compareTo ( String str ) 该方法按字典次序比较两个字符串的大小,如果源串较小,则返回一个小于0的值,如相等则返回0,否则返回一个大于0的值。,4.3、字符串 String:基本方法,8. equals和equalsIgnoreCase public boolean equals( object str) public boolean equalsIgnoreCase( object str ) 判断两个字符串是否相等,则可以用此方法。相等则 返回 true,不等则返回false,两种方法的区别在于 equalsIgnoreCase不区分字母大小写,而equals则须区分。 9.其他方法 public String concat(String str); 将当前字符串对象与给定的字符串str连接起来。,4.3、字符串 String:基本方法,public String replace(char oldChar,char newChar) 将串中出现的特定字符用新的字符代替。 public String substring(int beginIndex) public String substring(int beginIndex,int endIndex) 用来得到字符串中指定范围内的子串。 public String toLowerCase() 把串中的所有字符转换成小写 public String toUpperCase() 把串中的所有字符转换成大写,4.3、字符串 String:基本方法,class StringCopyModify public static void main(String args ) String s = new String(“We will go further to modify a String by copy! “); System.out.println(“From String“ + s + “); String sub1 = s.substring(20); String sub2 = s.substring(0,19); System.out.println(“Get a sub string from index 20 to the end:“+ sub1); System.out.println(“Get a sub string from index 0 to 19:“ + sub2); String cons=sub2.concat(sub1); System.out.println(“Concat two sub string into one:n“ + cons); ,4.3、字符串 String:示例,运行结果为:,From String “We will go further to modify a String by copy” Get a sub string from index 20 to the end:to modify a String by copy Get a sub string from index 0 to 19:We will go further Concat two sub strings into one: We will go further to modify a String by copy,可见,通过拷贝得到新的字符串是并不改变原字符串的值。,4.3、字符串 String:示例,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商标版权所有合同协议
- 民宅贴外墙合同协议
- 商场合同自行终止协议
- 正规物流运输合同协议
- 2025教育设备采购合同模板
- 快餐出租转让合同协议
- 2025激光打印机设备租赁服务合同
- 陕西省汉中市2025届高三下学期二模试题 历史 含解析
- 2025yy临时工合同协议模板
- 2025企业股权转让合同协议书范本
- 2025年北京市西城区九年级初三一模英语试卷(含答案)
- 广东省深圳市2025年高三年级第二次调研考试数学试题(含答案)
- 沪科版七年级数学下册第八章测试题及答案
- AQ/T 9009-2015 生产安全事故应急演练评估规范(正式版)
- (完整版)12123交管学法减分考试题及答案
- 幼儿园绘本:《小蛇散步》 课件
- 村卫生室静脉输液准入申请审批表
- 提高钢柱安装垂直度合格率QC成果PPT
- 计算机网络故障的诊断与解决方法论文
- 无线局域网基础知识ppt课件
- Q∕GDW 10799.6-2018 国家电网有限公司电力安全工作规程 第6部分:光伏电站部分
评论
0/150
提交评论