当前位置: 首页 > news >正文

网站建设 补充协议中国建设培训网站查询系统

网站建设 补充协议,中国建设培训网站查询系统,建设网站前端,建筑施工合同完整版一、BigDecimal类是什么#xff1f;它有什么用#xff1f;先看一段代码#xff0c;看这个代码有什么问题再说BigDeimal这个类是干什么用的#xff0c;这样会好理解一些。 public class Test {public static void main(String[] args) {System.out.println(0.1 0.2);Syste…一、BigDecimal类是什么它有什么用先看一段代码看这个代码有什么问题再说BigDeimal这个类是干什么用的这样会好理解一些。 public class Test {public static void main(String[] args) {System.out.println(0.1 0.2);System.out.println(1.0 - 0.32);System.out.println(1.015 * 100);System.out.println(1.301 / 100);} } 运行以上代码我们会发现结果并和我们想看到的不太一样。如下图所示: 为了解决计算精度损失的问题Java给我们提供了BigDecimal类它提供了一些方法可以对数据进行四则运算而且不丢失精度同时还可以保留指定的小数位。下面看代码演示一下 public class Test2 {public static void main(String[] args) {// 目标掌握BigDecimal进行精确运算的方案。double a 0.1;double b 0.2;// 1、把浮点型数据封装成BigDecimal对象再来参与运算。// a、public BigDecimal(double val) 得到的BigDecimal对象是无法精确计算浮点型数据的。 注意不推荐使用这个// b、public BigDecimal(String val) 得到的BigDecimal对象是可以精确计算浮点型数据的。 可以使用。// c、public static BigDecimal valueOf(double val): 通过这个静态方法得到的BigDecimal对象是可以精确运算的。是最好的方案。BigDecimal a1 BigDecimal.valueOf(a);BigDecimal b1 BigDecimal.valueOf(b);// 2、public BigDecimal add(BigDecimal augend): 加法BigDecimal c1 a1.add(b1);System.out.println(c1);// 3、public BigDecimal subtract(BigDecimal augend): 减法BigDecimal c2 a1.subtract(b1);System.out.println(c2);// 4、public BigDecimal multiply(BigDecimal augend): 乘法BigDecimal c3 a1.multiply(b1);System.out.println(c3);// 5、public BigDecimal divide(BigDecimal b): 除法BigDecimal c4 a1.divide(b1);System.out.println(c4);// BigDecimal d1 BigDecimal.valueOf(0.1); // BigDecimal d2 BigDecimal.valueOf(0.3); // BigDecimal d3 d1.divide(d2); // System.out.println(d3);// 6、public BigDecimal divide(另一个BigDecimal对象精确几位舍入模式) : 除法可以设置精确几位。BigDecimal d1 BigDecimal.valueOf(0.1);BigDecimal d2 BigDecimal.valueOf(0.3);BigDecimal d3 d1.divide(d2, 2, RoundingMode.HALF_UP); // 0.33System.out.println(d3);// 7、public double doubleValue() : 把BigDecimal对象又转换成double类型的数据。//print(d3);//print(c1);double db1 d3.doubleValue();double db2 c1.doubleValue();print(db1);print(db2);}public static void print(double a){System.out.println(a);} }二、Date类 Java中是由这个类的对象用来表示日期或者时间。 Date对象记录的时间是用毫秒值来表示的。Java语言规定1970年1月1日0时0分0秒认为是时间的起点此时记作0那么10001秒1000毫秒就表示1970年1月1日0时0分1秒。 Date类的构造方法和常见的成员方法如下 public class Test1Date {public static void main(String[] args) {// 目标掌握Date日期类的使用。// 1、创建一个Date的对象代表系统当前时间信息的。Date d new Date();System.out.println(d);// 2、拿到时间毫秒值。long time d.getTime();System.out.println(time);// 3、把时间毫秒值转换成日期对象 2s之后的时间是多少。time 2 * 1000;Date d2 new Date(time);System.out.println(d2);// 4、直接把日期对象的时间通过setTime方法进行修改Date d3 new Date();d3.setTime(time);System.out.println(d3);} } 三、SimpleDateFormat类 上述打印Date对象时发现打印输出的日期格式我们并不喜欢是不是像下面页面中这种格式接下来复习的SimpleDateFormat类就可以转换Date对象表示日期时间的显示格式。 我们把Date对象转换为指定格式的日期字符串这个操作叫做日期格式化 反过来把指定格式的日期字符串转换为Date对象的操作叫做日期解析。 日期格式化相关方法 字母 表示含义 yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒 SSS 毫秒2022年12月12日 的格式是 yyyy年MM月dd日 2022-12-12 12:12:12 的格式是 yyyy-MM-dd HH:mm:ss 按照上面的格式可以任意拼接但是字母不能写错 public class Test2SimpleDateFormat {public static void main(String[] args) throws ParseException {// 目标掌握SimpleDateFormat的使用。// 1、准备一些时间Date d new Date();System.out.println(d);long time d.getTime();System.out.println(time);// 2、格式化日期对象和时间 毫秒值。SimpleDateFormat sdf new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss EEE a);String rs sdf.format(d);String rs2 sdf.format(time);System.out.println(rs);System.out.println(rs2);System.out.println(----------------------------------------------);// 目标掌握SimpleDateFormat解析字符串时间 成为日期对象。String dateStr 2022-12-12 12:12:11;// 1、创建简单日期格式化对象 , 指定的时间格式必须与被解析的时间格式一模一样否则程序会出bug.SimpleDateFormat sdf2 new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);Date d2 sdf2.parse(dateStr);System.out.println(d2);} } 四、Calendar类 Calendar类表示日历它提供了一些比Date类更好用的方法。比如下面的案例用Date类就不太好做而用Calendar就特别方便。因为Calendar类提供了方法可以直接对日历中的年、月、日、时、分、秒等进行运算。 public class Test4Calendar {public static void main(String[] args) {// 目标掌握Calendar的使用和特点。// 1、得到系统此刻时间对应的日历对象。Calendar now Calendar.getInstance();System.out.println(now);// 2、获取日历中的某个信息int year now.get(Calendar.YEAR);System.out.println(year);int days now.get(Calendar.DAY_OF_YEAR);System.out.println(days);// 3、拿到日历中记录的日期对象。Date d now.getTime();System.out.println(d);// 4、拿到时间毫秒值long time now.getTimeInMillis();System.out.println(time);// 5、修改日历中的某个信息now.set(Calendar.MONTH, 9); // 修改月份成为10月份。now.set(Calendar.DAY_OF_YEAR, 125); // 修改成一年中的第125天。System.out.println(now);// 6、为某个信息增加或者减少多少now.add(Calendar.DAY_OF_YEAR, 100);now.add(Calendar.DAY_OF_YEAR, -10);now.add(Calendar.DAY_OF_MONTH, 6);now.add(Calendar.HOUR, 12);now.set(2026, 11, 22);System.out.println(now);} } 五、JDK8要新增日期类 /*** 目标搞清楚为什么要用JDK 8开始新增的时间类。*/ public class Test {public static void main(String[] args) {// 传统的时间类Date、SimpleDateFormat、Calendar存在如下问题// 1、设计不合理使用不方便很多都被淘汰了。Date d new Date();//System.out.println(d.getYear() 1900);Calendar c Calendar.getInstance();int year c.get(Calendar.YEAR);System.out.println(year);// 2、都是可变对象修改后会丢失最开始的时间信息。// 3、线程不安全。// 4、不能精确到纳秒只能精确到毫秒。// 1秒 1000毫秒// 1毫秒 1000微妙// 1微妙 1000纳秒} } 六、JDK8日期、时间、日期时间 JDK8新增的日期类分得更细致一些比如表示年月日用LocalDate类、表示时间秒用LocalTime类、而表示年月日时分秒用LocalDateTime类等除了这些类还提供了对时区、时间间隔进行操作的类等。它们几乎把对日期/时间的所有操作都通过了API方法用起来特别方便。 LocalDate类的基本使用 public class Test1_LocalDate {public static void main(String[] args) {// 0、获取本地日期对象(不可变对象)LocalDate ld LocalDate.now(); // 年 月 日System.out.println(ld);// 1、获取日期对象中的信息int year ld.getYear(); // 年int month ld.getMonthValue(); // 月(1-12)int day ld.getDayOfMonth(); // 日int dayOfYear ld.getDayOfYear(); // 一年中的第几天int dayOfWeek ld.getDayOfWeek().getValue(); // 星期几System.out.println(year);System.out.println(day);System.out.println(dayOfWeek);// 2、直接修改某个信息: withYear、withMonth、withDayOfMonth、withDayOfYearLocalDate ld2 ld.withYear(2099);LocalDate ld3 ld.withMonth(12);System.out.println(ld2);System.out.println(ld3);System.out.println(ld);// 3、把某个信息加多少: plusYears、plusMonths、plusDays、plusWeeksLocalDate ld4 ld.plusYears(2);LocalDate ld5 ld.plusMonths(2);// 4、把某个信息减多少minusYears、minusMonths、minusDays、minusWeeksLocalDate ld6 ld.minusYears(2);LocalDate ld7 ld.minusMonths(2);// 5、获取指定日期的LocalDate对象 public static LocalDate of(int year, int month, int dayOfMonth)LocalDate ld8 LocalDate.of(2099, 12, 12);LocalDate ld9 LocalDate.of(2099, 12, 12);// 6、判断2个日期对象是否相等在前还是在后 equals isBefore isAfterSystem.out.println(ld8.equals(ld9));// trueSystem.out.println(ld8.isAfter(ld)); // trueSystem.out.println(ld8.isBefore(ld)); // false} } LocalTime类的基本使用 public class Test2_LocalTime {public static void main(String[] args) {// 0、获取本地时间对象LocalTime lt LocalTime.now(); // 时 分 秒 纳秒 不可变的System.out.println(lt);// 1、获取时间中的信息int hour lt.getHour(); //时int minute lt.getMinute(); //分int second lt.getSecond(); //秒int nano lt.getNano(); //纳秒// 2、修改时间withHour、withMinute、withSecond、withNanoLocalTime lt3 lt.withHour(10);LocalTime lt4 lt.withMinute(10);LocalTime lt5 lt.withSecond(10);LocalTime lt6 lt.withNano(10);// 3、加多少plusHours、plusMinutes、plusSeconds、plusNanosLocalTime lt7 lt.plusHours(10);LocalTime lt8 lt.plusMinutes(10);LocalTime lt9 lt.plusSeconds(10);LocalTime lt10 lt.plusNanos(10);// 4、减多少minusHours、minusMinutes、minusSeconds、minusNanosLocalTime lt11 lt.minusHours(10);LocalTime lt12 lt.minusMinutes(10);LocalTime lt13 lt.minusSeconds(10);LocalTime lt14 lt.minusNanos(10);// 5、获取指定时间的LocalTime对象// public static LocalTime of(int hour, int minute, int second)LocalTime lt15 LocalTime.of(12, 12, 12);LocalTime lt16 LocalTime.of(12, 12, 12);// 6、判断2个时间对象是否相等在前还是在后 equals isBefore isAfterSystem.out.println(lt15.equals(lt16)); // trueSystem.out.println(lt15.isAfter(lt)); // falseSystem.out.println(lt15.isBefore(lt)); // true} } LocalDateTime类的基本使用 public class Test3_LocalDateTime {public static void main(String[] args) {// 0、获取本地日期和时间对象。LocalDateTime ldt LocalDateTime.now(); // 年 月 日 时 分 秒 纳秒System.out.println(ldt);// 1、可以获取日期和时间的全部信息int year ldt.getYear(); // 年int month ldt.getMonthValue(); // 月int day ldt.getDayOfMonth(); // 日int dayOfYear ldt.getDayOfYear(); // 一年中的第几天int dayOfWeek ldt.getDayOfWeek().getValue(); // 获取是周几int hour ldt.getHour(); //时int minute ldt.getMinute(); //分int second ldt.getSecond(); //秒int nano ldt.getNano(); //纳秒// 2、修改时间信息// withYear withMonth withDayOfMonth withDayOfYear withHour// withMinute withSecond withNanoLocalDateTime ldt2 ldt.withYear(2029);LocalDateTime ldt3 ldt.withMinute(59);// 3、加多少:// plusYears plusMonths plusDays plusWeeks plusHours plusMinutes plusSeconds plusNanosLocalDateTime ldt4 ldt.plusYears(2);LocalDateTime ldt5 ldt.plusMinutes(3);// 4、减多少// minusDays minusYears minusMonths minusWeeks minusHours minusMinutes minusSeconds minusNanosLocalDateTime ldt6 ldt.minusYears(2);LocalDateTime ldt7 ldt.minusMinutes(3);// 5、获取指定日期和时间的LocalDateTime对象// public static LocalDateTime of(int year, Month month, int dayOfMonth, int hour,// int minute, int second, int nanoOfSecond)LocalDateTime ldt8 LocalDateTime.of(2029, 12, 12, 12, 12, 12, 1222);LocalDateTime ldt9 LocalDateTime.of(2029, 12, 12, 12, 12, 12, 1222);// 6、 判断2个日期、时间对象是否相等在前还是在后 equals、isBefore、isAfterSystem.out.println(ldt9.equals(ldt8));System.out.println(ldt9.isAfter(ldt));System.out.println(ldt9.isBefore(ldt));// 7、可以把LocalDateTime转换成LocalDate和LocalTime// public LocalDate toLocalDate()// public LocalTime toLocalTime()// public static LocalDateTime of(LocalDate date, LocalTime time)LocalDate ld ldt.toLocalDate();LocalTime lt ldt.toLocalTime();LocalDateTime ldt10 LocalDateTime.of(ld, lt);} } 七、JDK8日期时区   接着复习代表时区的两个类。由于世界各个国家与地区的经度不同各地区的时间也有所不同因此会划分为不同的时区。每一个时区的时间也不太一样。 public class Test4_ZoneId_ZonedDateTime {public static void main(String[] args) {// 目标了解时区和带时区的时间。// 1、ZoneId的常见方法// public static ZoneId systemDefault(): 获取系统默认的时区ZoneId zoneId ZoneId.systemDefault();System.out.println(zoneId.getId());System.out.println(zoneId);// public static SetString getAvailableZoneIds(): 获取Java支持的全部时区IdSystem.out.println(ZoneId.getAvailableZoneIds());// public static ZoneId of(String zoneId) : 把某个时区id封装成ZoneId对象。ZoneId zoneId1 ZoneId.of(America/New_York);// 2、ZonedDateTime带时区的时间。// public static ZonedDateTime now(ZoneId zone): 获取某个时区的ZonedDateTime对象。ZonedDateTime now ZonedDateTime.now(zoneId1);System.out.println(now);// 世界标准时间了ZonedDateTime now1 ZonedDateTime.now(Clock.systemUTC());System.out.println(now1);// public static ZonedDateTime now()获取系统默认时区的ZonedDateTime对象ZonedDateTime now2 ZonedDateTime.now();System.out.println(now2);// Calendar instance Calendar.getInstance(TimeZone.getTimeZone(zoneId1));} } 八、 JDK8日期Instant类 通过获取Instant的对象可以拿到此刻的时间该时间由两部分组成从1970-01-01 00:00:00 开始走到此刻的总秒数不够1秒的纳秒数。 该类提供的方法如下图所示可以用来获取当前时间也可以对时间进行加、减、获取等操作。 /*** 目标掌握Instant的使用。*/ public class Test5_Instant {public static void main(String[] args) {// 1、创建Instant的对象获取此刻时间信息Instant now Instant.now(); // 不可变对象// 2、获取总秒数long second now.getEpochSecond();System.out.println(second);// 3、不够1秒的纳秒数int nano now.getNano();System.out.println(nano);System.out.println(now);Instant instant now.plusNanos(111);// Instant对象的作用做代码的性能分析或者记录用户的操作时间点Instant now1 Instant.now();// 代码执行。。。。Instant now2 Instant.now();LocalDateTime l LocalDateTime.now();} } 九、JDK8日期格式化器 /*** 目标掌握JDK 8新增的DateTimeFormatter格式化器的用法。*/ public class Test6_DateTimeFormatter {public static void main(String[] args) {// 1、创建一个日期时间格式化器对象出来。DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyyy年MM月dd日 HH:mm:ss);// 2、对时间进行格式化LocalDateTime now LocalDateTime.now();System.out.println(now);String rs formatter.format(now); // 正向格式化System.out.println(rs);// 3、格式化时间其实还有一种方案。String rs2 now.format(formatter); // 反向格式化System.out.println(rs2);// 4、解析时间解析时间一般使用LocalDateTime提供的解析方法来解析。String dateStr 2029年12月12日 12:12:11;LocalDateTime ldt LocalDateTime.parse(dateStr, formatter);System.out.println(ldt);} }十、 JDK8日期Period类 除以了上新增的类JDK8还补充了两个类一个叫Period类、一个叫Duration类这两个类可以用来对计算两个时间点的时间间隔。 其中Period用来计算日期间隔年、月、日Duration用来计算时间间隔时、分、秒、纳秒 先来演示Period类的用法它的方法如下图所示。可以用来计算两个日期之间相隔的年、相隔的月、相隔的日。只能两个计算LocalDate对象之间的间隔   /*** 目标掌握Period的作用计算机两个日期相差的年数月数、天数。*/ public class Test7_Period {public static void main(String[] args) {LocalDate start LocalDate.of(2029, 8, 10);LocalDate end LocalDate.of(2029, 12, 15);// 1、创建Period对象封装两个日期对象。Period period Period.between(start, end);// 2、通过period对象获取两个日期对象相差的信息。System.out.println(period.getYears());System.out.println(period.getMonths());System.out.println(period.getDays());} } 十一、JDK8日期Duration类 Duration类。它是用来表示两个时间对象的时间间隔。可以用于计算两个时间对象相差的天数、小时数、分数、秒数、纳秒数支持LocalTime、LocalDateTime、Instant等时间 public class Test8_Duration {public static void main(String[] args) {LocalDateTime start LocalDateTime.of(2025, 11, 11, 11, 10, 10);LocalDateTime end LocalDateTime.of(2025, 11, 11, 11, 11, 11);// 1、得到Duration对象Duration duration Duration.between(start, end);// 2、获取两个时间对象间隔的信息System.out.println(duration.toDays());// 间隔多少天System.out.println(duration.toHours());// 间隔多少小时System.out.println(duration.toMinutes());// 间隔多少分System.out.println(duration.toSeconds());// 间隔多少秒System.out.println(duration.toMillis());// 间隔多少毫秒System.out.println(duration.toNanos());// 间隔多少纳秒} }
http://www.hkea.cn/news/14337102/

