文章目录



Java API帮助文档(二)
(1)Java应用程序编程接口(Java Application Programming Interface,Java API)是运行库的集合,预先定义了一些接口和类。
(2)程序员可以直接使用已经打包好的接口和类来开发具体的应用,节约了程序员大量的时间和精力。
(3)API除了有“应用程序编程接口”的意思外,还特指API的说明文档,也称帮助文档。
(4)Java语言的强大之处在于它提供了多种多样的类库,从而大大提高了程序员的编程效率和质量。
(5)Java API提供了如下常用的包。
–>java.lang:编写Java程序时最广泛使用的包,自动导入到所有的程序中,包含了Java程序的基础类和接口。包装类、Math类、String类等常用的类都包含在此包中,java.lang包还提供了用于管理类的动态加载、外部进程创建、主机环境查询和安全策略实施等“系统操作”的类。
–>java.util:包含了系统辅助类,特别是Collection、List和Map等集合类。
–>java.io:包含了与输入/输出有关的类,如文件操作等类。
–>java.net:包含了与网络有关的类,如Socket、ServerSocket等类。
–>java.sql:包含了与数据库相关的类,如Connection、Statement等类。
枚举
枚举概述
- 从Java SE 5.0开始,Java程序设计语言引入了一种新的类型——枚举(Enum)。
- 枚举是指由一组固定的常量组成的类型。使用关键字enum定义。
- 定义枚举语法格式如下:
[Modifer] enum enumName{
enumContantName[,enumContantName2...[;]]
//[field,method]
}
–>Modifer是访问修饰符,如public等。
–>enum是关键字。
–>enumContantName[,enumContantName2…[;]]表示枚举常量列表,枚举常量之间以逗号隔开。
–>//[field,method]表示其他的成员,包括构造方法,置于枚举常量的后面。
–>在枚举中,如果除了定义枚举常量,还定义了其他成员,则枚举常量列表必须以分号(;)结尾。
- 枚举其实就是一种类型,是java.lang.Enum类的子类,继承了Enum类的许多有用的方法。
使用枚举类的作用及好处
- 在Java中,通常使用枚举表示一组个数有限的值,用于实现对输入的值进行约束检查。
- 在程序中使用枚举的好处总结如下:
–>枚举可以使代码更易于维护,有助于确保为变量指定合法的、期望的值。
–>枚举更易于编程时输入,使用枚举赋值,只需要输入枚举名,然后输入一个点(.),就能将所有的值显示出来。
–>枚举使代码更清晰,允许使用描述性的名称表示数据,使用时直观方便。
包装类
包装类概述
- Java语言是面向对象的,但是Java中的基本数据类型却不是面向对象的,这在实际开发中存在很多的不便。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类,称为包装类。
- 包装类均为java.lang包中,包装类和基本数据类型的对应关系如下表所示。
- 包装类的用途主要有两个:
–>包装类作为和基本数据类型对应的类存在,方便对象的操作。
–>包装类包含每种基本数据类型的相关属性,如最大值、最小值等,以及相关的操作方法。
包装类和基本数据类型的转换
1. 基本数据类型转换为包装类
在Java中,基于基本数据类型数据创建包装类对象通常可以采用如下两种方式。
1)使用包装类的构造方法
public Type(type value)。
public Type(String value)。
其中,Type表示包装类,参数type为基本数据类型。
不能使用第二种构造方法创建Character类的包装类对象,只能是Character charValue = new Character(‘x’)这种形式。
2)使用包装类的valueOf()方法
a)包装类中一般包含静态的重载的valueOf()方法,它可以接收基本数据类型数据和字符串作为参数并返回包装类的对象。
b)以Integer包装类为例,valueOf()方法的定义如下表所示
c)Character类的valueOf()方法只有一个版本的定义,即valueOf(char c),它返回一个表示指定char值的Character对象。
2. 包装类转换成基本数据类型
包装类转换成基本数据类型通常采用如下的方法:public type typeValue();
其中,type指的是基本数据类型,如byteValue()、charValue()等,相应的返回值为byte、char。
3. 基本类型和包装类的自动转换
1)在Java SE 5.0版本之后程序员不需要编码实现基本数据类型和包装类之间的转换,编译器会自动完成。
Integer intObject = 5; //装箱:基本数据类型转换为包装类
int intValue = intObject; //拆箱:包装类转换为基本数据类型
2)虽然Java平台提供了基本数据类型和包装类的自动转换功能。程序员在程序中也不能只使用对象,而抛弃了基本数据类型。
3)包装对象只有在基本数据类型需要用对象表示时才使用,包装类并不是用来取代基本数据类型的。
Math类
- java.lang.Math类提供了一些基本数学运算和几何运算的方法。
- 此类中的所有方法都是静态的。这个类是final类,因此没有子类。
- Math类常见方法如下:
–>static double abs(double a):返回double值的绝对值。例如,Math.abs(-3.5)返回3.5。
–>static double max(double a,double b):返回两个double值中较大的一个。例如:Math.max(2.5,90.5);返回90.5
–>static double random():返回一个随机的double值,该值大于等于0.0且小于1.0。
(4)随机获取一个[num1,num2)之间的整数(num2>num1)公式:
int num = (int)(Math.random()*(num2-num1)+num1);
String、StringBuffer、StringBuilder类
String类概述
- 在Java中,字符串被作为String类型的对象来处理。
- String类位于java.lang包中,默认情况下,该包被自动导入所有的程序。
- 创建String对象的方法如下代码所示
String s = "Hello World";
String s = new String("Hello World");
- String类提供了许多有用的方法来操作字符串,比如获取字符串长度、对两个字符串进行比较、连接两个字符串以及提取一个字符串中的某一部分。
- 字符串是一个字符序列,每一个字符都有自己的位置,字符串事实上也是一个字符数组,因此它的索引位置从0开始到(字符串长度-1)结束。
String类常用方法
-
求字符串长度:length()
-
字符串比较:equals(字符串2)
-
忽略带小写的字符串比较:equalsIgnoreCase(字符串2)
-
转换字符串中的英文字符为小写:toLowerCase()
-
转换字符串中的英文字符为大写:toUpperCase()
-
字符串的连接:concat(字符串2)
-
字符串提取和查询
-
字符串拆分:split(separator,limit)
separator是可选项,表示根据匹配指定的正则表达式来拆分此字符串。如果匹配不上,则结果数组只有一个元素,即此字符串。
limit可选项,该值用来限制返回数组中的元素个数。
使用StringBuffer类处理字符串
- StringBuffer类也是Java提供的用于处理字符串的一个类,而且它是比String类更高效的存储字符串的一种引用数据类型。
- StringBuffer类对字符串进行连接操作时,使用StringBuffer类可以大大提高程序的执行效率。
- 如何使用StringBuffer类
StringBuffer类位于java.util包中,是String类的增强类。StringBuffer类提供了很多方法可供使用。
StringBuffer 对象名 = new StringBuffer(“字符串内容”);
- 常用的StringBuffer类方法
1)toString()方法:将StringBuffer类型的字符串转换为String类型的对象。
2)append(参数)方法:将参数连接到字符串后,可以将任何类型的值追加到字符串后。
3)insert(位置,参数)方法:将参数插入到字符串指定位置后并返回。参数值可以是包括String的任何类型。
使用StringBuilder类处理字符串
- java.lang.StringBuilder是JDK 5.0版本新增的类,它是一个可变的字符序列。
- 此类提供一个与StringBuffer类兼容的API,被设计用作StringBuffer类的一个简易替换,在大多数实现中,它比StringBuffer执行要快。
使用StringBuilder类处理字符串的方法与StringBuffer类基本一样。
String类、StringBuffer类及StringBuilder类对比
String、StringBuffer、StringBuilder这3个类在处理字符串时有各自的特点和实用场合,具体如下:
-
String:字符串常量
String是不可变的对象,在每次对String类型进行改变时其实都等同于生成了一个新的String对象,然后指向新的String对象,所以经常改变内容的字符串最好不要用String类型,因为每次生成对象都会对系统性能产生影响。 -
StringBuffer:字符串变量
StringBuffer是可变的字符串,在每次对StringBuffer对象进行改变时,会对StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用。所以,在字符串对象经常改变的情况下,推荐使用StringBuffer类。 -
StringBuilder:字符串变量
JDK 5.0版本以后提供了StringBuilder类,它和StringBuffer类等价,区别在于StringBuffer类是线程安全的,StringBuilder类是单线程的,不提供同步,理论上效率更高。
Random类
-
Random类用于生成随机数。每当需要以任意或非系统方式生成数字时,可使用此类。
-
Math类的random()方法也可以产生随机数,其实Math类的random()方法底层就是使用Random类实现的。
-
Random类的构造方法有两种重载方式。
-
Random类中定义了很多方法用于获取随机数,最常用的是nextInt()方法,它返回下一个伪随机数,返回值类型是整数类型。返回下一个伪随机数的语法格式如下:
int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。
int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在0(包括)和指定值n(不包括n)之间均匀分布的int值。 -
Random类还定义了得到长整型、boolean型、浮点型等伪随机数的方法。
如果用同样一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,那么得到的随机数也是相同的。
实用类章节总结
- 枚举可以使代码更易于维护,有助于确保为变量赋予合法的、期望的值。
- 包装类均位于java.lang包中,每个基本数据类型都对应着一个包装类。
- java.lang.Math类提供了常用的数学运算方法。
- 定义一个字符串可以使用String类、StringBuffer类和StringBuilder类。
- String类提供了大量的操作字符串的方法,常用方法有如下几个。
获得字符串的长度:length()
比较字符串:equals()
连接字符串:concat()
提取字符串:substring()
搜索字符串:indexOf()
拆分字符串:split() - StringBuffer类提供的操作字符串的常用方法有如下几个。
转换成String类型:toString()
连接字符串:append()
插入字符串:insert() - Java编程中经常用到一些工具类,如Date类、Calendar类、Random类等,了解和掌握这些工具类的使用,可为实际应用开发提供方便。
System.out.println(“明天见!”)