Java基础第5章课件.ppt

上传人(卖家):三亚风情 文档编号:3151284 上传时间:2022-07-22 格式:PPT 页数:161 大小:5.60MB
下载 相关 举报
Java基础第5章课件.ppt_第1页
第1页 / 共161页
Java基础第5章课件.ppt_第2页
第2页 / 共161页
Java基础第5章课件.ppt_第3页
第3页 / 共161页
Java基础第5章课件.ppt_第4页
第4页 / 共161页
Java基础第5章课件.ppt_第5页
第5页 / 共161页
点击查看更多>>
资源描述

1、让IT教学更简单,让IT学习更有效让IT教学更简单,让IT学习更有效第五章 数组、字符串及容器类String类和StringBuffer类System类和Runtime类Math类和Random类包装类Date类、Calendar类和DateFormat类让IT教学更简单,让IT学习更有效 目录5.35.35.3 foreach语句语句5.55.5java.util.Arrays类类5.15.1一维数组一维数组5.25.2多维数组多维数组5.45.4数组的应用数组的应用5.65.65.75.7容器容器字符串字符串让IT教学更简单,让IT学习更有效 数组是指一组数据的集合,数组中的每个数据被称作

2、元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。数组变量属引用类型引用类型,数组也可以看成是对象,数组中的每 个元素相当于该对象的成员变量。数组中的元素可以是可以任何数据类型,包括基本类型和引 用类型。5.1 一维数组让IT教学更简单,让IT学习更有效5.1 一维数组5.1.1 一维数组的定义一维数组的定义 在Java中,可以使用以下格式来定义一个数组。上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为x0,第二个变量的名称为x1,以此类推,第100个变量的名称为x99,这些变量的初始值都是0。让IT教学更简单,让IT学习更有效5.1一维数组

3、 5.1.1 一维数组的定义一维数组的定义 接下来,通过两张内存图来详细地说明数组在创建过程中内存的分配情况。让IT教学更简单,让IT学习更有效注意:注意:数据类型可以是8种基本数据类型,也可以是引用类型 例如:int a;int b;Animal dog;Java语言中声明数组时不能指定其长度(数组中元素的个数),int a10;/错误5.1 一维数组让IT教学更简单,让IT学习更有效注意:元素为引用数据类型的数组中的每一个元素都需要实例化。public class TestArry public static void main(String args)Date days;days=new

4、 Date3;for(int i=0;i 3;i+)daysi=new Date(2010,10,i+1);class Date int year;int month;int day;Date(int y,int m,int d)year=y;month=m;day=d;Days:nullDays:xxxnullnullnullxxxxxxxxx2010101201010220101035.1.1 5.1.1 一维一维数组的定义数组的定义-元素为引用数据类型的数组元素为引用数据类型的数组5.1 一维数组让IT教学更简单,让IT学习更有效5.1 一维数组 5.1.1 一维数组的定义一维数组的定义

5、-默认值默认值让IT教学更简单,让IT学习更有效5.1.2 一维数组的初始化一维数组的初始化 Java中数组的初始化分为两种方式:静态初始化和动态初始化。动态初始化:为数组元素分配空间和赋值的操作分开进行,例如:5.1 数组让IT教学更简单,让IT学习更有效5.1 数组 5.1.1 一维一维数组的初始化数组的初始化再例如:再例如:让IT教学更简单,让IT学习更有效5.1 一维数组 5.1.2 一维一维数组的初始化数组的初始化 在初始化数组时还有一种方式叫做静态初始化,就是在定义数组的同时就为数组的每个元素赋值。数组的静态初始化有两种方式:但是为了简便,建议采用第二种方式。让IT教学更简单,让I

