其他对象(java基础)

1.System对象

  System:类中的方法和属性是静态的。
  out:标准输出,默认是控制台。
   in:标准输入,默认是键盘。
  描述系统的一些信息。
  获取系统属性信息:Properties getProperties();

示例代码:

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


		/********如何在系统中自定义一些特有的信息呢?***********/
		//System.setProperty("mykey","myvalue");

		
		/********获取指定属性的信息***********/
		String value = System.getProperty("os.name");

		System.out.println("value="+value);

		/********可不可以在jvm启动的时候,动态加载一些属性信息?***********/
		//-Dname=value;


		for(Object obj : prop.keySet())//超级for循环
		{
			String value = (String)prop.get(obj);//通过key读取对应的值(map集合的特性)
			System.out.println(obj+"::"+value);
		}
		System.out.println("Hello World!");
	}
}



2. Runtime

/*
Runtime对象(process)
该类并没有提供构造函数。
说明不可以new对象,那么会直接想到该类中的方法都是静态的。
发现该类肯定提供了方法获取本类对象,而且方法是静态的,并且返回值类型是本类类型。

由这个特点可以看出该类使用了单例设计模式完成。

该方式是static Runtime getRuntime();
*/

class RuntimeDemo
{
    public static void main(String[] args) throws Exception
    {
        Runtime r  = Runtime.getRuntime();
        r.exec("E:\\Program Files\\QQ\\Bin\\QQ.exe");
    }
}

3.时间类

       1.Data类

          见示例

 

/*
时间的基本操作
*/


import java.util.*;
import java.text.*;

class DateDemo 
{
	private static void sop(Object value)
	{
		System.out.println(value);
	}

	public static void main(String[] args) 
	{
		Date d = new Date();//获取当前的时间
		String str = DateFormat.getDateInstance().format(d);//当前时区标准时间格式
		sop(str);//希望格式输出,即Dateformat();
		

		//将模式封装到SimpleDateFormat中
		SimpleDateFormat ds = new SimpleDateFormat("yyyy年MM月dd天E hh:mm:ss");//自定义时间输出格式
		String s = ds.format(d);//按照自定义的格式输出时间
		sop(s);

		long l = System.currentTimeMillis();//以long数据形式获取系统格式
		Date ls = new Date(l);//转换为时间类型
		sop(ls);
	}
}

      2.Carendar


示例1:

/*
由一个日期生成一个日历,然后通过不同的方式获取其中的日期
*/

import java.util.*;
import java.text.*;

class CalendarDemo 
{

	private static void sop(Object value)   //输出
	{
		System.out.println(value);
	}


	public static void main(String[] args) 
	{
		Calendar c = Calendar.getInstance();//获取当前日期的日历

		/******列表改变月份输出格式*******/
		String [] mons = {"一月","二月","三月","四月"
					,"五月","六月","七月","八月"
					,"九月","十月","十一月","十二月"};
		
		String [] weeks = {"星期日","星期一","星期二"
					,"星期三","星期四","星期五","星期六"};


		/*********从日历中获取年月日,星期等**********/
		sop(c.get(Calendar.YEAR) + "年");

		//sop((c.get(Calendar.MONTH)+1)+"月");
		sop(mons[c.get(Calendar.MONTH)]);//列表里对应的月份格式

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

		//sop("星期" + c.get(Calendar.DAY_OF_WEEK));
		sop(weeks[c.get(Calendar.DAY_OF_WEEK)]);//列表里对应的星期格式
	}
}



示例2:

/*
运用Calendar<span id="transmark"></span>中的
	|-set方法对时间进行设置
	|-add方法对时间进行设置


两个练习;
	1.获取任意年的二月有多少天?
	思路:根据制定年设置一个时间是该年三月一日。
	set(year,3,1);//某年的3月1日
	add(Calendar.DAY_OF_MONTH,-1);//三月一日减一天就是2月最后一天


	2.获取昨天这个时刻?
	思路:直接通过add设置为昨天,但是其他选择系统默认的。
	add(Calendar.DAY_OF_MONTH,-1);
*/

import java.util.*;
import java.text.*;

class CalendarDemo2 
{
	private static void sop(Object value)   //输出
	{
		System.out.println(value);
	}


	public static void main(String[] args) 
	{
		Calendar c = Calendar.getInstance();//获取当前日期的日历

		//c.set(2016,0,18);//月份是从0开始计数的,0代表一月份

		c.add(Calendar.MONTH,1);//在获取的月份的基础上加一个月份

		printCalendar(c);
	}

	private static void printCalendar(Calendar c)//
	{
		/******列表改变月份输出格式*******/
		String [] mons = {"一月","二月","三月","四月"
					,"五月","六月","七月","八月"
					,"九月","十月","十一月","十二月"};
		
		String [] weeks = {"星期日","星期一","星期二"
					,"星期三","星期四","星期五","星期六"};
		/*********从日历中获取年月日,星期等**********/
		sop(c.get(Calendar.YEAR) + "年");

		//sop((c.get(Calendar.MONTH)+1)+"月");
		sop(mons[c.get(Calendar.MONTH)]);//列表里对应的月份格式

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

		//sop("星期" + c.get(Calendar.DAY_OF_WEEK));
		sop(weeks[c.get(Calendar.DAY_OF_WEEK)]);//列表里对应的星期格式
	}
}

 4.Math类

/*
Math包的基本用法:

练习:给定一个小数,保留该小数的后两位
思考:1.先放大一百倍,然后四舍五入。
	  2.缩小一百倍。
*/

import java.util.*;


class MathDemo {
	public static void main (String[] args) {
		exam();
	}

/**********Random随机数演示****************/
	private static void randomDemo() {
		Random r = new Random();
		for(int i = 0; i < 10; i++) {
			long d = Math.round(Math.random()*10);//取0到10之间的伪随机数
			//int d = r.nextInt(10)+1;
			sop(d);
		}
	}

/**********Math基本方法**************/
	private static void mathDemo() {                                                      
		double d = Math.ceil (12.34);//cerl返回大于指定数据的最小整数,得到double类型
		double f = Math.floor (12.34);//floor返回小于指定数据的最大整数,得到double类型
		long l = Math.round (12.34);//四舍五入,得到long类型
		double d1 = Math.pow(2,3);//2的3次方,得到double类型
		sop ("d=" + d);
		sop ("f=" + f);
		sop ("l=" + l);
		sop("d1=" + d1);
	}

/**********随机一个小数,保留两位小数****************/
	private static void exam () {    
		double d = Math.random()*10;//取一个小数随机数
		long d1 = Math.round(d*100);//放大一百倍,并四舍五入
		d = (double)d1/100;              //缩小一百倍,让其还原,此处如果乘以0.01,会损失精度。需要除以100
		sop(d);
	}

/***********输出******************/
	private 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、付费专栏及课程。

余额充值