10 常用类
1 包装类
作用:包装类中封装了该类型常用的属性和方法,以方便操作。
java中有8中基本类型,对应有八种包装类:
int--->Integer ,char---->Character ,其他六种则为首字母大写,如: boolean---->Boolean
装箱:将基本数据类型转换成包装类,经常通过构造方法完成。 Integer i = new Integer(123);
拆箱:将包装类转换为基本数据类型。 xxxValue() ,int i2 = i.intValue();
从JDK1.5之后支持自动装箱和拆箱: Integer i=123;//装箱 int i2=i;//拆箱
eg: Integer i5 = Integer.valueOf("1234");//将一个字符串转换成Integer
对应的二进制为: Integer.toBinaryString(123)
对应的八进制为: Integer.toOctalString(123)
对应的十六进制为: Integer.toHexString(123)
2 字符串(String)
java.lang.String是不可变的字符序列,本质上是通过字符数组实现的,所以下标从0开始。
1)常用的构造方法
String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。
String(String original) 初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列。
String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
2)常用方法
length():获取字符串的长度
charAt(int index): 查看指定下标的字符,字符串的下标从零开始
toUpperCase(): 全部转为大写
toLowerCase(): 全部转为小写
equals(String s): 比较字符串的内容是否相等
equalsIgnoreCase(String s): 忽略大小写比较内容是否相等
indexOf(String s): 索引指定字符串s在当前字符串的出现的下标位置,如果查找不到返回-1,如果存在多个将返回第一个字符串的下标位置
lastIndexOf(String s): 索引指定字符串s在当前字符串的最后出现的下标位置
substring(int begin): 字符串截取从begin开始截取到最后。
substring(int begin,end): 字符截取从begin开始,到end-1结束。不包含end位置
trim(): 去掉前后空格,中间空格无法去除。
startsWith(String s): 测试此字符串是否以指定的前缀开始
endsWith(String s): 测试此字符串是否以指定的后缀结束
replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String[] split(String regex): 根据给定正则表达式的匹配拆分此字符串。
String concat(String str): 将指定字符串连接到此字符串的结尾
示例1: 输入一个字符串,输入一个字符,判断该字符在该字符串中出现的次数
public static void main(String[] args) {
int count=0;
Scanner input = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = input.next();
System.out.println("请输入你要查找字符:");
String search = input.next();
int len = str.length();
for(int i=0;i<len;i++){
String s = str.charAt(i)+"";
if(s.equals(search)){
count++;
}
}
System.out.println(str+"中包含了"+count+"个"+search);
}
3 StringBuffer/StringBuilder
java.lang.StringBuffer:线程安全的可变字符序列,String增强版,自带缓冲区
常用构造方法:
StringBuffer()
StringBuffer(CharSequence seq)
常用的方法:
append(String str):将字符串追加到StringBuffer后
insert(int offset,char c): 在定义位置插入字符
reverse():字符反转
String/StringBuffer/StringBuilder的区别:
String:不可变的字符序列;
StringBuffer:可变的字符序列,基于线程安全的,效率较低;
StringBuilder:可变的字符序列,非线程安全的,效率较高。
System.currentTimeMillis();当前时间与协调世界时1970年 1月 1日午夜之间的时间差(以毫秒为单位测量)。
4 Java中的日期处理
1)java.util.Date
java.sql.Date是java.util.Date的子类,
常用的构造方法:
Date():创建当前日期
Date(int year, int month, int date) 创建指定日期的对象,已过时
Date(long date)
常用的方法
getYear():获取日期中的年份
getMonth():获取日期的月份,取值返回0~11
getDate():获取日期部分
after(Date when) 测试此日期是否在指定日期之后。
before(Date when) 测试此日期是否在指定日期之前。
.....
Date date = new Date();
2)DateFormat/SimpleDateFormat
java.text.DateFormat类:是一个抽象类,可以对日期进行格式化输出或转换
java.text.SimpleDateFormat继承类DateFormat类
常用的构造方法
SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
yyyy:年份 MM:月份 dd:日期 HH:小时(24进制) hh:小时(12进制) mm:分钟 ss:秒
常用的方法:
format(Date date):将日期按照指定的格式转换为字符串
parse(String DateStr):将字符串转换为日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
3)java.util.Calendar
java.util.Calendar:日历,抽象类
常用的属性:
YEAR:代表年份
MONTH:代表月份
DATE:日期
DAY_OF_MONTH:get 和 set 的字段数字,指示一个月中的某天。
DAY_OF_WEEKget 和 set 的字段数字,指示一个星期中的某天。
DAY_OF_YEAR get 和 set 的字段数字,指示当前年中的天数
WEEK_OF_MONTH get 和 set 的字段数字,指示当前月中的星期数。
WEEK_OF_YEAR get 和 set 的字段数字,指示当前年中的星期数
....
常用的方法:
getInstance():获取日历的实例
get(int field):获取日历中指定日期部分
set(int field,int value):设置日历中的指定部分
add(int field,int value):增加日期中的指定部分
getActualMaximum(int field) 给定此 Calendar 的时间值,返回指定日历字段可能拥有的最大值。
5 Math和Random类
1)java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
常用的属性:PI圆周率
abs(xxx a): 返回 xxx值的绝对值。
floor(double a) 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
round(double a) 返回最接近参数的 long。四舍五入
max(int a, int b) 返回两个 int 值中较大的一个。
pow(double a, double b) 返回第一个参数的第二个参数次幂的值。
sqrt(double a) 返回正确舍入的 double 值的正平方根。
Randrom() 类用于生产随机数, 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
nextInt(int seed) 生成指定范围的随机数
2) java.util.Random类:此类的实例用于生成伪随机数流.
常用的构造方法
Random() 创建一个新的随机数生成器。
常用的方法:
nextInt(): 返回一个int类型的随机数
nextInt(int n); 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值
6 枚举
枚举是从JDK1.5之后新增的特性, 枚举本质上也是一个类,在枚举中定义值都是常量,默认的修饰符public static final
如何定义枚举:
修饰符 enum 枚举名{
值1,值2....;
}
作业: 实现用户注册验证功能,要求用户名长度不少于8位并且只能有字母和数字组成,密码长度不小于6位并且与确认密码相同。