6、T学习更有效5.1 一维数组 5.1.2 一维一维数组的初始化数组的初始化 数组静态初始化的效果:让IT教学更简单,让IT学习更有效5.1 一维数组 5.1.2 一维一维数组的初始化数组的初始化 数组静态初始化的效果:值得注意的是,例程中的第3行代码千万不可写成int x=new int41,2,3,4;,这样写编译器会报错。原因在于编译器会认为数组限定的元素个数4与实际存储的元素1,2,3,4个数有可能不一致,存在一定的安全隐患。让IT教学更简单,让IT学习更有效脚下留心 1、每个数组的索引都有一个范围,即0length-1。在访问数组的元素时,索引不能超出这个范围,否则程序会报错:运行结果

7、中所提示的错误信息是数组越界异常ArrayIndexOutOfBoundsException,出现这个异常的原因是数组的长度为4,其索引范围为03,例程中的第4行代码使用索引4来访问元素时超出了数组的索引范围。所谓异常指程序中出现的错误,它会报告出错的异常类型、出错的行号以及出错的原因,关于异常在后面的章节会有详细地讲解。让IT教学更简单,让IT学习更有效脚下留心 2、在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常:让IT教学更简单,让IT学习更有效5.1 一维数组 5.1.3 数组的常

8、见操作数组的常见操作 1、一维数组遍历、一维数组遍历 在操作数组时,经常需要依次访问数组中的每个元素,这种操作称作数组的遍历。让IT教学更简单,让IT学习更有效2.8 数组 2.7.2 数组的常见操作数组的常见操作 2、数组最值、数组最值 在操作数组时,经常需要获取数组中元素的最值。让IT教学更简单,让IT学习更有效5.1一维数组 5.1.3 数组的常见操作数组的常见操作 3、一维数组排序、一维数组排序 在操作数组时,经常需要对数组中元素进行排序。冒泡排序冒泡排序:在排序过程中,不断地比较数组中相邻的两个元素,较小者向上浮,较大者往下沉:第一步,从第一个元素开始,将相邻的两个元素依次进行比较,

9、直到最后两个元素完成比较。如果前一个元素比后一个元素大,则交换它们的位置。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。第二步,除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一步相似,这样就可以将数组中第二大的数放在了倒数第二个位置。第三步,以此类推,持续对越来越少的元素重复上面的步骤,直到没有任何一对元素需要比较为止。让IT教学更简单,让IT学习更有效5.1 一维数组 5.1.3 数组的常见操作数组的常见操作 3、数组排序、数组排序 在操作数组时,经常需要对数组中元素进行排序。让IT教学更简单,让IT学习更有效5.1 一维数组 5.1.3 数组的常见操

10、作数组的常见操作 3、数组排序、数组排序 在操作数组时,经常需要对数组中元素进行排序。bubbleSort()方法中通过一个嵌套for循环实现了冒泡排序。让IT教学更简单,让IT学习更有效5.1 数组 5.1.3 数组的常见操作数组的常见操作 3、数组排序、数组排序 在操作数组时,经常需要对数组中元素进行排序。2628行代码实现了数组中两个元素的交换。让IT教学更简单,让IT学习更有效练习题练习题 定义一个对象数组 Student stus=new Student5;每个元素中存储学生信息 姓名(String),年龄(int),成绩(int)然后按成绩给这个数组排序。让IT教学更简单,让IT学

11、习更有效5.2 多维数组 5.2.1 二维数组的声明二维数组的声明 多维数组可以简单地理解为在数组中嵌套数组。在程序中比较常见的就是二维数组。二维数组的定义有很多方式:让IT教学更简单,让IT学习更有效5.2.1 二维数组的声明二维数组的声明二维数组可以看成以数组为元素的数组。例如:Int a=1,3,3,5,6,7,2,6,3;Java中多维数组的声明和初始化应从最左边维数从最左边维数进行,例如:int a=new int3;a0=new int2;a1=new int3;a2=new int4;int b=new int3;/非法也可以同时指定所有的维数:int a=new int35;5

