目录
java.lang.Math
Math类
代码
运行
Random类
代码
运行
Date类/Calendar类/ SimpleDateFormat类
Date类
代码
运行
Calendar类
代码
运行
SimpleDateFormat类
代码一
运行
常用的转换符
代码二
运行
java.math
BigInteger
代码
运行
BigDecimal
代码
运行
正则表达式
前情摘要
代码
运行
正则表达式1
代码
运行
正则表达式2
代码
运行
正则表达式3
代码
运行
java.lang.Math
Math类
代码
package com.ffyc.javaapi.mathdemo;public class MathDemo {public static void main(String[] args) {System.out.println(Math.PI);//3.141592653589793System.out.println(Math.abs(-1));//1System.out.println(Math.sqrt(9));//3.0System.out.println(Math.pow(2, 3));//8.0System.out.println(Math.floor(9.9));//9.0System.out.println(Math.ceil(9.1));//10.0System.out.println(Math.round(9.4));//9System.out.println(Math.round(9.6));//10//返回一个 大于等于0小于1 的随机数System.out.println(Math.random());//0.618879258589192}
}
运行
Random类
代码
package com.ffyc.javaapi.mathdemo;import java.util.Arrays;
import java.util.Random;public class RandomDemo {public static void main(String[] args) {Random random = new Random();//在取值范围内返回随机返回一个结果System.out.println(random.nextBoolean());System.out.println(random.nextDouble());System.out.println(random.nextFloat());System.out.println(random.nextInt());//在指定范围内随机返回一个随机数,大于等于0 小于给定的值System.out.println(random.nextInt(10));byte[] bytes = new byte[6];random.nextBytes(bytes);System.out.println(Arrays.toString(bytes));}
}
运行
Date类/Calendar类/ SimpleDateFormat类
Date类
import java.util.Date;
new Date();对象 得到一个系统的当前时间
getYear();上面有一个删除线,表示此方法是弃用的方法,不建议使用,有新的方法代替,但是也是可以调用的
代码
package com.ffyc.javaapi.datedemo;import java.util.Date;public class DateDemo{ public static void main(String[] args) {Date date = new Date();System.out.println(date.getYear()+1900);//月份是从零开始System.out.println(date.getMonth()+1);//0 1 2 3 ....//今天是第几天System.out.println(date.getDate());//星期从星期天开始,星期天是0,星期六是6System.out.println(date.getDay());//获取当前小时System.out.println(date.getHours());//获取当前分钟System.out.println(date.getMinutes());//获取当前秒钟System.out.println(date.getSeconds());//毫秒值---获取的是1970年1970 1.1 0:0:0到程序运行那一刻的时间差//测试程序运行时间 程序运行前new Date().getTime() 程序运行后new Date().getTime()System.out.println(date.getTime());//1708740879814//获取当前程序运行时的时间类信息System.out.println(date);//通过有参的构造方法,将一个毫秒的时间封装成一个日期对象Date d = new Date(1708740879814l);System.out.println(d);}
}
运行
Calendar类
Calendar 日历类 抽象类 用来定义日历功能,具体的实现可以交给子类实现
GregorianCalendar 格里高利历(公历)是Calendar抽象类具体子类
代码
package com.ffyc.javaapi.datedemo;import java.util.Calendar;
import java.util.GregorianCalendar;public class CalenderDemo { public static void main(String[] args) {//Calendar calendar = new GregorianCalendar();Calendar calendar = Calendar.getInstance();//get(具体的日历属性)System.out.println(calendar.get(Calendar.YEAR));System.out.println(calendar.get(Calendar.MONTH) + 1);//月中第几天System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//周中第几天 星期天是一周中的第一天System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//年中第几天System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//月中第几周System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//年中第几周System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//几时System.out.println(calendar.get(Calendar.HOUR));//几分System.out.println(calendar.get(Calendar.MINUTE));//几秒System.out.println(calendar.get(Calendar.SECOND));//设置系统时间calendar.set(2022, 9, 10);System.out.println(calendar.get(Calendar.YEAR));//毫秒值---获取的是1970年1970 1.1 0:0:0到程序运行那一刻的时间差System.out.println(calendar.getTimeInMillis());}
}
运行
SimpleDateFormat类
代码一
将Date类型 格式化为 给定格式的字符串
package com.ffyc.javaapi.datedemo;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class SimpleDateFormatDemo { public static void main(String[] args) throws ParseException {Date date1 = new Date();String s1 = "张三";//System.out.println(s1 + "" + date.getYear()+1988+date.getMonth()+1);/*yyyy 4位年MM 月dd 日 月中的天HH 24小时刻mm 分钟ss 秒S 毫秒E 星期几*/SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年-MM月-dd日 HH时:mm分:ss秒:S毫秒 E");String datestr = sdf1.format(date1);System.out.println(s1+""+datestr);c}
}
运行
常用的转换符
代码二
把字符串 转为 Date类型
package com.ffyc.javaapi.datedemo;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class SimpleDateFormatDemo { String s2 = "2003年-3月-2日";SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年-MM月-dd日");Date date2 = sdf2.parse(s2);System.out.println(date2);}
}
运行
java.math
BigInteger
代码
package com.ffyc.javaapi.mathdemo;import java.math.BigInteger;public class BigIntegerDemo {public static void main(String[] args) {//long a = 2222222222222222233333l;BigInteger a = new BigInteger("22222222222222222333333333333");BigInteger b = new BigInteger("22222222222222222333333333333");BigInteger c = a.add(b);System.out.println(a);System.out.println(b);System.out.println(c);}
}
运行
BigDecimal
代码
package com.ffyc.javaapi.mathdemo;import java.math.BigDecimal;public class BigDecimaDemo {public static void main(String[] args) {System.out.println((0.1 + 0.2) == 0.3);System.out.println(0.1 + 0.2);BigDecimal bd1 = new BigDecimal("0.1");BigDecimal bd2 = new BigDecimal("0.2");BigDecimal bd3 = bd1.add(bd2);System.out.println(bd3);BigDecimal bd4 = new BigDecimal("10");BigDecimal bd5 = new BigDecimal("3");//在除法运算时,默认遇到无限循环会报错,需要指定保留的小数位数,以免近似值的策略BigDecimal bd6 = bd4.divide(bd5, 2, BigDecimal.ROUND_CEILING);System.out.println(bd6);}
}
运行
正则表达式
正则表达式
规则
是一种模式匹配语法,可以使用一些符号,来定义一个规则,然后用规则与字符串进行匹配
前情摘要
代码
package com.ffyc.javaapi.stringdemo;import java.util.Arrays;public class StringDemo8 {/*String s = "abc"; char[] c = ['a','b','c'];*/public static void main(String[] args) {String name = "张三";//张三name += "111";//张三111System.out.println(name);String s = "ab:cd:efg";System.out.println(Arrays.toString(s.split(":")));}
}
运行
正则表达式1
验证输入的内容必须是一个手机号格式
第一位:1
第二位:3 5 7 8 9
从第三位开始都是数字即可
拿到字符串每一位进行判断
正则表达式中符号:
\d 匹配的是0-9之间的数字
代码
package com.ffyc.javaapi.stringdemo;public class StringDemo8 { public static void main(String[] args) { String p = "13245678912";//匹配一位数字boolean b1 = p.matches("\\d");System.out.println(b1);//匹配任意个数字boolean b2 = p.matches("\\d*");System.out.println(b2);//恰好n次boolean b3 = p.matches("\\d{9}");System.out.println(b3);//至少n次boolean b4 = p.matches("\\d{3,}");System.out.println(b4);//至少n次,不超过m次boolean b5 = p.matches("\\d{3,6}");System.out.println(b5);//[3578] 匹配3或5或7或8boolean b6 = p.matches("[3578]*");System.out.println(b6);//电话号码判断boolean b7 = p.matches("1[35789]\\d{9}");System.out.println(b7);//qq号 数字 6-12位 0不能开头boolean q = p.matches("[1-9]\\d{5,11}");System.out.println(q);}
}
运行
正则表达式2
[1235]
[1-9]
[a-z]
[A-Z]
\\w == []A-z0-9]
.匹配任意的字符 \\.进行转义,只能匹配.
| X|Y 或
代码
package com.ffyc.javaapi.stringdemo;public class StringDemo9 {public static void main(String[] args) { String p1 = "13FGF24V_HCCY5678L912";/*boolean b1 = p.matches("[a-z]*");boolean b1 = p.matches("[A-Z]*");boolean b1 = p.matches("[a-z][A-Z]*");boolean b1 = p.matches("[A-z]*");*/boolean b1 = p1.matches("\\w*");//[A-z 0-9]System.out.println(b1);String p2 = "dvjcdjSC@145_54.com";//邮箱模式 fxghccgfg@123hgvhg.com .com.cnboolean b2 = p2.matches("\\w{6,10}@\\w{2,6}\\.(com|com\\.cn)");System.out.println(b2);}
}
运行
正则表达式3
代码
package com.ffyc.javaapi.stringdemo;import java.util.Arrays;public class StringDemo10 {public static void main(String[] args) {String s1 = "ss8ds5sxw";System.out.println(Arrays.toString(s1.split("\\d")));String s2 = "jkoj5nvf7vew";System.out.println(s2.replace("j", "J"));//"\\d" 正则表达式 匹配数字System.out.println(s2.replaceAll("\\d", "J"));System.out.println(s2.replaceFirst("\\d", "@"));}
}