Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类

上传人:E**** 文档编号:89189190 上传时间:2019-05-21 格式:PPT 页数:40 大小:491KB
返回 下载 相关 举报
Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类_第1页
第1页 / 共40页
Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类_第2页
第2页 / 共40页
Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类_第3页
第3页 / 共40页
Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类_第4页
第4页 / 共40页
Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类》由会员分享,可在线阅读,更多相关《Java程序设计 教学课件 ppt 作者 刘德山 金百东 张建华 05_数组与Java的常用类(40页珍藏版)》请在金锄头文库上搜索。

1、5 数组与Java的常用类,5.0 本章内容,数组 一维数组多维数组 复制数组 Java基础类库 Object类 字符串类 String类StringBuffer类StringTokenizer类 Math类 包装类 System类 日期类 Random类,5.1 数组,数组是多个相同类型数据的组合,实现对这些数据的统一管理. 数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量. 数组中的元素可以是任何数据类型,包括基本类型和引用类型. 内存图,a,a0 a1 ,栈空间,5.1 数组(一维数组),声明方式: type var 或 type var; 例如:

2、 int a; int a1; double b; Mydate c; Java语言中声明数组时不能指定其长度(数组中元素的个数),例如: int a5; /非法,5.1 数组(数组初始化),动态初始化 数组定义与为数组元素分配空间并赋值的操作分开进行。,int a; a = new int3; a0 = 3; a1 = 9; a2 = 8;,MyDate dates; dates = new MyDate3; dates0 = new MyDate(22, 7, 1964); dates1 = new MyDate(1, 1, 2000); dates2 = new MyDate(22, 1

3、2, 1964);,5.1 数组(数组初始化),静态初始化 在定义数组的同时就为数组元素分配空间并赋值。,int a = 3, 9, 8; MyDate dates = new MyDate(22, 7, 1964), new MyDate(1, 1, 2000), new MyDate(22, 12, 1964) ;,5.1 数组(数组初始化),数组元素的默认初始化 数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如: public class Test public static void main(String a

4、rgv) int a= new int5; System.out.println(a3); ,5.1 数组(数组元素的引用),定义并用运算符new为之分配空间后后,才可以引用数组中的每个元素; 数组元素的引用方式:arrayNameindex index为数组元素下标,可以是整型常量或整型表达式。如a3 , bi , c6*i; 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 n-1; 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数); 实例: TestArray1.java,TestArray2.java,5.1 数组(多维数组)

5、,二维数组举例: int a = 1,2,3,4,0,9,5,6,7;,5.1 数组(多维数组),Java中多维数组被看做数组的数组处理。 Java中多维数组的声明和初始化应按从高维到低维的顺序进行。 int t = new int 4; t0 = new int5; t1 = new int5; int t1 = new int 4; /非法,5.1 数组(多维数组),实例: Test2Array.java 选择排序 Sort.java 二分法查找,3 ,2 ,-4, 7,6,i = 3,ia.length(5),j = 4,ja.length,int temp = ai; ai = aj;

6、 aj = temp;,ajai,5.1 复制数组 arraycopy()方法,Java.lang.System类的arraycopy()方法提供了数组元素复制功能 /源数组 int source = 1, 2, 3, 4, 5, 6 ; / 目的数组 int dest = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ; / 复制源数组中从下标0开始的source.length个元素到 / 目的数组,从下标0的位置开始存储。 System.arraycopy(source, 0, dest, 0, source.length); 实例:TestArrayCopy.java,应用

7、实例,1 给定一数组,测试其中的哪些元素是质数。 2 关于args 3 利用Scanner类,向一维数组中输入10个int. 4 利用命令行参数,向一维数组中输入10个int. 5 对 第3题中的数组排序。 6 对第3题中的数组进行二分查找。,5.2 Java基础类库,为了方便用户使用Java语言开发程序,Java系统提供了一些标准类供程序员调用,这些标准类构成了Java语言基础类库JFC(Java Foundation Class),是Java的应用程序编程接口(Application Programming Interface,API)。 类库中的类根据实现的功能不同,按照用途归属于jav