12、.2 多维数组让IT教学更简单,让IT学习更有效5.2 多维数组 5.2.1 二维数组的声明二维数组的声明 所以,二维数组也可以如下定义:让IT教学更简单,让IT学习更有效5.2 多维数组 5.2.2 二维数组的初始化二维数组的初始化静态初始化:适用于数组元素个数较少的情况int intArray=1,2,2,3,3,4;String22 stringArray=“Hello”,“world”,“java”,“test”;/错误,不能指定维数。让IT教学更简单,让IT学习更有效动态初始化:(1)直接为每一维分配空间,其语法格式为:数据类型 数组名=new数据类型行数列数;如:int a=new

13、 int34;a:xxx0000000000005.2.2 二维数组的初始化二维数组的初始化5.2 多维数组让IT教学更简单,让IT学习更有效AS:xxxnull null null nullnull null null nullnull null null null再如:String AS=new String34;5.2.2 二维数组的初始化二维数组的初始化5.2 多维数组让IT教学更简单,让IT学习更有效(2)从最高维开始(而且必须从最高维开始),分别为每一维 分配空间,此时二维数值中每行的元素个数可以不相等。如:int a =new int3;a0=new int2;a1=new in

14、t3;5.2.2 二维数组的初始化二维数组的初始化5.2 多维数组让IT教学更简单,让IT学习更有效a:xxxa0:xxxa1:xxxa2:null00000int a =new int3;a0=new int2;a1=new int3;5.2.2 二维数组的初始化二维数组的初始化5.2 多维数组让IT教学更简单,让IT学习更有效例例1:让IT教学更简单,让IT学习更有效统计一个公司三个销售小组三个季度中每个小组的总销售额以及整个公司的销售额。例例2:让IT教学更简单,让IT学习更有效例例3:让IT教学更简单,让IT学习更有效注意:二维数组名.length方式返回的将是该二维数值的行数,使用“

15、二维数组名index1.length”返回的是该二维数组第index1行的元素数(即该行的列数)。【书例5.2】MultiMatrixDemo.java5.2.3 二维数组的访问二维数组的访问5.2 多维数组让IT教学更简单,让IT学习更有效u foreach语句用于循环遍历数组或集合中的各个元素。语法格式为:语法格式为:for(数据类型变量:数组集合)如:int intArray=1,2,3,4,5;/声明变量声明变量 i 的类型要与数组或集合的数据类型一致;的类型要与数组或集合的数据类型一致;for(int i:intArray)/系统自动帮我们完成循环的循环条件、迭代语句。系统自动帮我们

16、完成循环的循环条件、迭代语句。System.out.println(i);5.3 foreach语句让IT教学更简单,让IT学习更有效循环变量是临时变量,不是数组元素,系统会把数组中的 值依次赋给这个临时变量。虽然允许为此临时变量赋值,但是 无法来修改数组的值,而且极易出错。5.3 foreach语句【书例5.3】ForeachDemo.java让IT教学更简单,让IT学习更有效5.5 Arrays工具类 java.util包中还提供了一个专门用于操作数组的工具类Arrays。Arrays工具类提供了大量的静态方法。1、使用、使用Arrays的的sort()方法排序方法排序 在前面学习数组时,

17、要想对数组进行排序就需要自定义一个排序方法,其实也可以使用Arrays工具类中的静态方法sort()来实现这个功能,接下来通过一个案例来学习sort()方法的使用。让IT教学更简单,让IT学习更有效5.5 Arrays工具类 2、使用、使用Arrays的的binarySearch(Object a,Object key)方法查找元素方法查找元素 程序开发中,经常会在数组中查找某些特定的元素,如果数组中元素较多时查找某个元素就会非常繁琐,为此,Arrays类中提供还了一个方法binarySearch(Object a,Object key)用于查找元素,接下来通过一个案例来学习该方法的使用。让I

