Presentation is loading. Please wait.

Presentation is loading. Please wait.

5.1 Java基础类库 5.2 Object类 5.3 System类 5.4 Math类 5.5 基本数据类型包装类 5.6 字符串

Similar presentations


Presentation on theme: "5.1 Java基础类库 5.2 Object类 5.3 System类 5.4 Math类 5.5 基本数据类型包装类 5.6 字符串"— Presentation transcript:

1 5.1 Java基础类库 5.2 Object类 5.3 System类 5.4 Math类 5.5 基本数据类型包装类 5.6 字符串

2 JFC 5.1 Java基础类库 Java提供了丰富的标准类来帮助程序设计者更方便快捷地编写程序,这些标准类以包的方式组织而成,主要有: java.lang、java.awt、java.applet、javax.swing、java.io、java.net、java.util 除了java.lang之外,其余类包都不是java语言所必须的。

3 JDK的常用子包 (1)java.lang包:是Java语言平台中最核心的包,提供了一些Java程序设计中最基础的类,在编程时,该包不需使用import语句导入,包中的所有类由系统自动加载。 (2)java.util包:主要包含大量的实用工具类,如Date、Calendar、Random等。 (3)java.io包:主要包含与输入输出相关的类与接口。

4 JDK的常用子包 (4)java.awt包:用于开发图形用户界面的早期版本。
(5)java.net包:主要包含用于网络编程的相关的类与接口。 (6)java.sql包:主要包含用于数据库连接与处理的相关的类与接口。

5 (1)java.lang Object类:java中最原始、最重要的类,每个java类都是它的子类,它实现了每个类都必须具有的基本方法。
基本类型包装器:Boolean, Character, Double, Float, Integer, Long…。 String类与StringBuffer类:字符串类。 Math类:数学函数的集合。 异常和错误:类Exception, Error, 接口Throwable。

6 (1)java.lang System类:提供程序访问系统资源的方法,System不能派生子类。
Runtime类:封装了运行时环境,可以访问Java虚拟机的运行状态,并对其实现相应操作。 Thread类:线程类提供了一系列用于线程管理和操作的类和界面,实现Java的多线程处理。

7 • Random类 • Properties类
(2)java.util java.util包提供了一些实用工具类,包括对日期处理的Date类、处理变长数组的Vector类、产生随机数的Random类、用于串标记的StringToKenizer类等等。Java.util包中主要的类如下: • Date类 • Dictionary类 • Random类 • Properties类 • Vector 类 •Hashable类 • Stack 类

8 (3)java.io java.io包提供了Java语言的标准输入/输出功能,支持在不同的输入/输出设备上进行数据的读写操作。

9 (4) java.awt 和 javax.swing
本类包是用来创建图形用户界面的工具包,其中的类使得创建诸如窗口、菜单、滚动条、文本区、按钮以及复选框等图形用户界面(GUI)的元素变得非常容易。

10 (5) java.awt.event包 该包可以使程序处理不同类型的事件,使每个图形界面元素都可以拥有处理本身发生的事件的能力。
如:可为Button类的按钮对象添加事件监听功能(ActionListener类)和实现相应事件处理方法(ActionPerformed方法),当按钮按下时,执行相应的处理。

11 (6) java.net 用来完成与网络相关的功能:URL、WWW连接以及更为通用的Socket网络通信。

12 (7)java.applet 提供运行于Internet浏览器中的Java小应用程序编写所需要的类和界面。
java.applet包中有一个Applet类、AppletContext、AppletStub 和 AudioClip 三个接口。其中Applet类是书写Java小应用程序所必须的,实现Java小应用程序必须继承Applet类。

13 (8) java.sql包和javax.sql包
java.sql包实现了JDBC(Java database connection)功能,提供了访问和处理数据源(主要是关系型数据库)的应用程序接口。 javax.sql包是对java.sql包功能的补充,它提供了对服务器端数据源访问和处理的API。

14 Java类库的使用方式 import java.util.*;
继承类库中的类。用户自定义的类为系统类的子类,可以继承系统类中的所有成员方法和变量。 直接使用系统类中的成员。当系统类中的域和方法是静态成员时,应用程序可以直接使用它们。 直接使用系统类的对象。 实现类库中的接口,在用户自定义的类中实现类库中的接口。

15 5.2 Object类 Object类是所有类的直接或间接超类,包括Java类库中的所有类和用户程序中自定义的所有类。 主要方法:
Object clone()方法 生成当前对象的副本,并为这个对象分配新的内存。 boolean equals(Object obj)方法 比较两个对象是否相同,如果相同,返回布尔值true,反之,返回false 。

16 5.2 Object类 final Class getClass()方法 String toString()方法
返回当前对象所属的类信息。 String toString()方法 用来获取一个对象本身的相关信息,这些信息按字符串方式返回。 int hashCode()方法 用于获取一个对象的哈希码。

17 5.3 System类 System类是final类,不能派生子类,内部的所有成员都是静态的,所以可以直接通过类名调用其成员。
public  final  class System extends Object

18 5.3 System类 三个域 常用形式 in out err Scanner a=new Scanner(System.in);
System.out.println(“hello” );

19 5.3 System类 主要方法 方法描述 public long currentTimeMillis()
获取自1970年1月1日零时至当前系统时刻的毫秒数,通常用来比较两事件发生的先后时间差。 public void gc() 调用Java虚拟机的垃圾回收功能。 public exit(int status) 强制java虚拟机退出运行状态,并把状态信息status返回给虚拟机的操作系统。 void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); 进行数组复制。

