字符:
字符类
预定义字符类
边界匹配器
Greedy 数量词
public boolean matches(String regex)
// 判断字符串是否符合正则表达式规则
// 模式和匹配器的典型调用顺序
// 把正则表达式编译成模式对象
Pattern p = Pattern.compile("a*b");
// 通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串
Matcher m = p.matcher("aaaaab");
// 调用匹配器对象的功能
boolean b = m.matches();
System.out.println(b);
public String[] split(String regex)
// 根据给定正则表达式的匹配拆分此字符串
public String replaceAll(String regex,String replacement)
// 使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串
// 定义字符串,获取字符串中由三个字符组成的单词
String s = "da jia ting wo shuo,jin tian yao xia yu,bu shang wan zi xi,gao xing bu?";
// 规则
String regex = "\\b\\w{3}\\b";
// 把规则编译成模式对象
Pattern p = Pattern.compile(regex);
// 通过模式对象得到匹配器对象
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group());
}
// 注意:一定要先find()看存不存在,然后才能group()获取数据
public static final double PI
public static final double E
public static int abs(int a)
// 绝对值
public static double ceil(double a)
// 向上取整
public static double floor(double a)
// 向下取整
public static int max(int a,int b)
// 取最大值
public static double pow(double a,double b)
// a的b次幂
public static double random()
// 随机数:[0.0-1.0)
public static int round(float a)
// 四舍五入
public static double sqrt(double a)
// 返回a的正平方根
产生随机数的类
public Random()
// 没有给种子,用的是默认种子,是当前时间的毫秒值,每次得到的随机数不同
public Random(long seed)
// 给出指定的种子,给定种子后,每次得到的随机数是相同的
public int nextInt()
// 返回的是int范围内的随机数
public int nextInt(int n)
// 返回的是[0,n)范围内的随机数
包含一些有用的类字段和方法。它不能被实例化
public static void gc()
// 运行垃圾回收器
public static void exit(int status)
// 终止当前正在运行的java虚拟机。参数用作状态码;根据惯例,非0的状态码表示异常终止
public static long currentTimeMillis()
// 返回以毫秒为单位的当前时间
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
// 从指定原数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
可以让超过Integer范围内的数据进行运算
public BigInteger(String val)
public BigInteger add(BigInteger val) // 加
public BigInteger subtract(BigInteger val) // 减
public BigInteger multiply(BigInteger val) // 乘
public BigInteger divide(BigInteger val) // 除
public BigInteger[] divideAndRemainder(BigInteger val)
// 返回商和余数的数组
不可变的,任意精度的有符号十进制数,可以解决数据丢失问题
public BigDecimal(String val)
public BigDecimal add(BigDecimal augend)
public BigDecimal subtract(BigDecimal subtrahend)
public BigDecimal multiply(BigDecimal multiplicand)
public BigDecimal divide(BigDecimal divisor)
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
public Date()
// 根据当前的默认毫秒值创建日期对象
public Date(long date)
// 根据给定的毫秒值创建日期对象
public long getTime()
// 获取时间,以毫秒为单位
public void setTime(long time)
// 设置时间
可以进行日期和字符串的格式化和解析,但是由于是抽象类,所以使用子类SimpleDateFormat
public SimpleDateFormat() // 默认模式
public SimpleDateFormat(String pattern) // 给定模式
/*
这个模式字符串该如何写呢?
通过查看API,我们就找到了对应的模式
年y
月M
日d
时H
分m
秒s
*/
// 创建日期对象
Date d = new Date();
// 给定模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);
String str = "2008-08-08 12:12:12";
// 在把一个字符串解析为日期的时候,请注意
// 格式必须和给定的字符串格式匹配
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf2.parse(str);
System.out.println(dd);
public class DateUtil {
private DateUtil() {
}
/**
* 这个方法的作用就是把日期转成一个字符串
*
* @param d
* 被转换的日期对象
* @param format
* 传递过来的要被转换的格式
* @return 格式化后的字符串
*/
public static String dateToString(Date d, String format) {
// SimpleDateFormat sdf = new SimpleDateFormat(format);
// return sdf.format(d);
return new SimpleDateFormat(format).format(d);
}
/**
* 这个方法的作用就是把一个字符串解析成一个日期对象
*
* @param s
* 被解析的字符串
* @param format
* 传递过来要被转换的格式
* @return 解析后的日期对象
* @throws ParseException
*/
public static Date stringToDate(String s, String format) throws ParseException {
return new SimpleDateFormat(format).parse(s);
}
}
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
public int get(int field)
// 返回给定日历字段的值
// 举例
// 其日历字段已由当前日期和时间初始化
Calendar rightNow = Calendar.getInstance(); // 子类对象
// 获取年
int year = rightNow.get(Calendar.YEAR);
// 获取月
int month = rightNow.get(Calendar.MONTH);
//获取日
int date = rightNow.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
public abstract void add(int field,int amount)
// 根据给定的日历字段和对应的时间,来对当前的日历进行操作。
// 上面get方法的例子中rightNow对象用这个方法举例
public final void set(int year,int month,int date)
// 设置当前日历的年月日