18、T教学更简单,让IT学习更有效5.5 Arrays工具类 2、使用、使用Arrays的的binarySearch(Object a,Object key)方法查找元素方法查找元素 所谓二分法查找就是每次将指定元素和数组中间位置的元素进行比较,从而排除掉其中的一半元素,这样的查找是非常高效的。接下来通过一个图例来演示二分法查找元素的过程。让IT教学更简单,让IT学习更有效5.5 Arrays工具类 3、使用、使用Arrays的的copyOfRange(int original,int from,int to)方法拷贝元素方法拷贝元素 在程序开发中,经常需要在不破坏原数组的情况下使用数组中的部分元

19、素,这时可以使用Arrays工具类的copyOfRange(int original,int from,int to)方法将数组中指定范围的元素复制到一个新的数组中,该方法中参数original表示被复制的数组,from表示被复制元素的初始索引(包括),to表示被复制元素的最后索引(不包括),接下来通过一个案例来学习如何拷贝数组。让IT教学更简单,让IT学习更有效5.5 Arrays工具类 4使用使用Arrays的的fill(Object a,Object val)方法填充元方法填充元素素 程序开发中,经常需要用一个值替换数组中的所有元素,这时可以使用Array的fill(Object a,O

20、bject val)方法,该方法可以将指定的值赋给数组中的每一个元素,接下来通过一个案例来演示如何填充元素。让IT教学更简单,让IT学习更有效5.5 Arrays工具类 5使用使用Arrays的的toString(int arr)方法把数组转换为字方法把数组转换为字符串符串 在程序开发中,经常需要把数组以字符串的形式输出,这时就可以使用Arrays工具类的另一个方法toString(int arr)。需要注意的是,该方法并不是对Object类toString()方法的重写,只是用于返回指定数组的字符串形式,接下来通过一个案例来演示如何将数组转换为字符串。让IT教学更简单,让IT学习更有效练习:

21、练习:给定数组9,3,5,6,2,11,5,6,进行如下操作(1)排序,并输出排序后的结果(2)再定义一个数组9,3,5,6,2,11,5,6,比较这两个数组是否相同。(3)查找数字5,并返回其下标(4)使用数字8填充数组中的第3-5元素,并输出结果。(5)拷贝数组中的前5个值到另外一个数组。并输出该数组中的值。让IT教学更简单,让IT学习更有效5.5 Arrays工具类 注意:注意:Arrays类为我们提供了大量操作数组的方法,实际项目开发中,推荐使用Arrays类的静态方法来完成数组的操作,这样既快捷又不会发生错误,但是面试的时候,如果出现对数组操作的题目,就绝不允许是用Arrays类提供

22、的方法,因为面试官考察的是我们对数组的操作能力,而不是对Arrays类的应用。让IT教学更简单,让IT学习更有效u 字符串是字符的序列,它是组织字符的基本数据结构,从 某种程度上来说有些类似于字符的数组。u 在Java中,字符串被当作对象来处理。u 程序中需要用到的字符串可以分为两大类,一类是创建之后不会再做修改和变动的字符串常量字符串常量;另一类是创建之后允许再做更改和变化的字符串变量字符串变量。u 在Java中,存放字符串常量的对象用String类,对于字符串变量,由于程序中经常需要对它做添加,插入,修改等操作,一般存放在StringBuffer类的对象中。它们都位于java.lang包中

23、,因此不需要导包就可以直接使用。5.6 字符串让IT教学更简单,让IT学习更有效String字符串常量使用双引号括住的一串字符,比如:Hello world!Java编译器自动为每一个字符串常量生成一个String类的实例,因此可以用字符串常量直接初始化一个String对象,如:String s=Hello world!;5.6 字符串让IT教学更简单,让IT学习更有效要创建类String的一个对象并进行初始化,需要调用类String的构造方法。类String中提供了下面的一些构造方法:String():无参数的缺省的构造方法用来创建一个空串。String s=new String();Str

