JavaSE_util+其他核心类

java.util.Calendar

package uncommitted;
import java.util.Calendar;
public class CalendarDemo1 {
	public static void main(String[] args) {
		// Calendar
		System.out.println();
		method1();
	}
	public static void method5(int year) {
		// 通过Calendar的add偏移字段,算出任意一年的2月有多少天!
		Calendar c=Calendar.getInstance();
		showDateTime(c);
		//月份是从0算起的,2代表现实3月份
		//设置日期为某一年的3月1日!
		c.set(year, 2, 1);
		showDateTime(c);
		//将天数往前推1天即可!
		c.add(Calendar.DAY_OF_MONTH, -1);
		showDateTime(c);
	}
	public static void method4() {
		// 通过Calendar的add偏移字段,算出任意一年的2月有多少天!
		Calendar c=Calendar.getInstance();
		showDateTime(c);
		c.set(Calendar.YEAR, 2012);
		c.set(Calendar.MONTH, 2);//月份是从0算起的,2代表现实3月份
		c.set(Calendar.DAY_OF_MONTH, 1);//3月1号
		c.add(Calendar.DAY_OF_MONTH, -1);//减去1天,就是2月XX日了!
		showDateTime(c);
	}
	public static void method3() {
		// Calendar通过set,设置日期,add偏移字段
		Calendar c=Calendar.getInstance();
		showDateTime(c);
		c.set(Calendar.YEAR, 2013);
		//月份增加9个月
		c.add(Calendar.MONTH, 9);
		showDateTime(c);
	}
	//自定义方法: 显示日期时间
	public static void showDateTime(Calendar c) {
		// Calendar通过get(字段),得到日期时间值,并显示!
//		Calendar c=Calendar.getInstance();
		int year=c.get(Calendar.YEAR);
		int month=c.get(Calendar.MONTH);//0~11月
		int day=c.get(Calendar.DAY_OF_MONTH);
		int week=c.get(Calendar.DAY_OF_WEEK);
		int hour=c.get(Calendar.HOUR_OF_DAY);
		int minute=c.get(Calendar.MINUTE);
		int second=c.get(Calendar.SECOND);
		String week_str=toChineseWeek(week);
		int CMonth=month+1;
		sop(year+"年"+CMonth+"月"+day+"日"+week_str+","+hour+"时"+minute+"分"+second+"秒");
	}
	//自定义方法: 显示中文的星期!
	public static String toChineseWeek(int i) {
		if(i>7||i<0){
			return "wrong number";
		}
		//老外从周日开始算第1天,所以周1就变成了第2天
		String[] arr={"","星期日","星期1","星期2","星期3","星期4","星期5","星期6"};
		return arr[i];
	}
	
	
	public static void method1() {
		Calendar c=Calendar.getInstance();
		sop(c+"");//一大串信息
		sop(c.get(Calendar.YEAR)+"");
		//2013
		sop(c.get(Calendar.MONTH)+"");
		//0,代表的是1月....11代表12月
		sop(c.get(Calendar.DAY_OF_MONTH)+"");
		//31日
		sop(c.get(Calendar.DAY_OF_WEEK)+"");
		//3,老外从周日开始算1,所以周1就变成了2,周2就变成了3
		sop(c.get(Calendar.HOUR_OF_DAY)+"");//13点
		sop(c.get(Calendar.MINUTE)+"");//8分
		sop(c.get(Calendar.SECOND)+"");//22秒
		//开始连接成字符串!
		StringBuilder sb=new StringBuilder();
		sb.append(c.get(Calendar.YEAR));
		sb.append(c.get(Calendar.MONTH));
		sb.append(c.get(Calendar.DAY_OF_MONTH));
		sb.append(c.get(Calendar.HOUR_OF_DAY));
		sb.append(c.get(Calendar.MINUTE));
		sb.append(c.get(Calendar.SECOND));
		sop(sb.toString());
		//20131131   13822
	}
	//自定义方法:打印输出
	public static void sop(String str) {
		System.out.println(str);
	}
}
/*java.util.GregorianCalendar
 * [time=1167588947375,
 * areFieldsSet=true,
 * areAllFieldsSet=true,
 * lenient=true,
zone=sun.util.calendar.ZoneInfo
[id="Asia/Shanghai",
offset=28800000,dstSavings=0,
useDaylight=false,
transitions=19,lastRule=null],
firstDayOfWeek=1,
minimalDaysInFirstWeek=1,ERA=1,
YEAR=2007,MONTH=0,
WEEK_OF_YEAR=1,
WEEK_OF_MONT
H=1,DAY_OF_MONTH=1,
DAY_OF_YEAR=1,DAY_OF_WEEK=2,
DAY_OF_WEEK_IN_MONTH=1,
AM_PM=0,HO
UR=2,HOUR_OF_DAY=2,MINUTE=15,
SECOND=47,MILLISECOND=375,
ZONE_OFFSET=28800000,DST_
OFFSET=0]*/
java.util.Date
package uncommitted;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.junit.Test;
public class DateDemo1 {
	//方法10:求两个日期的间隔的天数~
	@Test
	public void method10() throws ParseException {
		// 2012-3-17到2012-4-6之间有多少天?
		String s1="2012-3-17";
		String s2="2012-4-6";
		DateFormat d=DateFormat.getDateInstance();
//		d=new SimpleDateFormat("yyyy-MM-dd");两个都可以,千万注意大小写
		Date d1=d.parse(s1);
		Date d2=d.parse(s2);
		Long l1=Math.abs(d1.getTime()-d2.getTime());
		sop(l1/1000/60/60/24+"");//20天!
	}
	