8、a.lang包、java.util包、java.io包、包等。,5.2 Java基础类库,java.lang包是Java语言的核心类库 java.io包是Java语言的标准输入/输出类库 java.util包包括了Java语言中的一些低级的实用工具 java.awt包是Java语言用来构建图形用户界面(GUI)的类库 java.applet包是用来实现运行于Internet浏览器中的Java Applet的工具类库 包是Java语言用来实现网络功能的类库 其他包 查JDK文档 一个例子Circle99.java,5.3 Object类,Object类是Java程序中所有类的直接或间接父类 Th

9、e root of all the java classes, superclass of all the java classes. All object, even arrays, implement the methods of the Object class. 1toString()方法 toString()方法用于返回当前对象的信息,默认返回String类型的字符串。 2. equals( ) equals方法提供对象是否“相等”的判断。 而引用进行=判断,是指引用变量的值是否相等。 Object类的equals方法实现 public boolean equals(Object o

10、) return this=o; ,5.3 Object类,getClass ( ) 方法 clone()方法 实例: TestToString.java TestEquals.java 做: 给定一个整数,求其位数,5.4 字符串类,Java采用unicode对文本数据进行编码。 Java定义了String对象表示字符串数据。 String对象不是char数组。 字符串常量放到String类私有的一个常量缓冲区中。 和包装类一样,也提供字符串相等判断,大小判断。 字符串对象也是immutable对象,所以字符串运算会频繁地申请内存和释放内存。 常见的方法:取子串,是否包含子串或字符,构造器方

11、法,连接,替换,消空白,其它数据到字符串转换,大小写转换等。,String实例(1),String实例(2),String实例(3),5.4 字符串类,作业 编程,输出一给定字符串中大写字母数,小写字母数,非英文数 编程,一个字符串中,指定字符串出现的次数.,5.4 字符串类(StringBuffer),StringBuffer类对象保存可修改的Unicode字符序列 构造方法 StringBuffer() StringBuffer(int capacity) StringBuffer(String initialString) 实现修改操作的方法: append, insert, rever

12、se, setCharAt, setLength.,5.4 字符串类(StringBuffer),5.4 字符串类(StringTokennizer),StringTokenizer类实现对字符串进行解析和分割的功能,该类位于java.util包中。 StringTokenizer类的重要方法有: public int countTokens(); /分割串的数量 public boolean hasMoreElements();/是否还有分割串 public String nextToken(); /得到下一分割串 String类的split()方法也有分解字符串的功能。 实例: TestS

13、tringTokenizer.java,5.5 Math类,Math类用来完成一些常用的数学运算 public final static double E;/ 数学常量e public final static double PI;/ 圆周率常量 public static double abs(double a);/ 绝对值 public static double exp(double a);/ 参数次幂 public static double floor(double a);/ 不大于参数的最大整数 public static double IEEE remainder(double

14、f1,double f2);/ 求余 public static double log(double a);/ 自然对数 public static double max(double a,double b);/ 最大值 public static float min(float a,float b);/ 最小值 public static double pow(double a,double b);/ 乘方 public static double random();/ 产生0和1(不含1)之间的伪随机数 public static double rint(double a);/ 四舍五入

15、public static double,5.6 基本数据类型的包装类,Java提供包装类操作基本类型数据。可以通过对象手段访问原型数据。而且包装类提供了大量的功能,例如文本到原型数据的转换,进制转换等。 每个基本数据类型都对应一个包装类。封装了基本数据类型,并提供相应的方法,与面向对象环境一致. 包装类提供了对象相等判断和大小判断。 包装类对象封装的数据不可更改(immutable)。 运行空间由栈上转到堆上。 JDK文档,包装类列表,做:,将”123457.56”转换成float类型. 给定任一字符串转换成Double类型. 将123.567转换成String. 实例: TestWrapper.java,5.7 System类,System类是一个功能强大、非常有用的特殊的类,它提供了标准输入、标准输出、运行时系统信息等多种重要功能。这个类不能实例化,即不能创建System类的对象。它的成员变量和方法都是静态的,引用时以类名System作为前缀即可。 System类的属性包括下面三个。 public static InputStream in; /系统标准输入 public static PrintStream out; /系统标准输出 public static PrintStream err; /标准错误输出,5.7 System类,System类的一些常用方法。 pub

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号