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

JavaSE拾遗(9)——JavaSE 其他常用类

2018年01月10日 ⁄ 综合 ⁄ 共 4168字 ⁄ 字号 评论关闭
文章目录

System

public final class System extends Object 

System 类就相当于 JVM ,它包含一些有用的类字段和方法。它不能被实例化。 在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。System 类里面的方法都是静态的。

in “标准”输入流。(默认是键盘)

out “标准”输出流。(默认是控制台)

static void setIn(InputStream in) 

          重新分配“标准”输入流
static void setOut(PrintStream out) 

          重新分配“标准”输出流

static void load(String filename) 
          从作为动态库的本地文件系统中以指定的文件名加载代码文件

static void loadLibrary(String libname) 
          加载由 libname 参数指定的系统库

static Properties getProperties() 
          确定当前的系统属性

static String getProperty(String key) 
          获取指定键指示的系统属性

static String setProperty(String key, String value)  

          设置指定键指示的系统属性,相当于设置 JVM 的环境变量

static long  currentTimeMillis() 
          返回以毫秒为单位的当前时间

static int  identityHashCode(Object x) 
          返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()

static void  exit(int status) 
          终止当前正在运行的 Java 虚拟机

Properties 是 HashTable 的子类.也就是 Map 集合的一个子类.可以通过  Map 集合的方法去取该集合中的元素,该集合中存储的都是字符串键值对。

Runtime

public class Runtime extends Object


每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。应用程序不能创建自己的 Runtime 类实例。 该类并没有提供构造函数, 说明不可以new对象,那么会直接想到该类中的方法都是静态的, 发现该类中还有非静态方法, 说明该类肯定会提供了方法获取本类对象,而且该方法是静态的, 并返回值是本类类型.,有这个特点可以看出该类只用了单例设计模式.

static Runtime getRuntime()           返回与当前 Java 应用程序相关的运行时对象。

Process exec(String command)           在单独的进程中执行指定的字符串命令。

 void load(String filename)           加载作为动态库的指定文件名。 

 void loadLibrary(String libname)           加载具有指定库名的动态库。 

Runtime 和 System 类有些相同重复的方法

Date

java.lang.Object  

    |--------java.util.Date

日期类在util包中因为我们在写程序的时候往往都要操作日期这样的内容,要把时间记录下来, Date对日期进行了描述.类 Date 表示特定的瞬间,精确到毫秒。 在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。

java.lang.Object  

    |------java.util.Calendar

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。历法有各种各样的,Calendar 就是解决这些问题的类。

java.lang.Object 

       java.text.Format

             java.text.DateFormat

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为
Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。

package cn.itcast.others;

import java.util.*;

class DataDemo {
	public static void main(String[] args) {
		Date d = new Date();// 创建打印的对象
		System.out.println(d);// 打印的时间看不懂.希望能有些格式
		// 想让打印的有年月日.这样看起来很好.方法是在Date类中另请参见中
		SimpleDateFormat sdf = new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss");
		// 调用format方法让模式格式化指定的Date对象.
		String time = sdf.format(d);
		System.out.println(time);
	}
}

/**
 Calendar:日历类 在util包中
 通过静态方法 static Calendar getInstance(); 返回本类实例对象构造函数供子类使用。
 */
package cn.itcast.others;

import java.util.Calendar;

/**
 * 
 * @class: CalendarDemo
 * @package: cn.itcast.others
 * @description: TODO
 * @author: vivianZhao
 * @date: 2013-7-17 下午10:33:44
 * @version: 1.0
 */
public class CalendarDemo {
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();

		// sop(c);

		// 查表法
		String[] mons = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月",
				"十月", "十一月", "十二月" };
		String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
		int monthindex = c.get(Calendar.MONTH);// 使用查表法获取大写的月份

		int weekIndex = c.get(Calendar.DAY_OF_WEEK);// 使用查表法获取大写的星期数

		sop(c.get(Calendar.YEAR) + "年");// 打印年

		sop(mons[monthindex]);// 打印月份

		sop(c.get(Calendar.DAY_OF_MONTH) + "日");// 打印日

		sop(weeks[weekIndex]);// 打印星期.
	}

	public static void sop(Object obj) {
		System.out.println(obj);
	}
}

 修改日历方法
       add(int field, int amount)//根据日历的规则,为给定的日历字段添加或减去指定的时间量
 指定日历方法
       set(int field, int value)//将给定的日历字段设置为给定值
       set(int year, int month, int date)
       set(int year, int month, int date, int hourOfDay, int minute)
       set(int year, int month, int date, int hourOfDay, int minute, int second)

  Calendar c = Calendar.getInstance();
  c.set(2013,2,1);//指定年与日
  c.add(Calendar.DAY_OF_MONTH,-1);//月份减一
  int num = c.get(Calendar.DAY_OF_MONTH);//获取
  sop(num);

Math 

数学类,  数学上常见的运算,均为静态方法

package cn.itcast.others;

import java.util.Random;

class MathDemo {
	public static void main(String[] args) {
		Random r = new Random();// util包中的Random类也有随机方法等
		for (int x = 0; x < 10; x++) {
			int d = r.nextInt(1000);// 随机数.util包中的Random类
			// int d=(int)(Math.random()*1000); //math包中的随机方法
			sop(d);
		}
	}

	public static void show() {
		double d = Math.ceil(16.34);// ceil返回大于指定该数据的最小整数.
		double d1 = Math.floor(12.34);// floor返回小于指定数据的最大整数.

		long l = Math.round(12.54);// 四舍五入.

		sop("d=" + d);
		sop("d1=" + d1);
		sop("l=" + l);

		int d2 = (int) (Math.pow(2, 3));// pow 2的3次幂
		sop("d2=" + d2);
	}

	public static void sop(Object obj) {
		System.out.println(obj);
	}
}

抱歉!评论已关闭.