	//方法9:字符串 转 日期对象~
	@Test
	public void method9() throws ParseException {
		String s1="2007年08月07日 星期一,北京时间01:56:15";
		DateFormat d=DateFormat.getDateInstance();
		d=new SimpleDateFormat("yyyy年MM月dd日 E,北京时间hh:mm:ss");
		Date d1=d.parse(s1);
		sop(d1+"");//Tue Aug 07 01:56:15 CST 2007
	}
	
	//方法8: 字符串 转 日期对象
	@Test
	public void method8() throws ParseException {
		String s1="2013-07-19";
		DateFormat d=DateFormat.getDateInstance();
		Date d1=d.parse(s1);
		sop(d1+"");//Fri Jul 19 00:00:00 CST 2013
	}
	
	//方法7:	SimpleDateFormat自定义风格
	@Test
	public void method7() {
		Date d1=new Date();
		DateFormat d=new SimpleDateFormat("yyyy年MM月dd日 E,北京时间hh:mm:ss");
		String s1=d.format(d1);
		sop(s1);//2013年12月31日 星期二,北京时间01:27:42
	}

	//方法6:	给定风格		
	@Test
	public void method6() {
		Date d1=new Date();
		DateFormat d=DateFormat.getDateTimeInstance(0, 0);
		sop(d+"");//java.text.SimpleDateFormat@535c7d7d
		String s1=d.format(d1);
		sop(s1);//2007年1月1日 星期一 上午01时29分42秒 CST
		d=DateFormat.getDateTimeInstance(1,1);
		s1=d.format(d1);
		sop(s1);//2007年1月1日 上午01时31分11秒
		d=DateFormat.getDateTimeInstance(2,2);
		s1=d.format(d1);
		sop(s1);//2007-1-1 1:32:40
		d=DateFormat.getDateTimeInstance(0,1);
		s1=d.format(d1);
		sop(s1);//2007年1月1日 星期一 上午01时33分10秒
	}
	
	//方法5:	给定风格		
	@Test
	public void method5() {
		Date d1=new Date();
		DateFormat d=DateFormat.getDateInstance(DateFormat.FULL);
		String s1=d.format(d1);
		sop(s1);//2007年1月1日 星期一
		d=DateFormat.getDateInstance(DateFormat.LONG);
		s1=d.format(d1);
		sop(s1);//2007年1月1日
		d=DateFormat.getDateInstance(DateFormat.MEDIUM);
		s1=d.format(d1);
		sop(s1);//2007-1-1
		d=DateFormat.getDateInstance(DateFormat.SHORT);
		s1=d.format(d1);
		sop(s1);//07-1-1
	}
	
	//方法4:	静态方法获取日期+时间格式器
	@Test
	public void method4() {
		Date d1=new Date();
		DateFormat d=DateFormat.getDateTimeInstance();
		String s1=d.format(d1);
		sop(s1);//2007-1-1 1:24:55
	}
	
