一、包装类(包裹类 Wrapper) :
Java 针对八种基本数据类型提供了相应的包装类
基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
* 1. 基本数据类型与包装类之间的转换
* 装箱:将基本数据类型转换成对应的包装类
* ①使用对应包装类的构造器
* ②使用对应包装类的静态方法 valueOf()
*
* 拆箱:将包装类转换成对应的基本数据类型
* ①通过对应包装类的 xxxValue() 。 xxx :代表基本数据类型
*
* 2. 基本数据类型、包装类 与 String 之间的转换
* 1) 基本数据类型、包装类 转换成 String
* ①String str = i + "";
* ②使用对应包装类的静态方法 toString()
* ③使用 String 类的静态方法 valueOf()
*
* 2) String 转换成 基本数据类型、包装类
* ①通过对应包装类的构造器
* ②使用对应包装类的静态方法 parseXxx() : Xxx 基本数据类型 注意:没 parseChar()
* ③使用对应包装类的静态方法 valueOf()
3. 自动装箱与自动拆箱(jdk1.5 后)
Integer num = 10; //自动装箱
int i = num; //自动拆箱
Integer num1 = 100;
Integer num2 = 100;
System.out.println(num1 == num); //true
Integer num3 = 129;
Integer num4 = 129;
System.out.println(num3 == num4);//false
注意:Integer 提供了一个小的缓存(-128 ~ 127) 之间,若需要装箱的值在该取值范围内,则从缓存中取一个实例
若超出该取值范围内,则 new Integer() 实例
一、java.lang.String 类:不可变的字符序列
String str1 = "abc";
String str2 = new String("abc");
二者的区别?
str1:代表一个对象,至少在内存中开辟一块内存空间。
str2:代表两个对象,至少在内存中开辟两块内存空间。
二、String 类的常用方法
* 1. 获取字符串的方法:
* ①String concat(String str):串接字符串
* ②String substring(int beginIndex):获取字符串的子串
* String substring(int beginIndex, endIndex) : 包含头不包含尾
* ③String toLowerCase()和String toUpperCase():转换为小写/大写
* ④String trim():删除首尾空格或制表符
* 2. 搜索方法:
* ①int indexOf(int ch) : 获取指定字符在字符串中的位置,若没有指定的字符,返回 -1
* int indexOf(int ch, int fromIndex) : 从指定位置开始搜索
* int indexOf(String str)
* int indexOf(String str, int fromIndex)
* int lastIndexOf(int ch) : 反向获取指定字符位置
* 3. 判断方法:
* ① boolean equals(Object obj):判断是否相等
* boolean equalsIgnoreCase(String str):判断是否相等,不考虑大小写
* ② boolean contains(String str) :判断是否包含某字符串
* ③ boolean startsWith(String str)和 boolean endsWith(String str):判断是否以指定字符串开始/结尾
* ④ boolean isEmpty():判断字符串是否为空
* 4. 其它方法:
* ①length():返回字符串长度
* ②char charAt(int index):返回索引处的字符
* ③将字符数组转换为字符串
* 构造器:
* String(char[] ch)
* String(char[] ch, offset, count) : 将数组中一部分转换为字符串
* 静态方法:
* static String copyValueOf(char[] ch)
* static String copyValueOf(char[] ch, offset, count)
* static String valueOf(char[])
* 将字符串转换字符数组: char[] toCharArray()
* ④String replace(char oldCahr, char newCahr) : 替换字符串中字符
* String replace(String oldStr, String oldStr):替换字符串中字符串
* ⑤String[] split(String r):根据指定符号切割
*
三、StringBuffer 和 StringBuilder : 可变的字符序列。 二者拥有兼容的 API,初始容量是可调的。若16不够,自动扩容二倍加二。
StringBuffer :是线程安全的,因此效率低
StringBuilder :是线程不安全的,因此效率高
* StringBuffer 和 StringBuilder 的常用方法:
* ① StringBuffer append(String str) : 添加
* StringBuffer insert(int offset, String str) : 插入
* StringBuffer replace(int start, int end, String str):替换
*
* ② int indexOf(String str) :返回子串的位置索引
* int lastIndexOf()
*
* ③ String substring(int start, int end):取子字符串序列
* ④ StringBuffer delete(int start, int end):删除一段字符串
* StringBuffer deleteCharAt(int index):删除指定位置字符
* ⑤ String toString():转换为String对象
一、java.util.Date 类:表示特定的瞬间,精确到毫秒
1. java.text.DateFormat : 用于格式化日期/时间。但是是一个抽象类
|--java.text.SimpleDateFormat : 是 DateFormat 的子类
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date); //Fri Jul 22 09:13:22 CST 2016
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS E");
String strDate = sdf.format(date);
System.out.println(strDate); //2016-07-22 09:16:40 390 星期五
Date newDate = sdf.parse(strDate);
System.out.println(newDate);//Fri Jul 22 09:18:05 CST 2016
}
二、java.lang.Math 类: 用于数学运算
double ceil(double d) : 返回不小于d的最小整数
double floor(double d): 返回不大于d的最大整数
int round(float f) : 返回最接近f的int型(四舍五入)
long round(double d):返回最接近d的long型
double abs(double d):
double max(double d1, double d2) : 返回较大值
int min(int i1, int i2) : 返回较小值
double random() : 返回一个大于等于0.0并且小于1.0的随机数
三、其他常用类
java.lang.System:
java.util.Calendar : 日历类
java.math.BigInteger : 支持任意精度的整数
java.math.BigDecimal : 支持任意精度的定点数