Java之常用类

常用类

一、枚举

枚举是一个特殊的类,一般表示一组常量.
枚举的作用:可以避免对象属性的非法赋值,提高了系统操作数据的安全性.

二、包装类

Byte b = 100;
Short s = 100;
Integer i = 100;
Long l = 100L;
Float f = 100.0f;
Double d = 100.0;
Character c = 'a';
Boolean bool = true;


三、Math工具类

//取绝对值
int abs = Math.abs(-10);
//求最大值
int max = Math.max(1, 6);
//求最小值
int min = Math.min(1, 6);
//随机数(大于等于0.0小于1.0之间)
int random = (int)(Math.random() * 10);  
//四舍五入
long round = Math.round(5.6);
//取绝对值
int abs = Math.abs(-10);
System.out.println(abs);
//求最大值
int max = Math.max(1, 6);
System.out.println(max);
//求最小值
int min = Math.min(1, 6);
System.out.println(min);
//随机数
int random = (int)(Math.random() * 10);
System.out.println(random);
//四舍五入
long round = Math.round(5.6);
System.out.println(round);

四、String工具类

length() //获取字符串长度
trim() //去除首未的空格
equalsIgnoreCase() //字符串比较(忽略大小写)
toUpperCase() //转换为大写
toLowerCase() //转换为小写
indexOf() //字符查找
substring() //字符串截取
replace() //字符串替换
split() //字符串分割

//字符串的操作类
stringBuffer() //线程安全,效率较低
stringBuilder() //线程不安全,效率较高
append(); //追加字符串
insert() //插入字符串
//长度
String str = "   hello   ";
System.out.println(str.trim().length());

//字符串比较(忽略大小写)
String str1 = "HELLO";
String str2 = "hello";
System.out.println(str1.equalsIgnoreCase(str2));

//转换为大写
System.out.println(str2.toUpperCase());

//转换为小写
System.out.println(str1.toLowerCase());

//字符串拼接
String str5 = "hello";
String str6 = "world";
System.out.println(str5 + str6);

//字符查找
String str3 = "hello world";
System.out.println(str3.indexOf("w"));

//字符串截取
String str4 = "hello world";
System.out.println(str4.substring(0,5));

//字符串替换
String str7 = "hello world";
System.out.println(str7.replace("world","java"));

//字符串分割
String str8 = "hello,world";
String[] str9 = str8.split(",");
for (String s : str9) {
      System.out.println(s);
}

//字符串种两个单词首字母大写
String str10 = "hello world";
System.out.println(str10.substring(0,1).toUpperCase() + str10.substring(1,5) + " " + str10.substring(6,7).toUpperCase() + str10.substring(7));

//字符串的操作类
//StringBuffer线程安全,效率较低
StringBuffer str11 = new StringBuffer("hello world ");
//追加字符串
str11.append("java");
//插入字符串
str11.insert(16," C#");
System.out.println(str11);
//删除字符串
str11.delete(16,18);
System.out.println(str11);

//线程不安全,效率较高
StringBuilder sb = new StringBuilder("123");
//追加字符串
sb.append("456");
//插入字符串
sb.insert(2,"789");
System.out.println(sb);

五、BigDecimal(用于精确计算)

num1.add(num2) //两数相加
num1.subtract(num2) //两数相减
num1.multiply(num2) //两数相乘
num1.divide(num2,2,BigDecimal.ROUND_HALF_UP) //两数相除,保留两位小数,四舍五入
double a = 1.0;
double b = 0.9;
//先转换为包装类,然后转换为字符串
String string = Double.valueOf(a).toString();
String string1 = 					Double.valueOf(b).toString().toString();
//BigDecimal类 用于精确计算
BigDecimal bd = new BigDecimal(string);
BigDecimal bd1 = new BigDecimal(string1);
//加减
System.out.println(bd.add(bd1));
System.out.println(bd.subtract(bd1));
//乘
System.out.println(bd.multiply(bd1));
//除(除数取整,保留小数位数,四舍五入方式)
System.out.println(bd.divide(bd1, 2, BigDecimal.ROUND_HALF_UP));

六、DecimalFormat

//保留两位小数
DecimalFormat decimalFormat = new DecimalFormat("###,###.00");
//四舍五入
decimalFormat.setRoundingMode(RoundingMode.HALF_UP);
//导入对象
String format = decimalFormat.format(a);

七、日期类