	//方法3:	静态方法获取日期格式器
	@Test
	public void method3() {
		/*public static final DateFormat getDateInstance(int style)
		获取日期格式器,该格式器具有默认语言环境的给定格式化风格*/ 
		Date d1=new Date();
		DateFormat d=DateFormat.getDateInstance();
		String s1=d.format(d1);
		sop(s1);//2007-1-1
	}
	
	//方法2:	打印毫秒值!Long 从1970年到现在的毫秒值~
	@Test
	public void method2() {
		Date d1=new Date();
		sop(d1.getTime()+"");//1167585291640~1388467955578
		sop(System.currentTimeMillis()+"");//1388467955578
	}

	//方法1:	打印系统毫秒值!Long 从1970年到现在的毫秒值~
	@Test
	public void method1() {
		long t1=System.currentTimeMillis();
		sop(""+t1);//1167584770515
		Date d1=new Date();
		sop(""+d1);//Mon Jan 01 01:06:53 CST 2007
		Date d2=new Date(1167584770515L);//注意这个是long要加L
		sop(""+d2);//Mon Jan 01 01:06:10 CST 2007
		sop(d2.toString());//Mon Jan 01 01:06:10 CST 2007
	}
	
	//自定义打印输出~
	public void sop(String str) {
		System.out.println(str);
	}
}


java.util.Random

package uncommitted;
import java.util.Random;
import org.junit.Test;
public class MathDemo {
	@Test
	public void method6() {
		/*public int nextInt(int n)返回一个伪随机数,
		它是取自此随机数生成器序列的、
		在 0(包括)和指定值(不包括)之间均匀分布的 int 值。*/
		Random r=new Random();
		for (int i = 0; i < 10; i++) {
			int d1=r.nextInt(6)+1;//0~5  +1   ---> 色子1~6
			sop(i+"..."+d1);
		}
	}
	//色子1~6
	@Test
	public void method5() {
		Random r=new Random();
		for (int i = 0; i < 10; i++) {
			int d1=(int)(r.nextDouble()*6+1);//色子1~6
			sop(i+"..."+d1);
		}
	}
	@Test
	public void method4() {
		for (int i = 0; i < 10; i++) {
//		double d1=Math.random();//0<=d1<1
		double d1=Math.floor(Math.random()*10);//0~9 向下取整
		d1=Math.ceil(Math.random()*10);//1~10 向上取整
		d1=Math.round(Math.random()*10);
		//0~10 四舍五入 其实是加0.5后向下取整 (long)floor(a + 0.5d);
		sop(i+"..."+d1);
		}
	}
	@Test
	public void method3() {
		/*public static double random()返回带正号的 double 值,
		该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,
		在该范围内(近似)均匀分布。 
		第一次调用该方法时,它将创建一个新的伪随机数生成器,
		与以下表达式完全相同 
		new java.util.Random之后,
		新的伪随机数生成器可用于此方法的所有调用
		,但不能用于其他地方。*/ 
		/*for (int i = 0; i < 10; i++) {
			double d1=Math.random();//0<=d1<1
			sop(i+"..."+d1);
		}*/
		for (int i = 0; i < 10; i++) {
//			double d1=(int)(Math.random()*10);//
//			int d1=(int)(Math.random()*6+1);//色子1~6
			int d1=(int)(Math.random()*10);//3D 0~9
			sop(i+"..."+d1);
		}
	}
	//a的b次方
	@Test
	public void method2() {
		double d1=Math.pow(10, 3);
		sop("Math.pow(10, 3)--->"+d1);//--->1000.0
	}
	@Test
	public void method1() {
		double d1=Math.ceil(11.3);
		sop("11.3--->ceil--->"+d1);
		d1=Math.ceil(-11.3);
		sop("-11.3--->ceil--->"+d1);
		d1=Math.floor(11.3);
		sop("11.3--->floor--->"+d1);
		d1=Math.floor(-11.3);
		sop("-11.3--->floor--->"+d1);
		sop("========= return (long)floor(a + 0.5d);=============");
//		========== return (long)floor(a + 0.5d);============
		d1=Math.round(-11.4);
		sop("-11.4--->round--->"+d1);
		d1=Math.round(-11.5);
		sop("-11.5--->round--->"+d1);
		d1=Math.round(-11.51);
		sop("-11.51--->round--->"+d1);
		d1=Math.round(-11.6);
		sop("-11.6--->round--->"+d1);
/*		
		11.3--->ceil--->12.0
		-11.3--->ceil--->-11.0
		11.3--->floor--->11.0
		-11.3--->floor--->-12.0
		========= return (long)floor(a + 0.5d);=============
		-11.4--->round--->-11.0
		-11.5--->round--->-11.0
		-11.51--->round--->-12.0
		-11.6--->round--->-12.0
*/
	}
	//自定义打印方法
	public void sop(String str) {
		System.out.println(str);
	}

}


