第十一天

Stringbuffer

先创建一个对象,可以用append添加内容,用add追加。在指定位置添加用inisert,指定位置替换0,4即替换前三个字符,删除delete同理

package StringBuffer;

public class Demo01 {
    public static void main(String[] args) {
        StringBuffer str =new StringBuffer();
        //apend
        str.append("java世界第一");
        System.out.println(str.toString());
        //追加
        str.append("wolaie");
        System.out.println(str.toString());
        //插入insert
        str.insert(1,"dada");
        System.out.println(str.toString());
        //repalce,可以指定位置替换
        str.replace(0,4,"hello");//0123位置的字符,替换为新的
        System.out.println(str.toString());
        //delete删除
        str.delete(0,4);//删除0123位置的字符
        System.out.println(str.toString());
    }
}

BigDecimal

BigDecimal是一个包装好的类,先创建一个对象,对象里用""把值标进去,可以进行加减乘除,要注意的是这是一个类,不能直接用+-/*,加用add,减号是用subtract,✖是multiply,除法是divide,要注意的是除法的结果是无穷尽的会报异常,num1.divide(num2,保留几位小数,ROUND_HALF_UP四舍五入)

可能遇到面试题,银行金额为什么不能用double和float因为都是近似值容易丢失精度。

package Bigdecimal;

import java.math.BigDecimal;

public class Demo01 {
    public static void main(String[] args) {
        double d1 =1.0;
        double d2 = 0.9;
//        System.out.println(d1-d2);//
        //bigdecima
        BigDecimal bigDecimal = new BigDecimal("1.0");
        BigDecimal bigDecimal2 = new BigDecimal("0.9");
        System.out.println(bigDecimal.subtract(bigDecimal2));
        System.out.println(bigDecimal.add(bigDecimal2));
        System.out.println(bigDecimal.multiply(bigDecimal2));
        System.out.println(bigDecimal.divide(bigDecimal2,2,BigDecimal.ROUND_HALF_UP));
        new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
    }
}

Date

比较老的一个类,jdk一开始就有了,现在快淘汰了,快被替代了

package DateDemo;

import java.util.Date;

public class Demo01 {
    public static void main(String[] args) {
        System.out.println(new Date().toLocaleString());
        Date date = new Date();//创建一个对象,默认值是当前日期
        Date date2 = new Date(date.getTime()-60*60*24*1000*3);//利用今天的日期减去一天,就是昨天的的日期
        System.out.println(date2.toLocaleString());//改变格式输出
        boolean cc = date.after(date2);//判断是不是在另一天的前面
        boolean cc1 = date.before(date2);//判断是不是在另一天的后面
        System.out.println(date.compareTo(date2));//比较两天,类似于字符串的比较
        System.out.println(cc);
        System.out.println(cc1);
        System.out.println(date2.equals(date));
    }
}

calender

calender是一个抽象类,不能被实例化。Calendar calender =Calendar.getInstance();一般用getInstance方法创建对象,

Calendar.YEAR 获得获取时间的年份

Calendar.MONTH 获得获取时间的月份

Calendar.DAY_OF_MONTH 获得获取时间的天数

Calendar.HOUR 获取获得时间的几时,12小时制

Calendar.HOUR_OF_DAY 获取当前时间的24小时制

Calendar.MINUTE 和获取当前时间的分钟

Calendar.SECOND 获取当前时间的秒数

package DateDemo;

import sun.util.resources.CalendarData;

import java.util.Calendar;

public class CalendarDemo {
    public static void main(String[] args) {
    Calendar calender =Calendar.getInstance();
        System.out.println(calender.getTime().toLocaleString());
        //获取时间信息
        int year = calender.get(Calendar.YEAR);
        int month = calender.get(Calendar.MONTH);
        int day = calender.get(Calendar.DAY_OF_MONTH);
        int hours = calender.get(Calendar.HOUR);
        int hour = calender.get(Calendar.HOUR_OF_DAY);
        int mintues = calender.get(Calendar.MINUTE);
        int miao = calender.get(Calendar.SECOND);
        System.out.println(month+1);
        System.out.println(year);
        System.out.println(day);
        System.out.println(hour);
        System.out.println(mintues);
        System.out.println(miao);
        System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+"时"+mintues+"分"+miao+"秒");
        Calendar calender2 =Calendar.getInstance();
        calender2.set(Calendar.YEAR,2023);
        System.out.println(calender2.getTime().toLocaleString());
        calender2.add(Calendar.YEAR,3);
        System.out.println(calender2.getTime().toLocaleString());
        System.out.println(calender2.getActualMaximum(Calendar.DAY_OF_MONTH));
        System.out.println(calender2.getActualMinimum(Calendar.DAY_OF_MONTH));
    }
}

SimpleDateFormat

先创建一个对象,顺便设置格式yyyy年MM月dd日HH:mm:ss,simpleDateFormat.format(date).。利用创建好的格式进行格式化。

需要注意的是simpleDateFormat.parse("2000年05月13日13:05:06").toLocaleString(),采用parse设置指定时间要按照格式来,不然会产生异常,抛出异常才能运行

package DateDemo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Simdemo {
    public static void main(String[] args) throws Exception{
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");//设置显示日期的格式
        Date date = new Date();//创建一个日期
        System.out.println(date.toLocaleString());//输出当前时刻的日期
        String format = simpleDateFormat.format(date);//利用设置好的格式,格式化当前日期
        System.out.println(format);//输出
        System.out.println(simpleDateFormat.parse("2000年05月13日13:05:06").toLocaleString());//simpleDateFormat.parse 自己设置时间
    }
}
posted @ 2024-02-06 11:08  学java的阿驴  阅读(13)  评论(0)    收藏  举报