
2012java教程第6章数组与字符串的学习.ppt
19页LOGOJAVAJAVA程序语言设计程序语言设计程序语言设计程序语言设计 陈明 编著第六章第六章 数组与字符串的学习数组与字符串的学习v数组v字符串v使用StringTokenizer类分析字符串v字符串与字符、字节数组声明数组声明数组v声明数组包括数组的名字、数组包含的元素的数据类型u声明一维数组有下列两种格式:数组元素类型 数组名字[ ];数组元素类型[ ] 数组名字;u同样,声明二维数组也有下列两种格式:数组元素类型 数组名字[ ][ ];数组元素类型[ ][ ] 数组名字;创创 建建 数数 组组v 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正地使用数组还必须为它分配内存空间,即创建数组在为数组分配内存空间时必须指明数组的长度Java支持两种方法完成这一操作:§使用new运算符;§直接初始化数组元素 数组元素的使用数组元素的使用v 一维数组通过下标访问自己的元素,如boy[0]、boy[1]等需要注意的是下标从0开始,因此,数组若是7个元素,下标到6为止,如果使用了如下语句将发生异常。
boy[7] = 384.98f;v二维数组也通过下标符访问自己的元素,如a[0][1]、a[1][2]等需要注意的是下标从0开始,比如声明创建了一个二维数组a:int a[ ][ ] = new int [2][3];v那么第一个下标的变化范围从0到1,第二个下标变化范围从0到2如果使用了如下语句将发生异常a[2][1] = 23; a[1][3] = 34; 数组的初始化数组的初始化创建数组后,系统会给每个数组元素一个默认的值,如float型是0.0我们在声明数组时,同时也还可以给数组的元素一个初始值,如:float boy = {12.3f; 23.4f;34.5f;};上述语句相当于:float boy = new float[3];boy[0]= 12.3f; boy[1]= 23.4f; boy[2]= 34.5f;字字 符符 串串vJava 的字符串类型,叫做字符串(String ),它不是一种简单的类型,也不是简单的字符数组(在C/C++ 中是)字符串(String )在Java 中被定义为对象. 与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理,这点需要尤其注意。
获取字符串的长度获取字符串的长度String 类拥有一个length()方法,使用此方法会传回一个代表该字符串长度的 int 值,该值即为String对象所存放的字符串内容的长度(字符数量) 如:String s = "we are students . ",jim ="我们是学生";int n1,n2;n1=s.length();n2=jim.length();那么n1的值是16,n2的值是6注:其中包含空格和标点符号)字符串常量也可以使用length()获得长度,如“我是学生”,length()的值是4字符串比较字符串比较v1. equals方法方法v2. equalIgnoreCase方法方法v3. regionMatches方法方法v4. compareTo、、compareToIgnoreCase方法方法检索字符串检索字符串v 1.类String中提供了charAt( )、indexOf( )、lastIndexOf( )等方法v2.类StringBuffer提供了length( )、charAt( )、getChars( )、capacity( )、setlength( )、append( )、 insert( )、reverse( )、replace( )、delete( )、deletecharAt( )、substring( )等方法修改字符串修改字符串1..String类提供的方法:类提供的方法: concat( ) replace( ) trim( ) substring( ) toLowerCase( ) toUpperCase( )修改字符串修改字符串2..StringBuffer类提供的方法:类提供的方法: append( ) insert( ) setCharAt( )字符串字符串"+"操作操作运算符'+'可用来实现字符串的连接:String s = "He is "+age+" years old.";其他类型的数据与字符串进行"+"运算时,将自动转换成字符串。
具体过程如下:String s=new StringBuffer("he is").append(age).append("years old").toString();注意:除了对运算符"+"进行了重载外,java不支持其它运算符的重载valueoOf方法方法v可以用String类的下列类方法将其他数据类型转换为String类型:public String valueOf(int n)public String valueOf(long n)public String valueOf(float n)public String valueOf(double n)public String valueOf(byte n)将如123,123.456等数值转化为字符串,如:String s = String.valueOf(123.456);使用使用StringTokenizer类分析字符串类分析字符串v该类用于分析一个字符串并将字符串分解成可被独立使用的单词,有两个常用的构造方法:1. public StringTokenizer(String str)2. public StringTokenizer(String str, String delim)字符串与字符数组字符串与字符数组vString 类中有两个用字符数组创建字符串对象的构造方法:1、String(char[ ])该构造方法用指定的字符数组构造一个字符串对象。
2、String(char[ ],int offset,int length)用指定的字符数组的一部分,即从数组起始位置offset开始取length个字符构造一下字符串对象字符串与字符数组字符串与字符数组v将字符串的字符复制到字符数组将字符串的字符复制到字符数组::l(1)public void getChars(int begin,int end ,char buf[],int offset)l(2)public char[ ] toCharArray() 字符串与字节数组字符串与字节数组v用字节数组创建字符串对象用字节数组创建字符串对象::(1)String(byte[ ])该构造方法使用平台默认的字符编码,用指定的字节数组构造一个字符串对象2)String(byte[ ],int offset,int length)该构造方法使用平台默认的字符编码,用指定的字节数组的一部分,即从数组开始位置offset开始取length个字节构造一个字符串对象字符串与字节数组字符串与字节数组v将字符串转化为字节数组将字符串转化为字节数组:: public byte[] getBytes() 使用平台默认的字符编码,将当前字符串转化为一个字节数组。
