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

黑马程序员 java 基础 毕向东 面向对象 常用类 System Math Property Calendar Date Runtime

2018年04月30日 ⁄ 综合 ⁄ 共 4388字 ⁄ 字号 评论关闭
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
黑马程序员 java 基础 毕向东 面向对象 常用类 System Math Property Calendar Date  Runtime

1  System

package day18OtherClass;

import java.util.Properties;
 import static java.lang.System.*;
public class SystemDemo {
/*获取系统属性信息
 * System 类中的方法和属性都是静态的
 * out :标准输出 默认是控制台
 * in  :标准输入了  默认键盘
 * Properties getProperties()
 * */
	public static void main(String[] args) {
		Properties p=System.getProperties();

		System.setProperty("amykey","cuiui");
		//因为Properties是HashTable 的子类
		//也就是Map集合的子类对象
		//就可以通过map的方法去除该集合中的元素
		//该集合存储的都是字符串没有泛型定义
		//Set<String> stringPropertriesNames()
		

		//获指定属性信息
		String osname=System.getProperty("os.name");
		out.println("osname:"+osname);
		//获取所有属性信息
		for(Object o:p.keySet()){
			String v=(String)p.get(o);
			System.out.println("key:"+o.toString()+"--v:"+v);
		}
		
		//如何在系统中自定义系统信息呢
		System.setProperty("amykey","cuiui");
		
		//在jvm 启动时。动态加载一下属性信息
		
		
	}

}

2Runtime

package day18OtherClass;
import static java.lang.Runtime.*;

import java.io.IOException;
public class RuntimeDemo {
/*
 * 该类没有提供构造函数
 * 说明不能new 对象
 * 那么会想到该类的中的方法是静态的
 * 发现该类还有非静态方法
 * 
 * 说明该类会提供方法获取本来对象
 * 而且方法是静态的的
 * 
 * 由这个特点可以看出该类使用了单例设计模式
 * 该方法是:static Runtime getRuntime()
 * */
	public static void main(String[] args) {
		Runtime r=getRuntime();
		Process p = null;
		try {
//			 p=r.exec("write.exe");
			 p=r.exec("notepad.exe SystemDemo.java");
		} catch (IOException e) {
			e.printStackTrace();
		}
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("--------");
		p.destroy();
		System.out.println("--------");
	}

}

3Date

package day18OtherClass;

import java.util.Date;
import java.text.SimpleDateFormat;
import static java.lang.System.*;
public class DateDemo {
/*
 * */
	public static void main(String[] args) {
		Date d=new Date();
		out.println("d:"+d);
		//打印的时间看不懂。希望有些格式
		//将格式封装在SimpleDateFormat对象中,调用format指定对象
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
		System.out.println(sdf.format(d));
		sdf=new SimpleDateFormat("MM-dd-HH-mm-ss-z");
		System.out.println(sdf.format(d));
		sdf=new SimpleDateFormat("MM-dd HH:mm:ss");
		System.out.println(sdf.format(d));
		sdf=new SimpleDateFormat("MM月dd日");
		System.out.println(sdf.format(d));
		sdf=new SimpleDateFormat("HH时mm分ss秒z");
		System.out.println(sdf.format(d));
		sdf=new SimpleDateFormat("月d日H时m分s秒z");
		System.out.println(sdf.format(d));
		sdf=new SimpleDateFormat("w");
		System.out.println("年中的周数:"+sdf.format(d));
		sdf=new SimpleDateFormat("W");
		System.out.println("月份中的周数 :"+sdf.format(d));
		sdf=new SimpleDateFormat("a");
		System.out.println("Am/pm 标记:"+sdf.format(d));
		sdf=new SimpleDateFormat("E");
		System.out.println("星期中的天数 "+sdf.format(d));
	}

}

4Calendar

package day18OtherClass;

import java.util.Calendar;
/*
 * 获取任意一年的二月有多少天
 * 		思路:根据指定时间设置年
 * 		c.set(year,2,1)
 		c.add(Calendear.DAY_OF_MONTH,-1)
 		3月1往前推一天,就是2月的最后一项
 		
 		获取昨天的这个时刻
 */
import static java.util.Calendar.*;
public class CalendarDemo {
/*
 * 
 * */
	public static void main(String[] args) {
//		printCal();
		for(int i=2000;i<2020;i++){
			getFebruaryDays(i);
		}
	}
	static int getFebruaryDays(int year){
		Calendar c=Calendar.getInstance();
		c.set(year,2,1);
		c.add(DAY_OF_MONTH,-1);
		int day=c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year+"年2月有"+day+"天");
		return day;
		
	}
	static void printCal(){
		Calendar c=Calendar.getInstance();
//		System.out.println(c);
//		c.set(2012, 1, 2);
//		c.add(Calendar.YEAR, -3);
//		c.add(Calendar.MONTH, -3);
		c.add(Calendar.DAY_OF_MONTH, -3);
		int year=c.get(YEAR);
		int month=c.get(MONTH);
		int dayOfMonth=c.get(DAY_OF_MONTH);
		int dayOfWeek=c.get(DAY_OF_WEEK);
		int weekOfMonth=c.get(WEEK_OF_MONTH);
		int weekOfYear=c.get(DAY_OF_YEAR);
		int hour=c.get(HOUR);
		int hourOfDay=c.get(HOUR_OF_DAY);
		int min=c.get(MINUTE);
		int sec=c.get(SECOND);
		System.out.println("year:"+year+
						   "\nmonth 从 0月开始计算:"+month+
						   "\ndayOfMonth:"+dayOfMonth+
						   "\ndayOfWeek  周7第一天:"+dayOfWeek+
						   "\nweekOfMonth:"+weekOfMonth+
						   "\nweekOfYear:"+weekOfYear+
						   "\nhour  12时:"+hour+
						   "\nhourOfDay  24时:"+hourOfDay+
						   "\nmin:"+min+
						   "\nsec:"+sec);
		int mon=Calendar.MONTH;
		System.out.println(mon);
	    mon=c.get(Calendar.MONTH);
		System.out.println(mon);
	}
}

5Math

package day18OtherClass;
import static java.lang.Math.*;
import static java.lang.System.*;

import java.util.Random;

public class MathDemo {

/*
 * ceil返回大于指定数据 的最小整数
 * floor 返回小于指定数据的最小整数
 * round 四舍五入
 * pow 幂运算
 * random  随机数(0 到 1 之间  包含 0)
 * 
 * 
 * 联系:给定一个小数
 * 保留后两位
 * */
	public static void main(String[] args) {
		out.println(ceil(16.3));
		out.println(ceil(-16.3));
		out.println(ceil(-16.7));
		

		out.println(floor(16.3));
		out.println(floor(-16.3));
		out.println(floor(-16.7));
		

		out.println(round(-16.7));
		out.println(round(-16.1));
		out.println(round(16.1));
		out.println(round(16.7));
		

		out.println(pow(2,3));
		

		out.println(random());
		Random r=new Random();
		for (int i = 0; i < 10; i++) {
			System.out.println(r.nextInt(10));
		}
	}
	static void getTwoDec(){
		double d=3242.2324;
		
	}

}

抱歉!评论已关闭.