20 5.4 Math类 Math 类也称为数学类,它封装了许多静态的数学方法,如sin、cos、exp、abs等。
Math类有两个静态属性:E和PI。E代表数学中的e  ,而PI代表派pi  。可以直接使用类名引用,如:Math.E 和 Math.PI Math类的使用方式是直接使用类名调用成员。

21 5.4 Math类 Math类的主要方法: public static double abs(double a); //绝对值
public static double exp(double a); //e的a幂 public static double floor(double a); //不大于a的最大整数 public static double log(double a); //自然对数,底数为e

22 5.4 Math类 public static double sqrt(double a); //开平方
public static double random(); //产生[0,1)之间的随机小数 public static double pow(double a, double b ); //乘方 public static double rint(double a); //四舍五入取整 public static double IEEEremainder(double a, double b); // 求余数 (取模运算) public static float min(float a, float b); //求最小值 public static double max(double a, double b); //求最大值

23 5.5 基本数据类型包装类 在Java语言中,只有属于基本数据类型的变量不需要使用类定义实现,它们不能完成与数据类型有关的操作。
5.5 基本数据类型包装类 在Java语言中,只有属于基本数据类型的变量不需要使用类定义实现,它们不能完成与数据类型有关的操作。 Java类库专门提供了基本数据类型包装类,将一个数据类型转变成一个类,从而能够实现相应的方法。

24 数据类型包装类 基本数据类型 Byte byte Short short Integer int Long long Float float Double double Character char Boolean boolean

25 5.5 基本数据类型包装类 除了Character类,其它所有的类型包装类都拥有两个构造方法,两个方法不同之处在于参数类型不同:一个是基本数据类型,另一个是String类型。 以Integer类为例,包装类的两个构造方法 Integer (int i) Integer (String  s)

26 5.5 基本数据类型包装类 基本数据类与String类之间的转换 P123
5.5 基本数据类型包装类 基本数据类与String类之间的转换 • public static byte parseByte(String s) //Byte类的方法 • public static double parseDouble(String s) //Double类的方法 • public static short parseShort(String s) //Short类的方法 • public static int parseInt(String s) //Integer类的方法 • public static float parseFloat(String s) //Float类的方法 • public static long parseLong(String s) //Long类的方法 P123

27 5.6 字符串 Java中为字符串的处理提供了两个类:java.lang.String 不能变的字符串
5.6 字符串 Java中为字符串的处理提供了两个类:java.lang.String 不能变的字符串 java.lang.StringBuffer 可以改变的字符串 字符串的表示: “Hello”.length( ) String s1=“abc”; String s2=new String(“abc”); char[] data={‘a’,’b’,’c’}; String s3=new String(data); String 常量池

28 5.6 字符串 字符串赋值 s1=“Chinese people”; s2=s1; s3="a lot of"+s2;
5.6 字符串 字符串赋值 可以为字符串变量赋一个字符串常量,也可以将一个字符串变量或表达式的值赋给字符串变量。 s1=“Chinese people”; s2=s1; s3="a lot of"+s2;

29 String类中的方法 1.基本方法: s1="abcdef",s2="123456" 常用操作 实例 功能 字符串比较
s1.equals(s2) 将s1与s2进行是否相等的比较,区分字母大小写,结果为false。 求字符串长度 s1.length( ) 求字符串s1的字符个数,结果为6。 求指定位置的字符 s1.charAt(3) 返回字符串s1的第4个字符,结果为d。 求字符串中某字符(串)位置 s1.indexOf("a") 返回字符串s1中首次出现"a"的位置,结果为0。 求子字符串 s1.subString(2) 返回字符串s1中从第3个字符开始的子字符串,结果为cdef。 类型转换 String.valueOf(123) 将123转为字符串,结果为"123"。 Integer.parseInt("123") 将字符串"123"转为int类型,结果为123。 int compareTo( String anotherString )若当前字符串与参数字符串完全相同/大于/小于时,则返回0/1/-1。

30 = =和equals的比较 ==是关系运算符,用于判断两个数据之间的相等关系,返回逻辑值true或false。

31 5.6 字符串 2.字符串的连接操作 public String concat( String str )
5.6 字符串 2.字符串的连接操作 public  String concat( String str ) String s1="You are "; String s2="good boy!"; String ss=s1.concat(s2); //ss?

32 5.6 字符串 3.字符串的类型转换 • public static String valueOf( boolean b )
5.6 字符串 3.字符串的类型转换 • public static String valueOf( boolean b ) • public static String valueOf( char c ) • public static String valueOf( int i ) • public static String valueOf( long l ) • public static String valueOf( float f ) • public static String valueOf( double d )

33 字符串的应用: public class StringApp {
public static void main(String[] args) { String text = "Get the latest Java how Java provides a better"; System.out.println("字符串内容为: "); for(int i = 0; i < text.length(); i++) System.out.print(text.charAt(i)); System.out.println(); System.out.println("第一个Java的位置: "+text.indexOf("Java")); System.out.println("最后一个Java的位置: "+text.lastIndexOf("Java")); char[] charArr = text.toCharArray(); System.out.println("字符Array内容: "); for(int i = 0; i < charArr.length; i++) System.out.print(charArr[i]); } }

34 StringBuffer类 String类对象是不可变的字符串,StringBuffer类对象是可变的字符串,其常用方法如下:
append(char c):在字符串的最后追加一个字符。 insert(int index , substring):在字符串某位置插入子串。 void setCharAt(int index, char c):将字符串指定位置处的字符置换成指定字符。


Download ppt "5.1 Java基础类库 5.2 Object类 5.3 System类 5.4 Math类 5.5 基本数据类型包装类 5.6 字符串"

Similar presentations


Ads by Google