目录
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.141592653589793
System.out.println(Math.abs(-1));//1
System.out.println(Math.sqrt(9));//3.0
System.out.println(Math.pow(2, 3));//8.0
System.out.println(Math.floor(9.9));//9.0
System.out.println(Math.ceil(9.1));//10.0
System.out.println(Math.round(9.4));//9
System.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,星期六是6
System.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";//张三111
System.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或8
boolean 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.cn
boolean 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", "@"));
}
}