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其他对象笔记)