Date date = new Date();
//设置日期格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日--HH:mm:ss");
//将接收到的日期格式化
String format = simpleDateFormat.format(date);
System.out.println(format);

//定义个字符串日期
String a = "2024年02月19日--10:24:51";
//日期格式
SimpleDateFormat b = new SimpleDateFormat("yyyy年MM月dd日--HH:mm:ss");
//如果字符串日期相同转换为初始状态,不同则报出异常
Date date1 = b.parse(a);
System.out.println(date1);

八、日历类

//创建Calendar实例
Calendar calendar = Calendar.getInstance();

// 获取日期或时间
System.out.println("年:" + calendar.get(Calendar.YEAR));
System.out.println("月:" + (calendar.get(Calendar.MONTH)+1));
System.out.println("日:" + calendar.get(Calendar.DATE));
System.out.println("小时:" + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("分钟:" + calendar.get(Calendar.MINUTE));
System.out.println("秒:" + calendar.get(Calendar.SECOND));
System.out.println("毫秒:" + calendar.get(Calendar.MILLISECOND));
System.out.println("今年的第几个星期:" + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("这个月的第几个星期:" + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("今年的第几天:" + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("这个月的第几天:" + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("这个星期的第几天:" + calendar.get(Calendar.DAY_OF_WEEK));

//计算日期和时间
calendar.add(Calendar.YEAR, 1); // 在当前日期的基础上加 1 年
calendar.add(Calendar.MONTH, 1); // 在当前日期的基础上加 1 个月
calendar.add(Calendar.DAY_OF_MONTH, 1); // 在当前日期的基础上加 1 天
calendar.add(Calendar.HOUR_OF_DAY, 1); // 在当前日期的基础上加 1 小时
calendar.add(Calendar.MINUTE, 1); // 在当前日期的基础上加 1 分钟
calendar.add(Calendar.SECOND, 1); // 在当前日期的基础上加 1 秒

//格式化日期和时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(calendar.getTime()); // 将 Calendar 中的日期和时间格式化成字符串
System.out.println(strDate); // 输出格式化后的日期和时间

九、LocalDateTime

获取当前的时间:
 LocalDateTime now = LocalDateTime.now(); // 获取当前日期和时间
通过指定年月日时分秒来创建LocalDateTime 对象
LocalDateTime dateTime = LocalDateTime.of(2023, 8, 8, 23, 59, 59); // 指定日期和时间
LocalDateTime的日期对象遵循的是ISO-8601的日期标准,也就是时间的字符串的表示形式是 2023-08-08T10:15:30
LocalDateTime parsedDateTime = LocalDateTime.parse("2023-08-08T23:59:59"); // 解析字符串为LocalDateTime对象
获取LocalDateTime的日期和时间成分
int year = dateTime.getYear();
//int monthValue = dateTime.getMonthValue();
Month month = dateTime.getMonth();
int dayOfMonth = dateTime.getDayOfMonth();
int hour = dateTime.getHour();
int minute = dateTime.getMinute();
int second = dateTime.getSecond();
修改日期和时间成分
LocalDateTime modifiedDateTime = dateTime.withYear(2023); // 修改年份为2023
LocalDateTime addedDateTime = dateTime.plusDays(1); // 增加一天
LocalDateTime subtractedDateTime = dateTime.minusHours(2); // 减去两小时
pulsXXX() //加
minusXXX() //减
格式化为字符串
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateTime.format(formatter); // 格式化为字符串
日期和时间的计算
LocalDateTime startDateTime = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
LocalDateTime endDateTime = LocalDateTime.of(2022, 12, 31, 23, 59, 59);
Duration duration = Duration.between(startDateTime, endDateTime); // 计算时间间隔
long minutes = duration.toMinutes(); // 获取分钟数
比较两个日期
LocalDateTime dateTime1 = LocalDateTime.of(2023, 5, 26, 10, 30, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2023, 5, 27, 8, 0, 0);
boolean isBefore = dateTime1.isBefore(dateTime2);
boolean isAfter = dateTime1.isAfter(dateTime2);
boolean isEqual = dateTime1.isEqual(dateTime2);
转换为时区时间
LocalDateTime localdateTime = LocalDateTime.of(2023, 8, 8, 23, 59, 59); // 指定日期和时间
ZonedDateTime utc8DateTime= ZonedDateTime.of(localdateTime, ZoneId.of("UTC+8"));
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值