Java6数组和字符串.ppt
《Java6数组和字符串.ppt》由会员分享,可在线阅读,更多相关《Java6数组和字符串.ppt(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习导读学习导读数数组组、字字符符串串都都是是使使用用Java语语言言编编制制程程序序要要经经常常使使用用的的数数据据结结构构,因因此此,熟熟练练掌掌握握这这些些数数据据结结构构是是进进一一步步学学习习Java程程序序设设计计的的必必要要阶阶段段。通通过过本本章章的的学学习习,应应该该能能够够熟熟练练掌掌握握数数组组、字字符符串串的各种基本操作。的各种基本操作。第6章 数组、字符串本章主要讲述如下内容:数组:Java的数组属于类类型;字符串的分类;内容不可改变的字符串类String;字符串常量;内容可以改变的字符串类StringBuffer;字符串应用。第6章 数组、字符串教学重点与难点教学重
2、点与难点:一维数组的声明和初始化数组元素的引用二维数组的声明和使用字符与字符串的区别字符串常量与String类字符串变量与StringBuffer类6.1 数组 Java数组是系统定义类Array 的子类;数组的分类同C/C+:一维和多维。6.1.1 一维数组 定义数组的格式定义数组的格式:int a ;或或 int a;其其值是值是null;在定义数组时不能指定大小。在定义数组时不能指定大小。a仅是一个引用,仅是一个引用,代表一个数组名,但没有对应的空间代表一个数组名,但没有对应的空间。产生数组空间的方法有两种产生数组空间的方法有两种:在定义时直接赋值:在定义时直接赋值:int a=1,2,
3、3;通过通过new分配空间:分配空间:int a=new int10;数组元素的引用数组元素的引用定义并用运算符定义并用运算符new为之分配空间后后,才可以为之分配空间后后,才可以引用数组中的每个元素;引用数组中的每个元素;数组元素的引用方式:数组元素的引用方式:arrayNameindex index为数组元素下标,可以是整型常量或整为数组元素下标,可以是整型常量或整型表达式。如型表达式。如a3,bi,c6*i;数组元素下标从数组元素下标从0开始;长度为开始;长度为n的数组合法下的数组合法下标取值范围:标取值范围:0 n-1;数组元素的引用数组元素的引用int a=new int10;for
4、(int i=0;ia.length;i+)ai=i;int a;int a;a=new int3;a0=5;a1=11;a2=6;int a=new int3;int a=new int3;a0=5;a1=11;a2=6;int a=5,11,6;注意:注意:Java数组名是一个引用,当将一个数组数组名是一个引用,当将一个数组名赋值给另一个数组时,实际上是名字的复制,名赋值给另一个数组时,实际上是名字的复制,例如例如 2-5 2-5:publicclassTest_Arraypublicstaticvoidmain(Stringargs)inta=1,2,3,b;b=a;for(inti=0
5、;i3;i+)bi+;for(inti=0;i3;i+)System.out.println(ai);6.1.1 一维数组(续)获得数组元素的个数:数组名获得数组元素的个数:数组名.length;一个整形数组若仅仅采用一个整形数组若仅仅采用new分配空间,分配空间,而没有对其赋值,那么每个元素的值是而没有对其赋值,那么每个元素的值是0。int sourceArray=2,3,8,1,14;int destArray=new intsourceArray.length;for(int i=0;isourceArray.length;i+)destArrayi=sourceArrayi;6.1.1
6、 一维数组(续)int a=126,167,95;int max=getMaxValue(a);System.out.println(Max=+max);public static int getMaxValue(int array)int m=array0;for(int i=1;i m)m=arrayi;return m;Output:Max=167int a=126,167,95;destroy(a);System.out.println(a0+a1);.public static void destroy(int array)for(int i=0;i array.length;i+)
7、arrayi=0;Output:0 06.1.2 二维数组 数组中的数组元素可以是基本数据类型数组中的数组元素可以是基本数据类型的值,也可以是对象类型的值。由于数的值,也可以是对象类型的值。由于数组也是对象,因此,数组中的每个元素组也是对象,因此,数组中的每个元素还可以是一个数组还可以是一个数组。二二维数组维数组二维数组举例:二维数组举例:int a=1,2,3,4,0,9,5,6,7;i jj=0j=1j=2j=3i=012i=13409i=2567声明声明:int x;或或int x ;或或 int x ;6.1.2 二维数组 产生二维数组空间的方法有两种:产生二维数组空间的方法有两种:定
8、义时直接赋值:定义时直接赋值:x=1,2,3,4 ;int x =1,2,3,4 ;通过通过new运算符分配空间运算符分配空间。通过通过new运算符分配空间运算符分配空间:x=new int23;或或 x=new int2;x0=new int3;x1=new int3;二维数组形状任意,不一定是矩形。二维数组形状任意,不一定是矩形。例如例如程序程序2-72-7:6.1.2 二维数组 publicclassTest_Array2publicstaticvoidmain(Stringargs)inta;a=newint2;a0=newint3;a1=newint6;(a的长度的长度=+a.len
9、gth);System.out.println(a0的长度的长度=+a0.length);System.out.println(a1的长度的长度=+a1.length);6.2 字符串6.2 字符串 字符串指的是字符的序列,有两种类型的字符串:java.lang包中定义了 String和StringBuffer两个类;一种是创建以后不需要改变的,称为字符串常量,在Java中,String类用于存储和处理字符串常量。另外一种字符串是创建以后,需要对其进行改变的,称为字符串变量,在Java中,StringBuffer类用于存储和操作字符串变量。两个类都有final修饰,这样可以优化字符串的操作。6
10、.2.1 String类String类的定义原型:publicfinalclassjava.lang.Stringextendsjava.lang.Object6.2.1 字符串常量 字符串常量属于String类型;相同的字符串常量属于同一个对象,占用同一块空间,例如:/程序程序6-1publicclassTestConstStringpublicstaticvoidmain(Stringargs)Stringstr1=Hello,str2=Hello;System.out.println(str1=str2);System.out.println(Java=Java);6.2.2 创建Str
11、ing类对象 用new运算符,并调用构造函数创建这种类型的对象,常见构造函数如下:1.publicString()采用该构造函数创建一个不含字符的空对象。采用该构造函数创建一个不含字符的空对象。例如:例如:Stringstr=newString();2.publicString(charvalue)将将字字符符数数组组的的内内容容转转换换为为字字符符串串,并并赋赋予予新新建的对象。例如:建的对象。例如:chara=J,a,v,a;Stringstr=newString(a);3.publicString(charvalue,intoffset,intcount)例如:例如:chara=J,a,
12、v,a;Stringstr=newString(a,1,2);/字符串字符串str的内容是的内容是av4.publicString(Stringvalue)采用采用value对象的值构造一个新的对象的值构造一个新的string对象。对象。例如:例如:Stringstr1=Java;Stringstr2=newString(Java);System.out.println(str2);/JavaSystem.out.println(str1=str2);/false下面是创建下面是创建StringString对象的例子:对象的例子:String s;String s;/声明一个声明一个Strin
13、gString对象,此时对象,此时s s的值为空。的值为空。s=new String(“abc”);s=new String(“abc”);/为为s s开辟内存空间,并初始化。开辟内存空间,并初始化。String s=new String(“abc”);String s=new String(“abc”);/把上两个语句的功能合二为一。把上两个语句的功能合二为一。注注意意采采用用字字符符串串常常量量初初始始化化一一个个String引引用用的的问题。例如:问题。例如:Stringstr=abc;等价于:等价于:chardata=a,b,c;Stringstr=newString(data);应用
14、举例,注意应用举例,注意程序程序6-2的输出结果:的输出结果:publicclassTestString/程序程序6-2publicstaticvoidmain(Stringargs)Strings1=Java,s2=Java;Strings3=newString(s1);(s1=s2 is+(s1=s2);/true(s1=s3is+(s1=s3);/falses1=ABC;s2=DEFG;(s1=s2is+(s1=s2);/falses1=s2;(s1=s2is+(s1=s2);/true在Java中,String类包含有50多个方法来实现字符串的各种操作,以下介绍一些我们需要经常使用的方
15、法。6.2.3 String类常用方法 6.2.3 String类常用方法 1.publicintlength():求串长。求串长。例如:例如:Stringstr=Java;System.out.println(str.length();/4例子:例子:String s=Hello!;String s=Hello!;System.out.println(s.length();/6System.out.println(s.length();/6String t=“String t=“你过得可好?你过得可好?”;”;System.out.println(t.length();/6System.ou
16、t.println(t.length();/66.2.3 String类常用方法 2.publiccharcharAt(intindex)提取指定位置上的字符。提取指定位置上的字符。String s=“This is a Test”;char c=s.charAt(3);/s3.publicintcompareTo(StringanotherString)对字符串内容按字典序进行大小比较。例如:对字符串内容按字典序进行大小比较。例如:3.字符串的比较:public int compareTo(String anotherString)其比较过程实际上是两个字符串中相同位置上的字符按Unicod
17、e中排列顺序逐个比较的结果。如果在整个比较过程中,没有发现任何不同的地方,则表明两个字符串是完全相等的,compareTo方法返回0;如果在比较过程中,发现了不同的地方,则比较过程会停下来,这时一定是两个字符串在某个位置上不相同,如果当前字符串在这个位置上的字符大于参数中的这个位置上的字符,compareTo方法返回一个大于0的整数,否则返回一个小于0的整数。String s1=“aaaa”;String s2=“AAAA”;int a=pareTo(s2);/32 String s3=“a1”;String s4=“a3”;int a=pareTo(s2);/-2publicclassSor
18、tStringArrary/程序程序6-3publicstaticvoidmain(Stringargs)Stringstr,s=Computer,CHINA,world,U.S.A;inti,j,k;System.out.print(排序之前:排序之前:);for(i=0;is.length;i+)System.out.print(t+si);for(i=0;is.length-1;i+)for(k=i,j=i+1;j0)k=j;/sk中存放最小的中存放最小的str=si;si=sk;sk=str;/注意该行的含义注意该行的含义System.out.print(n排序之后:排序之后:);fo
19、r(i=0;is.length;i+)System.out.print(t+si);6.2.3 String类常用方法(续)4.chartoCharArray()将将String对象转换到一个字符数组中,例如:对象转换到一个字符数组中,例如:Strings=Hello,Java!;chara;a=s.toCharArray();for(inti=6;ia.length;i+)System.out.print(ai);/Java!6.2.3 String类常用方法(续)5.publicbooleanequals(StringanString)比较两个字符串对象的内容是否相等。比较两个字符串对象的
20、内容是否相等。6.publicbooleanequalsIgnoreCase(StringanotherString)以忽略大小写方式,比较两个字符串对象的内以忽略大小写方式,比较两个字符串对象的内容是否相等。容是否相等。注意:注意:equals()方法与方法与“=”之间的区别。例之间的区别。例如:如:String s1=“aaaa”;String s2=“AAAA”;boolean b1=s1.equals(s2);/false boolean b2=s1.equalsIgnoreCase(s2);/truepublicclassConfuseQuestion/程序程序6-5publicst
21、aticvoidmain(Stringargs)Strings1=java;Strings2=newString(s1);Strings3=s2;System.out.println(s1.equals(s2);/true System.out.println(s2.equals(s3);/true System.out.println(s2=s3);/true6.2.3 String类常用方法(续)7.publicintindexOf(intch)在字符串中搜索字符,返回字符在在字符串中搜索字符,返回字符在String对象中从左边起首次出现的位置。如果没有对象中从左边起首次出现的位置。如果没
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java6 数组 字符串
限制150内