System类

工具类全部都是静态方法

常用方法

获取系统属性信息

static Properties
getProperties()

static String
getProperty(String key)

设置自定义属性信息

static String
setProperty(String key, String value)

命令行设置自定义属性信息

   1: import java.util.*;

   2: class SystemDemo 

   3: {

   4:     public static void main(String[] args) 

   5:     {

   6:         Properties prop = System.getProperties();

   7:  

   8:         //设置系统的自定义信息

   9:         //System.setProperty("mykey","myvalue");

  10:  

  11:         //获取指定属性

  12:         String name = System.getProperty("os.name");

  13:  

  14:         System.out.println("os name = "+name);

  15:  

  16:         //Properties是Hashtable

  17:         for(Object obj : prop.keySet())

  18:         {

  19:             String value = (String)prop.get(obj);

  20:             System.out.println(obj+"::"+value);

  21:         }

  22:         

  23:     }

  24: }

Runtime类

单例模式设计的类,通过getRuntime静态方法获取唯一的对象

常用方法

获取唯一Runtime对象

static Runtime
getRuntime()

执行程序

Process
exec(String command)

   1: class RuntimeDemo 

   2: {

   3:     public static void main(String[] args) throws Exception

   4:     {

   5:         //获取runtime对象

   6:         Runtime r = Runtime.getRuntime();

   7:         

   8:         //执行打开记事本命令,该程序的检索目录来自于path环境变量

   9:         Process p = r.exec("notepad.exe");

  10:  

  11:         Thread.sleep(4000);

  12:         

  13:         //结束记事本进程

  14:         p.destroy();

  15:  

  16:         //执行notepad,并用notepad打开一个文件

  17:         Process p1 = r.exec("notepad.exe d:\\code\\java_interview\\Test17.java");

  18:         

  19:  

  20:     }

  21: }

Date类

Date为日期类

SimpleDateFormat为时间格式类

例子

   1: import java.util.*;

   2: import java.text.*;

   3:  

   4: class DateDemo 

   5: {

   6:     public static void main(String[] args) 

   7:     {

   8:         //获取时间对象

   9:         Date d = new Date();

  10:         //打印未格式化的时间

  11:         System.out.println(d);

  12:         

  13:         //设置格式为 "2013-10-23 星期三 11:15:15"

  14:         SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd E HH:mm:ss");

  15:  

  16:         //格式化时间对象,得到格式化后的时间

  17:         String time = sdf.format(d);

  18:         

  19:         //打印时间

  20:         System.out.println(time);

  21:     }

  22: }

Calendar类

Date类中很多类都过时了,被Calendar日历类取代

常用方法

获取对象

static Calendar
getInstance()

获取时间

int
get(int field)

增减时间

abstract void
add(int field, int amount)

设置时间

void
set(int field, int value)

void
set(int year, int month, int date)

两个例子:

  1. 获取昨天这个时刻
  2. 获取任意年的2月有多少天
   1: import java.util.*;

   2:  

   3:  

   4: class CalendarDemo 

   5: {

   6:     public static void main(String[] args) 

   7:     {

   8:         Calendar c = Calendar.getInstance();

   9:     

  10:         showTime(getYestTime());

  11:  

  12:         //System.out.println(getFebDays(2011));

  13:     }

  14:  

  15:     //获取随机年的二月有几天

  16:     private static int getFebDays(int year)

  17:     {

  18:         Calendar c = Calendar.getInstance();

  19:         

  20:         //设置时间为某年的3月1日

  21:         c.set(year,2,1);

  22:         //天数减一,得到2月最后一天

  23:         c.add(Calendar.DAY_OF_MONTH,-1);

  24:         //返回2月的最后一天

  25:         return c.get(Calendar.DAY_OF_MONTH);

  26:     }

  27:  

  28:     //获取昨天现在这个时刻

  29:     private static Calendar getYestTime()

  30:     {

  31:         Calendar c = Calendar.getInstance();

  32:         

  33:         //天数减一

  34:         c.add(Calendar.DAY_OF_MONTH,-1);

  35:  

  36:         return c;

  37:  

  38:     }

  39:  

  40:     //打印时间

  41:     private static void showTime(Calendar c)

  42:     {

  43:         //月份编码表

  44:         String[] mons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};

  45:         //星期编码表

  46:         String[] days = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

  47:         

  48:         //获取对应月份和星期的角标

  49:         int mon_index = c.get(Calendar.MONTH);

  50:         int day_index = c.get(Calendar.DAY_OF_WEEK);

  51:  

  52:         //打印时间

  53:         System.out.println(c.get(Calendar.YEAR)+"年"

  54:                             +mons[mon_index]+

  55:                             +c.get(Calendar.DAY_OF_MONTH)+"日 "

  56:                             +days[day_index]+" "

  57:                             +c.get(Calendar.HOUR_OF_DAY)+":"

  58:                             +c.get(Calendar.MINUTE));

  59:     }

  60: }

