System,Runtime,Data,Calendar,Math

System

System类中的方法和属性都是静态的
out:标准输出,默认是控制台
in:标准输入,默认是键盘

Properties  

获取系统属性信息

getProperty()

自定义一些特有属性信息

setProperty()


因为PropertiesHashtable的子类,也就是Map集合的一个子类对象

那么可以通过map的方法取出该集合中的元素。

该集合存储的都是字符串,没有泛型定义。

c:\\>java -Dhaha=qqqqq Test

虚拟机启动时加载信息

import java.util.*;
class Test
{
	public static void main(String[] args) 
	{
		Properties pro= System.getProperties();
		//因为Properties是Hashtable的子类,也就是Map集合的一个子类对象
		//那么可以通过map的方法取出该集合中的元素。
		//该集合存储的都是字符串,没有泛型定义。

///如何在系统中自定义一些特有信息。
		System.setProperty("mykey","myvalue");
		for( Object obj : pro.keySet())
		{
			String value = (String)pro.get(obj);
			sop(obj+"----"+value);
		}
获取指定属性信息
		sop(System.getProperty("os.name"));
在jvm启动时,动态加载一些属性信息值。
:> java -Dhaha=qqqqq Test
		sop(System.getProperty("haha"));
	}
	public static void sop( Object obj)
	{
		System.out.println(obj);
	}
}

Runtime对象
每个java应用程序都有一个Runtime对象,使应用程序与系统运行的环境相连接。应用程序不可以自己创建Runtime实例。
该类并没有提供构造函数
说明不可以new对象,那么会直接想到该类中的方法都是静态的。
发现该类中还有非静态方法。
说明该类肯定会提供方法获取本类对象,而且该方法都是静态的,并返回值类型是本类类型。

由这个特点,可以看出该类使用了单例设计模式完成
该方法是static Runtime getRuntime ()
import java.util.*;
class Test
{
	public static void main(String[] args) throws Exception
	{
		Runtime r = Runtime.getRuntime();
		Process p = r.exec("C:\\write.exe"); //运行程序
		Process P2 = r.exec("notepad.exe 1.java");
		Thread.sleep(400);   //延时线程
		p.destroy();	//关闭进程
	}
	public static void sop( Object obj)
	{
		System.out.println(obj);
	}
}
Data
在util包中
输出格式 SimpleDateForamt()
SimpleDateForamt()需要导入 import java.text.*; 
import java.util.*;
import java.text.*;
class Test
{
	public static void main(String[] args) 
	{
		Date d = new Date();
		sop(d); //输出时间
		//将模式封装在SimpleDateFormat
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
		//调用format方法,让模式格式化指定的Date对象。
		String time = sdf.format(d);
		sop(time);
	}
	public static void sop( Object obj)
	{
		System.out.println(obj);
	}
}
Calendar
getInstance()从默认时间表中获取时间
set();设置时间
add();加减时间
import java.util.*;
class Test
{
	public static void main(String[] args) 
	{
		Calendar c = Calendar.getInstance();

		sop(c.get(Calendar.YEAR)+"年");	//输出年份
		sop(c.get(Calendar.MONTH)+"月");
		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
		sop("星期"+c.get(Calendar.DAY_OF_WEEK));
//
		String [] month = {"一月","二月","三月","四月",
							"五月","六月","七月","八月",
							"九月","十月","十一月","十二月"};
		String [] week = {"星期六","星期日","星期一","星期二",
							"星期三","星期四","星期五"};
		int monthIndex=c.get(Calendar.MONTH);
		int weekIndex = c.get(Calendar.DAY_OF_WEEK);
		sop(month[monthIndex]+" "+week[weekIndex]);
	}
	public static void sop( Object obj)
	{
		System.out.println(obj);
	}
}

import java.util.*;
class Test
{
	public static void main(String[] args) 
	{
		Calendar c = Calendar.getInstance();
		Calendar c2 = Calendar.getInstance();
///
		c.set(2011,11,1);//从0算起。。
		Calendars(c);
///
		c2.add(Calendar.YEAR,-4);//减4年
		Calendars(c2);
	}
	public static void Calendars(Calendar c) 
	{
		sop(c.get(Calendar.YEAR)+"年");	//输出年份
		sop(c.get(Calendar.MONTH)+"月");
		sop(c.get(Calendar.DAY_OF_MONTH)+"日");
		sop("星期"+c.get(Calendar.DAY_OF_WEEK));
//
		String [] month = {"一月","二月","三月","四月",
							"五月","六月","七月","八月",
							"九月","十月","十一月","十二月"};
		String [] week = {"星期六","星期日","星期一","星期二",
							"星期三","星期四","星期五"};
		int monthIndex=c.get(Calendar.MONTH);
		int weekIndex = c.get(Calendar.DAY_OF_WEEK);
		sop(month[monthIndex]+"+"+week[weekIndex]);
	}
	public static void sop( Object obj)
	{
		System.out.println(obj);
	}
}
练习
1获取任意年的二月有多少天。
思路,根据指定的年设置一个时间
c.set(year,3,1);//某一年的3月1日
c.add(Calendar.DAY_OF_WEEK,-1);//3月1日往前推一天,就是2月的最后一天
2获取昨天的现在这个时刻。
c.add(Calendar.DAY_OF_WEEK,-1);
sop(c.get(Calendar.DAY_OF_WEEK)+"+"+c.get(Calendar.HOUR_OF_DAY)
+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND))

Math
import java.util.*;
class Test
{
	public static void main(String[] args) 
	{
		sop(Math.ceil(123.4));//ceil返回大于指定数据的最小整数。
		sop(Math.floor(323.4));//floor返回小于指定数据的最大整数。
		sop(Math.round(323.4));//四舍五入算法。
		sop(Math.pow(2,7));//2的7次方!
		for (int x=1;x<10 ;x++ )
		{
			sop(Math.random());//random,  包含零且小于1的随机小数。伪随机数
			sop((int)(Math.random()*10+1));//包含10但且大于1的随机数
		
			Random r = new Random();
			sop(r.nextInt(10)+1);//包含10但且大于1的随机数
		}
	}
	public static void sop( Object obj)
	{
		System.out.println(obj);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值