当前位置: 首页 > news >正文

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

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

相关文章:

  • 转载 eoe 大神整理好的 android 开源项目
  • (3)选择元素——(17)练习(Exercises)
  • [week4]每周总结与工作计划
  • 每天一道算法_1_放苹果
  • CSS3之渐变Gradient
  • Linux下几个常用的快捷键,真的很实用
  • Python 入门教程 13 ---- Loops
  • 软件开发中的资源控制问题学习
  • linux mount命令学习
  • TCP头分析+面试题
  • Maven--多模块依赖实例解析(五)
  • Python解决codeforces ---- 1
  • HDU 2493 Timer 数学(二分+积分)
  • linux printk函数学习
  • HDU 3262 Seat taking up is tough (模拟搜索)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Docker下部署自己的LNMP工作环境
  • extjs4学习之配置
  • hadoop集群管理系统搭建规划说明
  • Js基础——数据类型之Null和Undefined
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • leetcode386. Lexicographical Numbers
  • Webpack入门之遇到的那些坑,系列示例Demo
  • Windows Containers 大冒险: 容器网络
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 精彩代码 vue.js
  • 开源地图数据可视化库——mapnik
  • 深度解析利用ES6进行Promise封装总结
  • 通过几道题目学习二叉搜索树
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 移动端唤起键盘时取消position:fixed定位
  • 最简单的无缝轮播
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #define与typedef区别
  • (1)(1.13) SiK无线电高级配置(五)
  • (LeetCode) T14. Longest Common Prefix
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (windows2012共享文件夹和防火墙设置
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (分布式缓存)Redis哨兵
  • (算法)求1到1亿间的质数或素数
  • (转)详解PHP处理密码的几种方式
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET 依赖注入和配置系统
  • .NET框架
  • ??javascript里的变量问题
  • @RequestParam详解
  • @SentinelResource详解
  • []C/C++读取串口接收到的数据程序
  • [C# 开发技巧]实现属于自己的截图工具
  • [docker] Docker的数据卷、数据卷容器,容器互联
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.