java.lang.Runtime

package uncommitted;
import java.io.IOException;
import org.junit.Test;
public class RuntimeDemo {
	@Test
	public void method3() throws IOException, InterruptedException {
		Runtime r=Runtime.getRuntime();
		Process p=r.exec("notepad.exe c:\\abc.txt");
		//高级应用,用记事本打开txt,不存在会询问是否创建~
		Thread.sleep(3000);
		//控制自动结束进程
		p.destroy();
	}
	@Test
	public void method2() {
		//打印虚拟机 的内存 默认64M,可以手动更改~
		//右键 Run As~Open Debug Dialog~Args~-Xmx80M
		//-Xmx 这个参数是设定使用的最大内存 
		//-Xms 这个参数是设定使用的最小内存 
		//同样,通过eclipse设置来修改此参数:
		//Window->Preferences->Java->Installed JREs 双击jre,-Xmx80M
		Runtime r=Runtime.getRuntime();
		System.out.println(r.maxMemory()/1024/1024);//byte-->M
		System.out.println(r.freeMemory()/1024/1024);//byte-->M
		System.out.println(r.totalMemory()/1024/1024);//byte-->M
	}
	
	
	public void method1() throws IOException {
		// Runtime去使用程序打开关联的文件
		Runtime r=Runtime.getRuntime();
//		r.exec("notepad.exe");
//		r.exec("calc.exe");
		//r.exec("shutdown -s -t 60");//单位是秒
		r.exec("shutdown -a");//取消
		r.exec("notepad.exe c:\\abc.java");//高级应用,用纪事本打开java
	}
}


java.lang.System

package uncommitted;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;

import org.junit.Test;
public class SystemDemo1 {
	static final String LINE_SEPARATOR=System.getProperty("line.separator");
	@Test
	public void method4() {
		// 实例:行分割符!
		String l_s=System.getProperty("line.separator");
		System.out.println("林黛玉"+l_s+"薛宝钗");
	}
	public void method3() {
		// 用新的增强for取Hashtable的子类Properties的键值对
		Properties prop=System.getProperties();
//		static Properties getProperties() 
//        确定当前的系统属性。 
		for (String key : prop.stringPropertyNames()) {
			String value=prop.getProperty(key);
			System.out.println(key+"..."+value);
		}
	}
	public void method2() {
		// 用旧的迭代器取Hashtable的子类Properties的键值对
/*		public Set<String> stringPropertyNames() 
 * 			JDK 1.6才有
 		返回此属性列表中的键集,
		其中该键及其对应值是字符串,
		如果在主属性列表中未找到同名的键,
		则还包括默认属性列表中不同的键。
		其键或值不是 String 类型的属性被忽略。 
*/		Properties prop=System.getProperties();
		Set<String> nameSet=prop.stringPropertyNames();
		Iterator<String> it=nameSet.iterator();
		while (it.hasNext()) {
			String key = (String) it.next();
			String value=prop.getProperty(key);
			System.out.println(key+"..."+value);
		}
	}
	@Test
	public void method1() {
		//返回1970年以来的毫秒值
		System.out.println(System.currentTimeMillis());//1388470040796
	}
}
/*
 * 键 相关值的描述 
java.version Java 运行时环境版本 
java.vendor Java 运行时环境供应商 
java.vendor.url Java 供应商的 URL 
java.home Java 安装目录 
java.vm.specification.version Java 虚拟机规范版本 
java.vm.specification.vendor Java 虚拟机规范供应商 
java.vm.specification.name Java 虚拟机规范名称 
java.vm.version Java 虚拟机实现版本 
java.vm.vendor Java 虚拟机实现供应商 
java.vm.name Java 虚拟机实现名称 
java.specification.version Java 运行时环境规范版本 
java.specification.vendor Java 运行时环境规范供应商 
java.specification.name Java 运行时环境规范名称 
java.class.version Java 类格式版本号 
java.class.path Java 类路径 
java.library.path 加载库时搜索的路径列表 
java.io.tmpdir 默认的临时文件路径 
java.compiler 要使用的 JIT 编译器的名称 
java.ext.dirs 一个或多个扩展目录的路径 
os.name 操作系统的名称 
os.arch 操作系统的架构 
os.version 操作系统的版本 
file.separator 文件分隔符(在 UNIX 系统中是“/”) 
path.separator 路径分隔符(在 UNIX 系统中是“:”) 
line.separator 行分隔符(在 UNIX 系统中是“/n”) 
user.name 用户的账户名称 
user.home 用户的主目录 
user.dir 用户的当前工作目录 
 */