相关文章:

  • 营销型网站建设效果一个app开发大概要多少钱
  • 河南郑州最近的热搜事件广州网站建设seo
  • 如何自己做门户网站让别人做的网站不给源代码
  • 安利的网站谁做的软件外包公司账务处理
  • 电商网站制作价格水头网站建设
  • 如何用 ftp上传网站大众汽车网站建设
  • 怎们自己做网站网页qq登陆官网
  • 在四川省住房和城乡建设厅网站上查大型网站建设设备
  • 手机网站制作优化网站开发项目管理文档模板
  • 印度做爰免费网站视频备案ip 查询网站查询系统
  • 广州 海珠 建网站连云港做网站的公司
  • 个人静态网站肥西县住房和城乡建设局网站
  • 建设厅网站合同备案在哪里山西响应式网站哪家好
  • 海北公司网站建设哪家快免费的wordpress模板
  • 北京优化词网站全网营销型网站建站专家
  • 环球培训机构官网太原seo顾问
  • 建设网站话术小说网站开发对影成三人小说
  • 提供企业网站建设公司id怎么转wordpress
  • 怎么做网站呢舞钢市城乡建设局网站
  • 网站建设团队精神跨境电商软件平台
  • wd怎样建设一个网站定远建设小学网站
  • 知名企业门户网站建设服务公司企业网站设计的方案
  • 网站建设服务合同 付款方式网站设置保存登录密码怎么取消
  • 微网站设计与开发竞赛网站登录模板下载
  • 新塘 网站建设餐饮吸引客流的活动方案
  • 企业网站Wap在线生成小广告多的网站
  • 丘受网站谁做的网球吧先做公众号在做网站
  • 个人网站需要那些高端网站设计地址
  • 陕西住房和城乡建设部网站首页重庆专业微网站建设
  • 安宁市建设局网站东吴钢结构网架公司