现在的位置: 首页 > 综合 > 正文

黑马程序员_<<常用类(System.Math,Calendar,Date,Runtime)>>

2018年09月16日 ⁄ 综合 ⁄ 共 4805字 ⁄ 字号 评论关闭
文章目录

--------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------

1.     System

     下面介绍一个方法,获得系统运行的一些文件信息

   

     

import java.util.Properties;
 
public class ClassDemo {
  public static void main(String[] args) {
    /* static Properties getProperties()获得系统的所有属性
     * Properties是Hashtable的子类,所以我们可以使用keySet获得键集,然后获得信息 */
    Properties p = System.getProperties();
    /*static String getProperty(String key)方法获得指定键的值*/
    System.out.println("user.country:"+p.getProperty("user.country"));
    /*static String setProperty(Stringkey,String value)
     * 利用此方法可以自定义设置属性值*/
    p.setProperty("mySet", "helloworld");
    System.out.println("mySet:"+p.getProperty("mySet"));
    System.out.println("下面是系统的属性,开始读取:");
    for(Object ob:p.keySet()){
      System.out.println(ob+":"+p.getProperty((String)ob));
    }
  }
 
}
部分结果:
user.country:CN
mySet:hello world
下面是系统的属性,开始读取:
java.runtime.name:Java(TM)SE Runtime Environment
mySet:hello world
sun.boot.library.path:E:\instalfile\JDK1\bin
java.vm.version:23.7-b01
java.vm.vendor:OracleCorporation
java.vendor.url:http://java.oracle.com/
 

2.     Runtime

     

import java.io.IOException;
import java.util.Properties;
 
public class ClassDemo {
  public static void main(String[] args) throws IOException {
    /*
     * getRuntime()方法获得Runtime对象 Process exec(Stringcommand)开始执行程序
     */
    Runtime r = Runtime.getRuntime();// 获得应用程序实例
    Process qq = r.exec("D:\\QQ\\Bin\\QQ.exe");// 运行此程序
 
    /* destroy()方法停止线程 */
    try {
      Thread.sleep(500);
      qq.destroy();
    } catch (InterruptedException e) {
      // TODO Auto-generatedcatch block
      e.printStackTrace();
    }
  }
 
}
 
public class Sy {
  public static void main(String [] s) throws IOException,InterruptedException{
    Runtime run=Runtime.getRuntime();
    Process pro=run.exec("notepad.exe F:\\11.txt");//执行进程
    Thread.sleep(5000);
    pro.destroy();//结束进程
  }
 
}

 
3.     日期类

 

1.     Date,SimpleDateFormat

  

  import java.text.SimpleDateFormat;
import java.util.Date;
 
public class ClassDemo {
  public static void main(String[] args) {
    Date d = new Date();
    System.out.println("系统时间:" + d);
    SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
    String newDate = sim.format(d);// 把系统时间按照自定义的格式输出
    System.out.println("系统时间:" + newDate);
  }
 
}
结果:
系统时间:Sun Sep 29 15:23:50 CST 2013
系统时间:2013年09月29日 03时23分50秒
 

2.     Calendar

       1.基本操作

package www.fuxi.IO;
 
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
public class ClassDemo {
  public static void main(String[] args) {
    getYMD();// 获得年月日
    SetDate();// 设置年月日
    OpDate();
  }
 
  /* 获得单个的年月日 */
 
  public static void getYMD() {
    String[] months = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
         "九月", "十月", "十一月", "十二月" };
    Calendar calen = Calendar.getInstance();// 获得日历对象,也可以实例化子类
    /* 获得年使用日历对象调用get()方法 */
    System.out.println(calen.get(Calendar.YEAR));
    /* 获得月使用日历对象调用get()方法 */
    int index = Calendar.MONDAY;
    System.out.println(months[calen.get(index)]);
    /* 获得日使用日历对象调用get()方法 */
    System.out.println(calen.get(Calendar.DAY_OF_MONTH));
 
  }
 
  /* 设置日期 */
  private static void SetDate() {
    /* final void set(int year, intmonth,int date)设置年月日 */
    Calendar calen = Calendar.getInstance();
    calen.set(2015, 04, 05);
    System.out.print("设置到日期:");
    System.out.println(calen.get(Calendar.YEAR) + "年"
         + calen.get(Calendar.MONTH) + "月"
         + calen.get(Calendar.DAY_OF_MONTH) + "日");
 
  }
 
  /* 设置日期,对日期字段进行操作 */
  public static void OpDate() {
    /* add(int field, int amount)对日期字段进行操作 */
    Calendar calen = Calendar.getInstance();
    System.out.println("当前日期:"+calen.get(Calendar.YEAR) + "年"
         + calen.get(Calendar.MONTH) + "月"
         + calen.get(Calendar.DAY_OF_MONTH) + "日");
    calen.add(Calendar.YEAR, 10);// 将年增加20
   System.out.println("增加10年:"+calen.get(Calendar.YEAR) + "年");
 
  }
 
}
结果:
2013
九月
29
设置到日期:2015年4月5日
当前日期:2013年8月29日
增加10年:2023年

      2.练习

 

获取某年的二月的天数

思路:先设置年,然后月和日为02,01,这据表示3月1号

 然后将日减1,那么就是二月的最后一天,此时的day就是当前年二月的天数

 

public class ClassDemo {
  public static void main(String[] args) {
    System.out.println("2013年2月的天数:"+getErYueDay(2013));
  }
 
  public static int getErYueDay(int year){
    Calendar c=Calendar.getInstance();
    c.set(year, 02,01);//设置年月日
    c.add(Calendar.DAY_OF_MONTH,-1);//Day  -1
    int day=c.get(Calendar.DAY_OF_MONTH);
    return day;
  }
}
结果:
2013年2月的天数:28

 

我们还有一个方法就是判断闰年和平年,闰年二月29天,平年28天

4.     Math

      

  public class ClassDemo {
  public static void main(String[] args) {
    double a=23.4;
      System.out.println("大于"+a+"的最小整数是:"+Math.ceil(a));
      System.out.println("小于"+a+"的最大整数是:"+Math.floor(a));
      System.out.println("最接近"+a+"的double数"+Math.round(a));
      System.out.println("返回0~1之间的随机数不包含1的数:"+Math.random());
      Random r=new Random();
      System.out.println("返回0~1之间的随机数不包含1的数:"+r.nextDouble());
      System.out.println("返回一个整数随机数:"+r.nextInt());
      System.out.println("返回一个小于50的整数随机数:"+r.nextInt(50));
 
  }
 
 
}
结果:
大于23.4的最小整数是:24.0
小于23.4的最大整数是:23.0
最接近23.4的double数23
返回0~1之间的随机数不包含1的数:0.31784177008869685
返回0~1之间的随机数不包含1的数:0.8839091521841245
返回一个整数随机数:-282379189
返回一个小于50的整数随机数:26

 

5.     练习

把一个小数保留两位小数

 

public class ClassDemo {
  public static void main(String[] args) {
    double d = 23.2872;
    /* 第一种 */
    int d1 = (int) (d * 100);
    System.out.println(d1 *0.01);
    /*第二种:转换成字符串*/
    String s=new Double(d).toString();  
    if(s.contains(".")){
      System.out.println(s.substring(0, s.indexOf(".") + 3));
    }
    /*第三种*/
    DecimalFormat df=new DecimalFormat("#.00");
    System.out.println(df.format(d));
  }
 
}
结果:
23.28
23.28
23.29

--------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------

【上篇】
【下篇】

抱歉!评论已关闭.