/*
java.runtime.name...Java(TM) SE Runtime Environment
sun.boot.library.path...D:\Program Files\Java\jdk1.7.0_01\jre\bin
java.vm.version...21.1-b02
java.vm.vendor...Oracle Corporation
java.vendor.url...http://java.oracle.com/
path.separator...;
java.vm.name...Java HotSpot(TM) Client VM
file.encoding.pkg...sun.io
user.script...
sun.java.launcher...SUN_STANDARD
sun.os.patch.level...Service Pack 3
java.vm.specification.name...Java Virtual Machine Specification
user.dir...E:\javase\ework\source_code
java.runtime.version...1.7.0_01-b08
java.awt.graphicsenv...sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs...D:\Program Files\Java\jdk1.7.0_01\jre\lib\endorsed
os.arch...x86
java.io.tmpdir...C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
line.separator...

java.vm.specification.vendor...Oracle Corporation
user.variant...
os.name...Windows XP
sun.jnu.encoding...GBK
java.library.path...D:\Program Files\Java\jdk1.7.0_01\bin;C:\WINDOWS\Sun\Java\bi
n;C:\WINDOWS\system32;C:\WINDOWS;D:\Program Files\Java\jdk1.7.0_01\jre\bin;D:/Pr
ogram Files/Java/jdk1.7.0_01/bin/../jre/bin/client;D:/Program Files/Java/jdk1.7.
0_01/bin/../jre/bin;D:/Program Files/Java/jdk1.7.0_01/bin/../jre/lib/i386;D:\Pro
gram Files\Java\jdk1.7.0_01\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System
32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;E:\javase\ec
lipse-java-kepler-SR1-win32\eclipse;;.
java.specification.name...Java Platform API Specification
java.class.version...51.0
sun.management.compiler...HotSpot Client Compiler
os.version...5.1
user.home...C:\Documents and Settings\Administrator
user.timezone...
java.awt.printerjob...sun.awt.windows.WPrinterJob
file.encoding...GBK
java.specification.version...1.7
user.name...Administrator
java.class.path...E:\javase\ework\source_code\bin
java.vm.specification.version...1.7
sun.arch.data.model...32
java.home...D:\Program Files\Java\jdk1.7.0_01\jre
sun.java.command...source_code.SystemDemo1
java.specification.vendor...Oracle Corporation
user.language...zh
awt.toolkit...sun.awt.windows.WToolkit
java.vm.info...mixed mode
java.version...1.7.0_01
java.ext.dirs...D:\Program Files\Java\jdk1.7.0_01\jre\lib\ext;C:\WINDOWS\Sun\Jav
a\lib\ext
sun.boot.class.path...D:\Program Files\Java\jdk1.7.0_01\jre\lib\resources.jar;D:
\Program Files\Java\jdk1.7.0_01\jre\lib\rt.jar;D:\Program Files\Java\jdk1.7.0_01
\jre\lib\sunrsasign.jar;D:\Program Files\Java\jdk1.7.0_01\jre\lib\jsse.jar;D:\Pr
ogram Files\Java\jdk1.7.0_01\jre\lib\jce.jar;D:\Program Files\Java\jdk1.7.0_01\j
re\lib\charsets.jar;D:\Program Files\Java\jdk1.7.0_01\jre\classes
java.vendor...Oracle Corporation
file.separator...\
java.vendor.url.bug...http://bugreport.sun.com/bugreport/
sun.cpu.endian...little
sun.io.unicode.encoding...UnicodeLittle
sun.desktop...windows
sun.cpu.isalist...
*/






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值