java-常用类

新一
2021-11-13 / 0 评论 / 84 阅读 / 正在检测是否收录...


了解Date类

我举一个示例

while(true) {//循环跑
            Date d=new Date();//创建Date类的对象
            SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");+//SimpleDateFormat是DateFormat的子类,DateFormat是Format的子类
            Thread.sleep(1000);//当前线程沉睡一秒
            System.out.println(s.format(d));//二十四小时制时间
        }

        /*SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS");
          System.out.println(sdf.format(d));//十二小时制时间*/
    
        /*SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
          System.out.println(sd.format(d));//二十四小时制时间*/

         //它两的区别就是一个大写H,一个小写h
  

获取时间的标准格式是:yyyy-MM-dd HH:mm:ss:SSS

再看这个示例

        //日期的标准格式yyyy-MM-dd HH:mm:ss:SSS
        Date d=new Date();//创建Date对象
        Thread.sleep(2000);//当前线程沉睡两秒
        Date d1=new Date();//
      
        System.out.println(d.after(d1));//返回值是boolean类型
        //after 判断一个日期是否在另一个日期之后
        
        System.out.println(d.before(d1));//返回值是boolean类型
        //before 判断一个日期是否在另一个日期之前
        
        SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒SSS毫秒");
        System.out.println(myFmt.format(new Date()));//打印当前日期

了解Calendar类

再写一个示例

            //它是实例化对象,不能new
            Calendar cal=Calendar.getInstance();
            System.out.println(cal.get(Calendar.YEAR));//这个是获取年
            //获取月份注意+1
            System.out.println(cal.get(Calendar.MONTH)+1);//获取月份+1是因为米国人月份和咱们不一样
            System.out.println(cal.get(Calendar.DATE));//获取日
            System.out.println(Calendar.PM);//这个PM就获取上午下午,返回值是0或1
            //set修改时间
            cal.set(Calendar.YEAR, 2022);//,逗号后面的是修改的时间
            cal.set(Calendar.MONTH, 11);//一样的
            //get获取时间
            System.out.println(cal.get(Calendar.YEAR));
            System.out.println(cal.get(Calendar.MONTH)+1);
            System.out.println(cal.get(Calendar.WEEK_OF_YEAR));
            //yyyy-MM-dd HH:mm:ss EEEE是星期几
            SimpleDateFormat sdff=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEEE");
            System.out.println(sdff.format(cal.getTime()));

掌握Math类常用方法

        //Math
        System.out.println(Math.ceil(3.14));//ceil 向上取整 4
        System.out.println(Math.abs(-3));//abs 求绝对值 3
        System.out.println(Math.round(3.14));//round 四舍五入,取整 3
        System.out.println(Math.floor(3.14));//floor 向下取整 3
        
        System.out.println(Math.max(30,Math.max(10, 9)));//max求最大值,这个可以嵌套使用
        System.out.println(Math.min(5,Math.min(10, 9)));//min求最小值,这个可以嵌套使用
        System.out.println(Math.sqrt(3));//开根号
        System.out.println(Math.pow(2, 5));//求次方

掌握Random类常用方法

//Random
        Math.random(); //获取随机数大于0 小于1 [0-1]
        System.out.println(Math.random());
        Random ran=new Random();
        //随机获取一个int类型随机数
        System.out.println(ran.nextInt());//取值范围是int的取值范围
        //获取指定范围的随机数
        System.out.println(ran.nextInt(100));//设置随机范围0-100
        System.out.println(ran.nextBoolean());//boolean类型也可以随机

了解BigDecimal类

//BigDecimal
        int a=10;
        int b=10;
        //为了防止计算精度失真,通常我们把基本数据类型封装BigDecimal后来进行计算
        BigDecimal ba=new BigDecimal(a);
        BigDecimal bb=new BigDecimal(b);
        System.out.println(ba.add(bb));//add加法
        System.out.println(ba.subtract(bb));//subtract减法
        System.out.println(ba.multiply(bb));//multiply乘法
        System.out.println(ba.divide(bb,BigDecimal.ROUND_HALF_UP));//divide除法

掌握类型与对象的转换

package Z.Kbzl;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Liti {
        // format方法可以将date型的数据转换成特定的String型字符串
        public static void main(String[] args) {
            SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
            SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm");
            SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            // 等价于now.toLocaleString()
            SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
            SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
            Date now = new Date();
            System.out.println(myFmt.format(now));//format方法可以将date型的数据转换成特定的String型字符串
            System.out.println(myFmt1.format(now));
            System.out.println(myFmt2.format(now));
            System.out.println(myFmt3.format(now));
            System.out.println(myFmt4.format(now));
            System.out.println(now.toGMTString());
            System.out.println(now.toLocaleString());
            System.out.println(now.toString());
        }
    }

这个你们自己去敲出来运行下就懂了.

安排几道练习题

如何去做一个淘宝订单号?

再写一个闹钟程序,时间到了就滴滴滴报警


   Calendar cal=Calendar.getInstance();
           //set修改时间
             cal.set(Calendar.HOUR_OF_DAY,9);
             cal.set(Calendar.MINUTE,47);
             cal.set(Calendar.SECOND,59);
             String p= new SimpleDateFormat("HH:mm:ss").format(cal.getTime());//修改完就是设置的时间
             while(true) {//循环跑
                 Date d=new Date();//时间
                 SimpleDateFormat pp=new SimpleDateFormat("HH:mm:ss");//当前时间
                 System.out.println("当前时间"+pp.format(d));
                 Thread.sleep(1000);//当前线程沉睡一秒
                 if(pp.format(d).equals(p)) {
                     System.out.println("闹钟时间"+p);
                     System.out.println("闹钟响了.....滴滴滴滴");
                     break;
                 }
            }

代码执行结果如下:

kvxip1uf.png

挺好玩的,你们可以自己敲一下试试.

记得要看思维导图!!!

本文共 879 个字数,平均阅读时长 ≈ 3分钟
2

打赏

:D 获取中...

更多精彩文章,按Ctrl+D收藏本站!

评论 (0)

取消