Math类

数学方法相关类

常用方法

小于指定数的最大整数

static double
floor(double a)

大于指定数的最小整数

static double
ceil(double a)

四舍五入求值

static long
round(double a)

幂次计算

static double
pow(double a, double b)

获取随机数

static double
random()

当random方法第一次被调用时,系统会常见一个Random类,获取的随机数取值是大于等于0小于1的double型

Java笔记(二十五)……其他常用API的更多相关文章

  1. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  2. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  3. Java基础学习笔记二十五 MySQL

    MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...

  4. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  5. Java笔记(二十八)……IO流下 IO包中其他常用类以及编码表问题

    PrintWriter打印流 Writer的子类,既可以接收字符流,也可以接收字节流,还可以接收文件名或者文件对象,非常方便 同时,还可以设置自动刷新以及保持原有格式写入各种文本类型的print方法 ...

  6. JDK源码阅读-------自学笔记(二十五)(java.util.Vector 自定义讲解)

    Vector 向量 Vector简述 1).Vector底层是用数组实现的List 2).虽然线程安全,但是效率低,所以并不是安全就是好的 3).底层大量方法添加synchronized同步标记,sy ...

  7. Expo大作战(二十五)--expo sdk api之Admob

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. 夯实Java基础(二十五)——JDBC使用详解

    1.JDBC介绍 JDBC的全称是Java Data Base Connectivity(Java数据库连接).是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问(例如MyS ...

  9. Java笔记(二十六)……IO流上 字节流与字符流

    概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...

随机推荐

  1. 干货:Web应用上线之前程序员应该了解的技术细节

    [伯乐在线注]:<Web 应用上线前,程序员应考虑哪些技术细节呢?>这是 StackExchange 上面的一个经典问题贴. 最赞回复有 2200+ 顶,虽然大多数人可能都听过其中大部分内 ...

  2. hdu 2079 选课时间

    hdu 2079 选课时间 题意:选的学分总和为n,并且学分为a的课有b种,总共有K(1<=k<=8)种学分不同的课,并且要选的学分最多为40:问选课方案有多少种?(学分相同的课即认为相同 ...

  3. EasyUI portal自定义小图标,不是用js方式加载

    <script src="~/Scripts/jquery.portal.js"></script> <script> $(function ( ...

  4. 关于LookAt

    Transform.LookAt 注视 function LookAt (target : Transform, worldUp : Vector3 = Vector3.up) : void 旋转物体 ...

  5. windows azure programing

    http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started-vs2012/ http:// ...

  6. 分别用js和jq实现百度全选反选效果

    js实现过程 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  7. jquery and event

    jquery阻止事件冒泡 event.stopPropagation(); event.cancelBubble = true; jquery阻止默认操作 event.preventDefault() ...

  8. UVALive 6609 Minimal Subarray Length (查找+构建排序数组)

    描述:给定n个整数元素,求出长度最小的一段连续元素,使得这段元素的和sum >= X. 对整个数组先求出sum[i],表示前i个元素的和,然后依次求出以a[i]为起点的,总和>= X的最小 ...

  9. [jobdu]数组中的逆序对

    http://ac.jobdu.com/problem.php?pid=1348 数组中的逆序对也是个常见的题目,算法导论中也有一些描述,参考:http://www.cnblogs.com/wuyue ...

  10. Java程序发展之路