WGL的day12

编程入门 行业动态 更新时间:2024-10-10 11:27:15

<a href=https://www.elefans.com/category/jswz/34/1749339.html style=WGL的day12"/>

WGL的day12

可变字符串

StringBuffer

  • 可变长字符串,JDK1.0提供,运行效率慢线程安全

StringBuilder

  • 可变长字符串,JDK1.5提供,运行效率快,线程不安全,适合单线程
  • StringBuilder比StringStringBuffer效率高比String效率更高
package LastCLass;public class Class2 {public static void main(String[] args) {//开始时间long start = System.currentTimeMillis();/*String string = "";for(int i = 0;i<99999;i++){string+=i;}System.out.println(string);*/  //用时长StringBuilder sb = new StringBuilder();for (int i=0;i<99999;i++){sb.append(i);}long end = System.currentTimeMillis();System.out.println("用时:"+(end-start));//用时短}
}

BigDecimal

public class Class3 {public static void main(String[] args) {double d1 = 1.0;double d2 = 0.9;System.out.println(d1-d2);//面试题double result = (1.4-0.5)/0.9;System.out.println(result);}
}
  • 结果为:0.09999999999999998

    ​ 0.9999999999999999

  • double存的是近似值

BigDecimal

  • 精确计算浮点数

  • BigDecimal,大的浮点数的计算

package LastCLass;
import java.math.BigDecimal;
import java.math.RoundingMode;public class Class3 {public static void main(String[] args) {double d1 = 1.0;double d2 = 0.9;System.out.println(d1-d2);//面试题double result = (1.4-0.5)/0.9;System.out.println(result);BigDecimal b1 = new BigDecimal("1.0");//给字符串会自动转换BigDecimal b2 = new BigDecimal("0.9");//减法BigDecimal r1 = b1.subtract(b2);System.out.println(r1);//加法BigDecimal r2 = b1.add(b2);System.out.println(r2);//乘法BigDecimal r3 = b1.multiply(b2);System.out.println(r3);//除法BigDecimal r4 = new BigDecimal("1.5").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9" ));System.out.println(r4);BigDecimal r5 = new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);//ROUND_HALF_UP四舍五入System.out.println(r5);}
}

Date工具类

  • Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法已经被Calender类中的方法所取代
  • 时间单位:1秒 = 1000毫秒

​ 1毫秒 = 1000微秒

​ 1微妙 = 1000纳秒

package LastCLass;import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;import java.util.Date;public class Class4 {public static void main(String[] args) {//1.创建Date对象Date date1 = new Date();System.out.println(date1.toString());System.out.println(date1.toLocaleString());//过时方法Date date2 = new Date(date1.getTime() - 60 * 60 * 24 * 1000);System.out.println(date2.toLocaleString());//2.方法after beforeboolean b1 = date1.after(date2);System.out.println(b1);boolean b2 = date1.before(date2);System.out.println(b2);//3.比较 compareTo();int d = date1pareTo(date2);System.out.println(d);//4.比较是否相等equals()boolean b3 = date1.equals(date2);System.out.println(b3);}
}

Calender

  • Calender提供了获取或设置各种日历字段的方法。

  • 构造方法

    • protected Calender() :由于修饰符是protected,所以无法直接创建对象。
  • 其他方法

package LastCLass;import java.util.Calendar;
import java.util.concurrent.Callable;public class Class5 {public static void main(String[] args) {//1.创建Calender对象Calendar calendar = Calendar.getInstance();System.out.println(calendar.getTime().toLocaleString());System.out.println(calendar.getTimeInMillis());//2.获取时间信息int year = calendar.get(Calendar.YEAR);//月int month = calendar.get(Calendar.MONTH);//日int day = calendar.get(Calendar.DAY_OF_MONTH);//小时int hour = calendar.get(Calendar.HOUR_OF_DAY);//分钟int minute = calendar.get(Calendar.MINUTE);//秒int second = calendar.get(Calendar.SECOND);System.out.println(year + "年" + (month + 1) + "月" + day + "日" + hour + "时" + minute + "分" + second + "秒");//3.修改时间Calendar calendar2 = Calendar.getInstance();calendar2.set(Calendar.DAY_OF_MONTH,5);System.out.println(calendar2.getTime().toLocaleString());//4.add,修改时间calendar2.add(Calendar.HOUR,1);System.out.println(calendar2.getTime().toLocaleString());//补充方法int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);//这个月的最大天数int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);//最小天数System.out.println("最大天数为:"+max+"最小天数为:"+min);}}

SimpleDateFormat

  • SimpleDateFormat是一个以语言环境有关的方式来格式化和解析日期的具体类
  • 进行格式化(日期–>文本)、解析(文本–>日期)。
  • 常用的时间模式字母

package LastCLass;import java.text.SimpleDateFormat;
import java.util.Date;public class Class6 {public static void main(String[] args) {//1.创建SimpleDateFormat对象 y 年 M 月SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//2.创建DateDate date = new Date();//格式化date(把日期转成字符串)String str = sdf.format(date);System.out.println(str);//解析(把字符串转成日期)Date date2 = sdf.parse("2000-09-09");//Idea异常System.out.println(date2);}
}

System类

  • System系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的。

package LastCLass;public class Class7 {public static void main(String[] args) {//arraycopy:数组的复制//src:原数组//srcPos:从哪个位置开始复制//dest:目标数组//destPos:目标数组的位置//length:复制的长度int[] arr = {20,18,15,9,15,6,98,4};int[] dest = new int[8];System.arraycopy(arr,0,dest,0,arr.length);//从arr的第0个开始复制到dest的第0个,一共是arr。length个for (int i = 0;i<=dest.length;i++){System.out.println(dest[i]);//arraycopy基于C语言比Arrays.copyOF效率更高}//System.gc();告诉垃圾回收器回收垃圾Class7_Student s1 = new Class7_Student("aaa",19);Class7_Student s2 = new Class7_Student("bbb",19);Class7_Student s3 = new Class7_Student("ccc",19);//正在使用,系统不回收new Class7_Student("yyy",18);//系统回收,可能不会回收,由系统 决定System.gc();//告诉垃圾回收器回收}
}
lass7_Student("aaa",19);Class7_Student s2 = new Class7_Student("bbb",19);Class7_Student s3 = new Class7_Student("ccc",19);//正在使用,系统不回收new Class7_Student("yyy",18);//系统回收,可能不会回收,由系统 决定System.gc();//告诉垃圾回收器回收}
}

更多推荐

WGL的day12

本文发布于:2024-02-06 14:04:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1749657.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:WGL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!