24、ing(String value):利用已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。String s=new String(“hello”);String(char value ):通过给构造方法传递一个字符数组可以创建一个非空串。char chars =a,b,c;String s=new String(chars);String5.6 字符串让IT教学更简单,让IT学习更有效String(char ,int startIndex,int numChars):这种方法用来创建一个非空串,并且指明所创建的字符串在字符数组中的起始地址以及所包含的字符个数

25、。char chars=a,b,c,d,e,f;String s=new String(chars,2,3);该方法生成的串s为“cde”。(注意数组的下标从0开始)String5.6 字符串让IT教学更简单,让IT学习更有效String(byte mybyte):从byte型数组进行初始化的构造方法。byte mybyte =97,98,99;String s=new String(mybyte);该方法构造的字符串s是“abc”。String(StringBuffer buffer):这个构造函数利用一个已经存在的StringBuffer对象为新建的String对象初始化。String5.

26、6 字符串让IT教学更简单,让IT学习更有效 1.length public int length()此方法返回字符串的字符个数,如:String s=abc;System.out.println(s.length();则将显示字符个数为3。StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效2.charAt public char charAt(int index)该方法返回字符串中index位置上的字符。String s1=here it is;System.out.println(s1.charAt(3);运行结果:e3.getCharspublic

27、void getchars(int srcbegin,int end,char buf,int dstbegin)将字符从此字符串复制到目标字符数组。StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效4.indexOf和lastIndexOf int indexOf(int ch)int lastIndexOf(int ch)返回字符ch在字符串中出现的第一个和最后一个位置。String s1=I am a student;System.out.println(s1.indexOf(a);/或aSystem.out.println(s1.lastIndex

28、Of(a);运行结果:2 5StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效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,

29、int fromIndex)返回子串str中的第一个字符在字符串中位置fromIndex以后出现的始末位置。StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效5.public boolean startsWith(String prefix)public boolean startsWith(String prefix,int toffset)测试字符串是否以指定前缀开始。第二个重载函数是以 指定索引开始,如字符串以prefix为前缀返回true,否则 返回false public boolean endsWith(String suffix)测试该字符串

30、是否以suffix后缀结束,如是返回true,否 则返回falseString s1=I am a student;System.out.println(s1.startsWith(I);System.out.println(s1.endsWith(student);运行结果:true trueStringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效6.在Java中,运算符“”可以用来实现字符串的连接,如:String s=“He is”+age+“years old.”假设整数型变量age的值为15,那么,s的值为“He is 15 yearsOld”。par

31、eTopublic int compareTo(String str)该方法按字典次序比较两个字符串的大小,如果源串较小,则返回一个小于0的值,如相等则返回0,否则返回一个大于0的值。StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效8.regionMatchesboolean regionMatches(int toffset,String other,int ooffset,int len)boolean regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int

32、len)上述两个方法都是用来进行模式匹配的,匹配成功则返回true,否则返回false。其中,toffset和ooffset分别指明当前字符串和参数字符串中所要比较的子串的起始索引位置,len指明比较的长度,而ignoreCase指明比较时是否区分大小写。对于第一种方法,比较是区分大小写的。StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效例如:String s4=tsinghua;String s5=it is TsingHua;System.out.println(s4.regionMatches(0,s5,6,7);System.out.printl

33、n(s4.regionMatches(true,0,s5,6,7);StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效 9.equals和equalsIgnoreCasepublic boolean equals(object str)public boolean equalsIgnoreCase(object str)判断两个字符串是否相等,则可以用此方法。相等则返回 true,不等则返回false,两种方法的区别在于 equalsIgnoreCase不区分字母大小写,而equals则须区分。10.其他方法public String replace(ch

34、ar oldChar,char newChar)将串中出现的特定字符用新的字符代替。StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效public public StringString substring(int beginIndex)substring(int beginIndex)The substring begins with the character at the specified index and extends to the end of this string.public public StringString substring

35、(int beginIndex,int endIndex)substring(int beginIndex,int endIndex)returns a new string that is a substring of this string.The substring begins at the specified beginIndex and extends to the character at index endIndex-1.StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效public String toLowerCase()把串中的所有字符

36、转换成小写public String toUpperCase()把串中的所有字符转换成大写public String trim()清除字符串两端的空白public char toCharArray()返回字符串的字符数组形式StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效 String s1=henan university;String s2=s1.toUpperCase();System.out.println(s2);System.out.println(s2.toLowerCase();String s3=zhanglin 1987;System

37、.out.println(s3.trim();char s4=s3.toCharArray();System.out.println(Arrays.toString(s3.toCharArray();System.out.println(s3.length();/s4.lengthSystem.out.println(s1.equals(s2);System.out.println(s3.replace(zhanglin,zhaojing);System.out.println(s1.substring(2,8);/包括包括beginIndex,不包括不包括endIndexHENAN UNIV

38、ERSITYhenan universityzhanglin 1987,z,h,a,n,g,l,i,n,1,9,8,7,15 false zhaojing 1987 nan un让IT教学更简单,让IT学习更有效public String concat(String str);将当前字符串对象与给定的字符串str连接起来。public String split(String regex)将字符串根据给定的正则表达式进行拆分,举例如下:The string boo:and:foo,for example,yields the following results with these expres

39、sions:Regex Result :boo,and,foo o b,:and:f public static String valueOf(type types)该返回types的字符串形式StringString基本方法基本方法5.6 字符串让IT教学更简单,让IT学习更有效public static void main(String args)String str=cares.concat(s);String St=to.concat(get).concat(her);System.out.println(str+St);int t=341435;float f=23.4f;Strin

40、g sNumber=String.valueOf(t);System.out.println(String.valueOf(f)+“,t的位数+sNumber.length();String S=boo:is:foo;String sPlit=S.split(:);for(int i=0;i sPlit.length;i+)System.out.println(sPliti);让IT教学更简单,让IT学习更有效String name=”ray“;name.concat(”long“);/字符串连接System.out.println(name);/输出name,还是”ray“name=name

41、.concat(”long“);/把字符串对象连接的结果赋给了name引用System.out.println(name);/输出name,oh!,变成了”raylong“分析输出结果分析输出结果让IT教学更简单,让IT学习更有效脚下留心 String字符串在获取某个字符时,会用到字符的索引,当访问字符串中的字符时,如果字符的索引不存在,则会发生StringIndexOutOfBoundsException(字符串角标越界异常)可以看出,访问字符串中的字符时,不能超出字符的索引范围,否则会出现可以看出,访问字符串中的字符时,不能超出字符的索引范围,否则会出现异常,这与数组中的角标越界异常非常相

42、似。异常,这与数组中的角标越界异常非常相似。让IT教学更简单,让IT学习更有效(1)给定字符串“abcde”,将该字符串转换为字符数组,并将其输出,输出的格式为:a,b,c,d,e.(2)给定字符串“篮球-足球-乒乓球”,将字符串进行分割,最后得到输出格式为:篮球,足球,乒乓球。(3)对给定的10个国家名,按其字母的顺序输出。(4)求输入英文句子单词的平均长度。(5)从文件路径中提取出文件名(包含后缀)。比如从c:ab.txt中提取出b.txt这个文件名出来。练习题练习题让IT教学更简单,让IT学习更有效 5.6.2 StringBuffer类类 为了便于对字符串的修改,在JDK中提供了一个S

43、tringBuffer类(也称字符串缓冲区)。StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。5.6 字符串StringBuffer让IT教学更简单,让IT学习更有效5.6 字符串 5.6.2 StringBuffer类类例程中涉及到例程中涉及到StringBuffer类的很多方法,其中类的很多方法,其中append()和和insert()方法是方法是最常用的,并且这两个方法有很多重载形式,它们都用于添加字符。不同的最常用的,并且这两个方法有很多

44、重载形式,它们都用于添加字符。不同的是,是,append()方法始终将这些字符添加到缓冲区的末尾,而方法始终将这些字符添加到缓冲区的末尾,而insert()方法则方法则可以在指定的位置添加字符。可以在指定的位置添加字符。让IT教学更简单,让IT学习更有效 5.6.2 StringBuffer类类 StringBuffer类和String类有很多相似之处,初学者使用时容易混淆。1、String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。StringBuffer表示字符容器,其内容和长度都可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可,但是如

45、果需要对字符串中的字符进行增删操作,则使用StringBuffer类。2、String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法3、String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能5.6 字符串让IT教学更简单,让IT学习更有效常用类一:System类与 Runtime类 1、System类类 System类对大家来说并不陌生,因为之前在打印结果时,使用的都是“System.out.println()”语句。这句代码中就使用了System类。System类定义了一些与系统相关的属性

46、和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用System类调用即可。让IT教学更简单,让IT学习更有效 1、System类类(1)getProperties()方法方法 System类的getProperties()方法用于获取当前系统的全部属性,该方法会返回一个Properties对象,其中封装了系统的所有属性,这些属性是以键值对的形式存在常用类一:System类 与Runtime类让IT教学更简单,让IT学习更有效 1、System类类(2)currentTimeMillis()currentTimeMillis()方法返回一个long类型的值,该值表示当

47、前时间与1970年1月1日0点0分0秒之间的时间差,单位是毫秒,习惯性地被称作时间戳。例程例程6-10中,演示了数字的求和操作,程序在求和开始和结束时,分别调用中,演示了数字的求和操作,程序在求和开始和结束时,分别调用了了currentTimeMillis()方法分别获得了两个时间戳,两个时间戳之间的差值方法分别获得了两个时间戳,两个时间戳之间的差值便是求和操作耗费的时间。便是求和操作耗费的时间。常用类一:System类 与Runtime类让IT教学更简单,让IT学习更有效 1、System类类3arraycopy(Object src,int srcPos,Object dest,int d

48、estPos,int length)arraycopy()方法用于将一个数组中的元素快速拷贝到另一个数组。其中的参数具体作用如下:src:表示源数组dest:表示目标数组srcPos:表示源数组中拷贝元素的起始位置destPos:表示拷贝到目标数组的起始位置length:表示拷贝元素的个数 需要注意的是,在进行数组复制时,目标数组必须有足够的空间来存放拷贝需要注意的是,在进行数组复制时,目标数组必须有足够的空间来存放拷贝的元素,否则会发生角标越界异常。的元素,否则会发生角标越界异常。常用类一:System类 与Runtime类让IT教学更简单,让IT学习更有效 1、System类类3array

49、copy(Object src,int srcPos,Object dest,int destPos,int length)例程例程6-11中,创建了两个数组中,创建了两个数组fromArray和和toArray,分别代表源数组和目标,分别代表源数组和目标数组,当调用数组,当调用arraycopy()方法进行元素拷贝时,由于指定了从源数组中索方法进行元素拷贝时,由于指定了从源数组中索引为引为2的元素开始拷贝,并且拷贝的元素开始拷贝,并且拷贝4个元素存放在目标数组中索引为个元素存放在目标数组中索引为3的位置的位置,因此,在打印目标数组的元素时,程序首先打印的是数组,因此,在打印目标数组的元素时,

50、程序首先打印的是数组toArray的前三的前三个元素个元素201、202、203,然后打印的是从,然后打印的是从fromArray中拷贝的四个元素。中拷贝的四个元素。常用类一:System类 与Runtime类让IT教学更简单,让IT学习更有效 2、Runtime类类 Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,对象不可以直接实例化。若想在程序中获得一个Runtime实例,只能通过以下方式:由于Runtime类封装了虚拟机进程,因此,在程序中通常会通过该类的实

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java基础第5章课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|