Java基础---其他对象

                                          第一个类    System类
一、概述。
 System类是描述系统的类,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。此类中的方法和属性都是静态的,引用时用类名调用。
二、字段摘要。
        err:标准输入流。
        out:标准输出流。默认是控制台。
        in:标准输入流。默认是键盘。
三、方法摘要。
1、返回当前系统的属性。
        getProperties() 。
说明:
        1)该类的返回类型是 Properties,键值对。因为Properties是hashtable的子类,所以可以通过map的方法取出其中的元素
         2)该集合存储的都是字符串,没有泛型定义。
2、 获取指定键指示的系统属性。
        String getProperty(String key)
3、 设置指定键指示的系统属性
        String setProperty(String key, String value)

示例:

package 泛型;

import java.util.Properties;

/**
 * 确定当前的系统属性 返回值Propertitese getProperties() 

 * @author ZHANGYU
 *
 */
public class SystemTest {

    public static void main(String[] args){
         Properties p=System.getProperties();
         //因为Properties是hashtable的子类,所以可以通过map的方法取出其中的元素
         //该集合中存储的都是字符串类型的数据

         for(Object k:p.keySet()){   
             String s=(String)p.get(k);
             System.out.println(k+"::"+s);
         }

    }
}

                                          第二个类    Runtime类

一、概述。
1、每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。 应用程序不能创建自己的 Runtime 类实例。
2、该类并没有提供构造函数,说明不可以直接new对象,那么会直接想到该类的方法是静态方法。发现该类中还有非静态方法,说明该类肯定会提供方法来获取本类对象,而且该方法是静态的,并返回值类型是本类类型。
3、由这个特点可以看出该类使用了单例设计模式完成,保证对象的唯一性。
二、方法。
1、获取本类对象。
        Static Runtime getRuntime();
2、在单独的进程中执行指定字符串命令。
        Process exec(String command);
3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束。
        void destroy();
示例:

package 泛型;
/*
 * Runtime对象
 * 
 * 该类并没有提供构造函数,
 * 说明不可以直接new对象,那么会直接想到该类的方法是静态方法
 * 发现该类中还有非静态方法
 * 说明该类肯定会提供方法来获取本类对象,而且该方法是静态的,并返回值类型是本类类型
 * 由这个特点可以看出该类使用了单例设计模式完成,保证对象的唯一性
 * 该方法是:
 * Static Runtime getRuntime()
 * 
 */
public class RuntimeTest  {

    public static void main(String[] args) throws Exception{
        Runtime r=Runtime.getRuntime();
        Process p=r.exec("notepad.exe");//打开此软件
//      p.destroy();//杀掉子进程,也就是关闭进程。
    }
}

                                          第三个类   时间类

一、Date类
1、概述。
        此类表示特定的瞬间,精确到毫秒。
        时间的默认格式:Sun May 31 19:08:07 CST 2015。
2、自定义时间格式。
        Date的子类DateFormat有自定义格式的方法,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式。
示例:

package 泛型;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest {

    public static void main(String[] args){
        Date d=new Date();//创建对象
        System.out.println(d);//看不懂时间的格式
        //将模式封装到SimpleDateformat对象中
        SimpleDateFormat time=new SimpleDateFormat("yyyy年mm月dd日 hh:MM:ss:S");
        //调用format方法让模式格式化指定Date对象。
        String s=time.format(d);
        System.out.println(s);


    }
}

二、Calendar类。
1、概述。
        该类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
        该类还可以获取时间的相应的字段。
2、字段摘要。
        1)获取年份:Calendar.YEAR
        2)获取月份:Calendar.MONTH
        3)获取日期:Calendar.DAY_OF_MONTH
        4)获取星期:Calendar.DAY_OF_WEEK
        5)获取小时:Calendar.HOUR_OF_DAY
        6)获取分钟:Calendar.MINUTE
        7)获取秒数:Calendar.SECOND
3、方法。
        1)返回给定日历字段的值。
              get(int field)
        2)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
              add(int field, int amount)
示例:

package 泛型;

import java.util.Calendar;

public class CalendaTest {

    public static void main(String[] args){
        Calendar c=Calendar.getInstance();
        int time1=c.get(Calendar.DAY_OF_MONTH);//一月中的几号
        sop("time1  "+time1);
        int time2=c.get(Calendar.DAY_OF_YEAR);
        sop("time2  "+time2);
        int time3=c.get(Calendar.HOUR);
        sop("time3    "+time3);
        int time4=c.get(Calendar.HOUR_OF_DAY);
        sop("time4    "+time4);
        int time5=c.get(Calendar.JANUARY);//指示在格里高利历和罗马儒略历中一年中第一个月的 MONTH 字段值。
        sop("time5    "+time5);
        int time6=c.get(Calendar.YEAR);
        sop("time6    "+time6);
        int time7=c.get(Calendar.WEEK_OF_MONTH);
        sop("time7    "+time7);
        int time8=c.get(Calendar.MINUTE);
        sop("time8   "+time8);
        int time9=c.get(Calendar.MONTH);//月份是从零开始的,星期是从星期天开始的,可以使用查表法经行显示。
        sop("time9   "+time9);
        int time10=c.get(Calendar.WEDNESDAY);
        sop("time10   "+(time10+1));
        int time11=c.get(Calendar.WEEK_OF_MONTH);
        sop("time11     "+time11);
        c.add(Calendar.YEAR, 1);//年份加一
        sop(c.get(c.YEAR));
        c.add(Calendar.MONTH,1);//月份加一
        sop(c.get(c.MONTH)+1);
        c.set(2015, 2,1);//设置的是某一年的三月一日
        c.add(c.DAY_OF_MONTH,-1);
        sop(c.get(Calendar.DAY_OF_MONTH));

    }

    private static void sop(Object obj) {
        // TODO Auto-generated method stub
        System.out.println(obj);
    }
}

                                          第四个类   Math类
一、概述。
        该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
二、方法。
        1、double ceil(double d);//返回大于指定数据的最小整数
        2、double floor(double d);//返回小于指定数据的最大整数
        3、double pow(doublea,double b);//返回a的b次方
        4、long round(doubleb);//返回b四舍五入的值
     5、static double random() ;//返回返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

“`
package 泛型;

public class MathTest {

public static void main(String[] args){
    double d;
    d=Math.ceil(18.2);//返回大于指定数据的最小整数
    sop(d);
    d=Math.ceil(-18.2);
    sop(d);
    d=Math.floor(12.4);//返回小于指定数据的最大整数
    sop(d);
    d=Math.floor(-12.5);
    sop(d);
    d=Math.round(12.3);//四舍五入
    sop(d);
    d=Math.round(12.5);
    sop(d);
    d=Math.pow(2, 3);//幂数运算
    sop(d);
    d=Math.random();//产生一个伪随机数数字大于等于0.0小于1.0
    sop(d);
    d=(int)(Math.random()*10)+1;//产生1到10的数据
    sop((int)d);
    decimal();//保留二位小数。
}

private static void decimal() {
    // TODO Auto-generated method stub\
    double d=12.23454;   
    double d1=d*Math.pow(10,2);//先将要保留的小数位变为整数  
    long l=Math.round(d1);//将小数四舍五入  
    sop(l/Math.pow(10,2));//返回保留了指定小数位的小数  
}

private static void sop(Object obj) {
    // TODO Auto-generated method stub
    System.out.println(obj);
}

}

你可能感兴趣的:(笔记)