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

本文深入探讨了Java编程中系统属性获取、进程执行、日期操作以及数学运算的基本原理与应用实例,通过代码示例展示了如何使用System类、Runtime类以及日期类实现特定功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--------------------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培训、期待与您交流! --------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值