Java API介绍:
Java应用程序编程接口是运行库的集合,预先定义了一些接口和类,程序员可以直接使用这些已经被打包的接口和类来发明具体的应用,节约时间和精力。API除了有“应用程序编程接口”的意思外,还特指API的说明文档,也称帮助文档。
Java API提供了如下常用的包:
Java.lang:编写Java程序师最广泛使用的包,自动导入到所有的程序中,包含了java 程序的 基础类和接口。包装类、Math类、String类等常用的类都包含再 此包中,java.lang 包还提供用于还管理类的动态加载、外部进程创建、 主机环境查询和安全策略实施 等“系统操作”的类。
Enum、包装类、Math、String、StringBuffer、System...
Java.util:包含了系统辅助类,特别是Collection、List、和Map类。
Java.io:包含了与输入/输出有关的类,如文件操作等类。
Java.net:包含了与网络有关的类,如Socket、ServerSocket等类。
Java.sql:包含了与数据库有关的类,如cONNECTION、Ststement等类。
主要是Java.lang 和java.util的两个包的常用类。
枚举
从Java SE 5.2开始引入enum----是指有一组固定的常量组成的类型。关键字:enum
定义美剧语法格式如下:
[Modifier] enum enumName{
enumContantName1[,enumConstantName2...[;]]
//[field,method]
}
Modifier是访问修饰符,如public等。
Enum是关键字,不能变。
enumContantName1[,enumConstantName2...[;]]表示枚举常量列表,枚举常量之间可以用逗号隔开。
[field,method] 表示其他的成员,包括构造方法,置于枚举常量的后面。
在枚举中,如果除了定义枚举常量,还定义了其他成员,则枚举常量列表必须以分号(;)结尾。
例如:
Public enum Genders{
Male,Female
}
Public enum Genders{
Male,Fmale
}
优点:
类型安全
易于输入
代码清晰
包装类:
用途主要有两点:
包装类作为和基本数据类型对应的类存在,方便对象的操作
包装类包含每种基本数据类型的相关属性,如最大值、最小值等,以及相关的操作方法
包装类和基本数据类型的转换:
- 、基本数据类型转换为包装类
在Java中,基于基本数据类型数据创建包装类对象通常可以采用以下两种方式:
1)、使用包装类的构造方法
例:两种!
public Type(type value)。
Public Type(String value)。
//Type表示包装类,参数type为基本数据类型。
针对每一个中包装类都可以使用关键字new讲一个基本数据类型包装成一个对象。
例如,要创建一个Integer类型的包装类对象,代码如下:
Integer intValue=new Integer(21);
或者
Integer intValue=new Integer(“21”);
2)、使用包装类的valueOf()方法
包装类中一般包含静态的重载的valueOf()方法,他也可以接受基本数据类型数据和字符串作为参数并返回包装类的对象。
以Integer包装类为例,vakueOf()方法的定义如下所示:
例如,要创建一个Integer类型的包装类对象,代码如下:
Integer包装类的vakueOf()方法
方法 说明
Integer valueOf(int i) 返回一个表示指定的int值的Integer对象
Integer valueOf(String s) 返回保存指定的String值的Integer对象
Integer valueOf(String s,int radix) 返回一个Integer对象,该对象中保存了用第 二个参数提供的基数(二进制、十进制等)进 行解析时从指定的String中提取的值
ValueOf();
- 如何把基本数据类型变成包装类(所有包装类都有这个方法)
(2)如何把字符串变成包装类(Character除外)
1)如何把基本数据类型变成包装类(所有包装类都有这个方法)
Integer iinum=Integer.valueOf(89);
Boolean bbnum=Boolean.valueOf(false);
Character ccnum=Character.valueOf('z');
System.out.println(iinum+"\t"+bbnum+"\t"+ccnum);
2)如何把字符串变成包装类(Character除外)
Integer inum2=Integer.valueOf("89");
Boolean bnum2=Boolean.valueOf("love"); //布尔类型除了true外,全 是输出false
// Character cnum2=Character.??? //除了Character外,都可以
System.out.println(inum2+"\t"+bnum2);
注意:
不能使用第二种形式的构造方法创建Character类型的包装类对象。只能时Character charValue=new Character(‘x’); 这种形式。
Character类的valueOf()方法只有一个版本的定义,就是valueOf(char c),它发布会一个表示指定char值的Character对象。
(2)、包装类转换成基本数据类型: XXXValue();
包装类转换成基本数据类型通常采用以下的方法:
public type typeValue();
其中type指的是基本数据类型,如byteValue()、charValue()等,相应的返回值是byte、char.
具体的用法如下所示:I
nteger integerId=new integer(25);
int intId=integerId.intValue();
Boolean bl=Boolean.valueOf(true);
Boolean bool=bl.booleanValue();
//1.包装类--》基本类型 ***Value();
Integer i=new Integer(6);
int ii=i.intValue();
System.out.println(ii);
Boolean b=new Boolean(true);
boolean bb=b.booleanValue();
System.out.println(bb);
(3)、基本数据类型和包装类的自动转换
在Java SE 5.0版本之后,有编译器自动完成转换。
例如:
Integer intObject=5; 装箱:基本数据类型转换成包装类的对象
int int Value=intObject; 拆箱:包装类转换成基本数据类型的值
注意:虽然可以自动转换,程序员在程序中不能只是用对象,而抛弃了基本数据类型。
包装类的特点:
包装类并不是用来取代基本数据类型!!!
在基本数据类型需要对象表示时使用。
例如:
Double a,b,c;
a=3;
b=4;
c=Math.sqrt(a*a+b*b);
2.基本类型---》字符串 1.toString 或者 2.+""
int num=9;
String strNum=Integer.toString(num); 或者下面一个方法
String strNum=num+"";
System.out.println(strNum);
3.字符串----》基本类型 parse***--------character除外
String str="99";
int snum=Integer.parseInt(str);
System.out.println(snum);
boolean bnum=Boolean.parseBoolean(str);
System.out.println("true");
}
- 包装类把基本类型数据转换为对象
每个基本类型在Java.lang包中都有一个相应的包装类
- 包装类有何作用?
提供了一系列实用的方法;
集合不允许存放基本数据类型数据,存放数字时候,需要包装类型
基本数据类型---包装类型---集合
字母大写就变成了包装类
集合 Object
包装类型 Boolean Number Character
基本数据类型Number:
Byte Short Integer Long Float Doublie
包装类的构造方法
- 所有包装类都可将与之对应的基本数据类型作为参数,来构造他们的实例
public Type(type value)
Integer i=new Integer(1);
- 除了Character类外,其他的包装类可将一个字符串作为参数构造它们的实例
public Type(String value)
Integer i=Integer(“123”);
注意:
- 、当Boolean类构造方法参数为String类型时,若是true(true四个字母不分大小写), 但是只要不是这四个字母,都规定为false
- 、当Number包装类构造方法参数为String类型时,字符串不能为null,且该字符串必须可解析为响应的基本数据类型的数据,否则便宜通过,运行时NumberFormatException异常。
Math类
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率)。
Math.abs(-3.5); //返回3.5
Math.max(2.5,90.5); //返回90.5
int random=(int)(Math.random()*10); //生成一个0~9之间的随机数
System.out.println(Math.random()); //随机生成 [0~1)之间的浮点数
System.out.println((int)(Math.random()*10)); //随机生成 [0~10)之间的整数