java中System,Date学习笔记

一、 System类

        System类的构造方法private,不能被实例化。内部的方法和属性都是静态,static,方便被调用。

         有标准输入(in)、标准输出(out)和错误输出流(err);对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分实用方法

     1)long  currentTimeMillis();获取当前时间的毫秒值必须有参照。返回的是当前时间与1970年1月1日午夜之间的时间差(毫秒)。

例子:

           long l1=1437102978973l;  //  l1/1000/60/60/24 换成秒/分/时/天

           long l2=System.currentTimeMillis();

           System.out.println(l2-l1);                    //统计操作时间。

      2)getProperties   确定当前的系统属性

       public static void main(String[] args){

                 gp();

               }
        public static void gp(){
                Properties prop=System.getProperties();
                     Set<String> ssSet=prop.stringPropertyNames();
                          for(String ss:ssSet){
                     String value=prop.getProperty(ss);
                        System.out.println(ss+":"+value);

                         }

              }

    1、获取系统属性信息,并存储到Properties集合中。Properties集合中存储的都是String类型的键和值。最好使用它自己的存储、取出方法来完成元素的操作

     2、可以给系统设置一些属性信息,是全局的,替他程序可以使用。system.setProperty();

   3)  line_separator 设置换行


      String LINE_SEPARATOR=System.getProperty("line_separator"); 要进行初始化。

  4)gc方法


public static void gc();请求系统进行垃圾回收

垃圾收集可以手动调用System.gc()或者Runtime.getRuntime().gc()来进行。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的特使情况。

二、Runtime ,每一个java应用程序都有一个Runtime实例,使程序与运行环境相连接。可通过getRuntime获取当前运行时。

            

                 Runtime没有构造方法,该类不可以创建对象。单例设计模式:

                  Runtime  r=Runtime.getRuntime();

                 process p=r.exec("notepad.exe    f:\\io.java");// 调用本地进程 ,打开了.txt,得匹配.

                  Thread.sleep(5000);         

                  p.destroy();                         

三、 Math ,执行基本数学运算的方法。 

              double d1=Math.ceil(12.56);  //13.0返回大于参数的最小整数

              double d2=Math.floor(12.56); //12.0返回小于参数的最大整数

              double d3=Math.round(12.56); //13.0返回四舍五入的整数

              double d4=Math.pow(a,b);    //a的b次方

              double d5=(int)(Math.random ( )*6+1);  //生成

四、Random

           Random  r=new Random();

          double d=(int)(r.nextDouble()*6+1);// 生成随机的1~6

           int d=r.nextInt(6)+1;

五、Date  

      年份y-1900,月份0~11,日期1~31,小时0~23,分0~59

   1)日期对象和毫秒值的转换        

          毫秒值--->日期对象:1、通过Date对象的构造方法    2 、通过setTime设置

                                                  可以通过Date对象的方法对该日期各个字段(年月日)进行操作   

                 Date date=new Date();                                         //Fri Jul 17 14:23:52 CST 2015

     Date date2=new Date(1316448000000l);       //指定毫秒值封装成对象

// 通过setTime() 方法                      

Date d1=new Date();

System.out.println("当前日期为:"+d1);
d1.setTime(1316448000000l);
System.out.println("毫秒值的日期:"+d1);

           日期对象--->毫秒值:getTime方法。可以通过具体数值进行运算。

               long time=System.currentTimeMillis();                   //获取当前时间的毫秒值

                long time1=date1.getTime();      

   2)使用DateFormat类格式化和解析日期字符串。

   日期对象---->  日期格式字符串

            Date   date=new   Date();

            DateFormat    df=DateFormat.getDateInstance();

            String        s_date=df.format(date);                                    //2015-7-17 14:23:52

    1、   默认格式:DateFormat df=DateFormat.getDateInstance(DateFormat.FULL);//2015年7月17日 星期五

               DEFAULT:2015-7-17,LONG:2015年7月17日

     2、   自定义:

                Date     date=new Date();
              DateFormat    df=DateFormat.getDateInstance();
               df=new    SimpleDateFormat("yyyyMMdd");

    日期格式字符串---->日期对象,使用DateFormat中的parse()方法

                String   st_date="2015年7月17日";
    DateFormat   df=DateFormat.getDateInstance(DateFormat.LONG);
    Date   date=df.parse(st_date);

                System.out.println(date);                                            //Tue Apr 17 00:00:00 CST 2012

         注意:2015--7--17等自定义格式,则需要   先定义一下格式 df=new SimpleDateFormat("yyyy--MM--dd");

3) Calendar类实现日期和时间字段之间转换, 

                Calendar   c=  Calendar.getInstance();

                   int   year=c.get(Calendar.YEAR);

          int    month=c.get(Calendar .MONTH)+1;

          int    day=c.get(Calendar.DAY_OF_MONTH);

           注意:week,国外把星期日设为开始第一天。

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值