Java.其他对象(学习笔记)

学习Java时的代码笔记,排版可能有些问题,代码拿来直接就可以用,毕竟全手打,难免会有错,欢迎指正

/*
System:类中的方法和属性都是静态的:
out代表标准输出,默认是控制台
in:代表标准输入,默认是键盘
Properties getProperties() //获取当前系统属性信息
*/
import java.util.*;
class SystemDemo
{
	public static void main(String[] args)
	{
		Properties prop = System.getProperties();
		/*
		因为Properties是Hashtable的子类,也就是Map集合的一个子类对象
		那么可以通过Map的方法取出该集合中的元素
		该集合中存储的都是字符串,没有泛型定义
		*/
		for(Object obj : prop.keSet())
		{
			String value = (String)prop.get(obj);
			System.out.println(obj + "::" + value);
		}
		//如何在系统中自定义一些特有信息呢?
		System.SetProperty("mykey","myvalue");
		//获取指定属性信息
		String value = System.getProperty("os.name");
		System.out.println("value = " + value);
		
		//虚拟机启动的时候能否动态的加载一些值?
		String v = System.getProperty("haha");
		System.out.println("v = " + v);
		/*
		执行的时候 java -D 选项set System property
		java -Dhaha=qqqqq SystemDemo
		*/
	}
}
/*
Runtime:该类中并没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的
发现该类中还有非静态方法,说明该类肯定会提供方法获取本类对象,而且该方法是静态的,并返回值是本类类型
该方法是:
static Runtime getRuntime()
由这个特点可以看出该类使用了单例设计模式完成
*/
class RuntimeDemo
{
	public static void main(String[] args) throws Exception
	{
		Runtime r = Runtime.getRuntime();
		Process p = r.exec("c:\Windows\System32\notepad.exe SystemDemo.java");
		Thread.sleep(4000);
		p.destroy;
	}
}
/*
Date:
*/
import java.util.*;
import java.text.*;
class DateDemo
{
	public static void main(String[] args)
	{
		Date d = new Date();
		System.out.println(d);//打印的时间看不懂,希望有些格式
		//将模式封装到SimpleDateFormat对象中
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
		//调用format方法让模式格式化指定Date对象.
		String time = sdf.format(d);

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

	}
}
/*
Calendar:
*/
import java.util.*;
import java.text.*;
class CalendarDemo1
{
	public static void main(String[] args)
	{
		/*
		Date d = new Date();
		System.out.println(d);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
		String year = sdf.format(d);
		System.out.println(year);
		*/
		Calendar c = Calendar.getInstance();
		//sop(c.get(Calendar.YEAR)+"年"+c.get((Calendar.MONTH)+1)+"月"+c.get(Calendar.DAY_OF_MONTH)+"日");
		/*
		利用查表法更好的显示
		*/
		String[] mons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
		int index = c.get(Calendar.MONTH);
		sop(mons[index]);
	}
	public static void sop(obj)
	{
		System.out.println(obj);
	}
}
/*
练习:调整时间
*/
import java.util.*;
class CalendarDemo2
{
	public static void main(String[] args)
	{
		Calendar c = Calendar.getInstance();
		c.set(2014,10,9); //设置时间
		c.add(Calendar.YEAR,4); //给YEAR加4年
		printCalendar(c);
	}

	public static void printCalendar(Calendar c)
	{
		String[] mons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
		int index = c.get(Calendar.MONTH);
		sop(mons[index]);
	}
	public static void sop(obj)
	{
		System.out.println(obj);
	}
}
/*
Math类
*/
import java.util.*;
class MathDemo
{
	public static void main(String[] args)
	{
		double d = Math.ceil(12.34); //ceil返回大于指定数据的最小整数
		sop("d="+d);
		double d1 = Math.floor(12.34);//floor返回小于指定数据的最大整数
		sop("d1="+d1);
		long l = Math.round(12.34);//四舍五入
		sop("l="+l);
		double d2 = Math.pow(2,3); //2的3次幂
		sop("d2="+d2);
		Random r = new Random(); //util包中也为我们提供了随机数方法
		for(int x=0; x<10; x++)
		{
			double d = Math.random(); //返回大于等于0且小于1的伪随机数
			int d1 = (int)(Math.random()*10+1);  //返回1到10之间的伪随机数
			sop(d);
			sop(d1);
			int d2 = r.nextInt(10)+1; //省略了强转的麻烦,返回1到10之间的伪随机数
			sop(d2);
		}
	}
	public static void sop(obj)
	{
		System.out.println(obj);
	}
}


你可能感兴趣的:(java,Java其他对象)