复习System,Date,时间类,Math

第一部分 System类
一、概述
1、System是描述系统一些信息的类,类中的属性和方法都是静态的。不能被实例化,没有提供构造函数。
2、字段摘要
out:标准输出流。默认是控制台。
in:标准输入流。默认是键盘。

二、方法
1、获取系统的属性信息:
PropertiesgetProperties();
说明:
1)此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素。
2)该集合存储的都是字符串,没有泛型定义
2、获取指定属性信息:
String getProperty(Stringkey);
3、在系统内定义特有信息:
String setProperty(Stringkey,String value);
4、如何在jvm启动时,加载一些属性信息:
通过命令:java -D=可以设置特有的系统属性信息

       package SystemDemo;
import java.util.Properties;
public class PropertiesDemo {


    public static void main(String[] args) {
        Properties prop=System.getProperties();
        //如何在系统中自定义些信息?
        System.setProperty("mykey", "myvalue");
        /*
        //可不可以在jvw启动时,动态加载些属性信息
        String v=System.getProperty("haha");
        System.out.println("v="+v);

        //获取单个信息
        String value=System.getProperty("os.name");
        System.out.println(value);
        */
        //获取所有信息

        for (Object obj : prop.keySet()) {
            String value = (String)prop.get(obj);
            System.out.println(obj+"::"+value);
        }
    }

}

第二部分 Runtime类
一、概述
1、每个java应用程序都有一个Runtime类实例,使用应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,是由系统底层自己创建的。
2、该类中并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。查阅API文档发现,该类中还有非静态方法。说明该类肯定会提供了方法获取本来对象。而且该方法是静态的,并返回值类型是本来类型。
3、由以上特点可以看出该类使用了单例设计模式完成。

二、方法
1、获取本类对象
static RuntimegetRuntime();
2、在单独的进程中执行指定字符串命令
Processexec(String command);
3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束
void destroy();
示例:

       package runtime;

import java.io.IOException;

public class RuntimeDemo {
    public static void main(String[] args) throws IOException {
        Runtime r=Runtime.getRuntime();
        /*
        Process p=r.exec("E:\\KGMusic\\KuGou.exe");
        try {
            Thread.sleep(4000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        p.destroy();
        */
        Process p=r.exec("notepad.exe PropertiesDemo.java");

    }

}

第三部分 时间类
一、Date类
1、概述
Date类表示特定的瞬间,精确到毫秒。
java中的默认显示格式为:Mon Jun 10 22:35:21 CST2013
2、自定义格式
默认的格式不一定满足每个人的需求,那么就需要自定义格式化模式。因为Date类中的大部分方法已过时,所以只能找其子类来实现。子类DateFormat中有format方法可以实现,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式。
具体步骤:
1)创建Date对象
2)将时间模式封装到SimpleDateFormat对象中
3)调用format方法让格式化模式指定Date对象
示例:

     package date;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {
    public static void main(String[] args) {
        Date d= new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss");
        String a=sdf.format(d);
        System.out.println(a);
    }

}

二、Carendar类
1、概述:
1)Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。
2)Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。
2、方法:
2.1、基本获取时间
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
2.2、设置时间:
1)根据日历的规则,为给定的日历字段添加或减去指定的时间量:
void add(int field,int amount);
2)获取指定的日历字段对应的时间值:
int get(int field);
3)将给定日历字段对应的时间值设置为给定值:
void set(int field,int value);
设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值:
void set(int year,int month,int date);
示例:

       package date;

import java.util.Calendar;

public class CalendarDemo {
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();
        //c.add(Calendar.DAY_OF_MONTH, -7);
        c.set(2015, 4, 27);
        printCalendar(c);

    }
    public static void printCalendar(Calendar c){
        String[] month={"一月","二月","三月","四月",
                        "五月","六月","七月","八月",
                        "九月","十月","十一月","十二月"};
        String[] weeks = {
                "","星期日","星期一","星期二","星期三","星期四","星期五","星期六"
        };
        int index =c.get(Calendar.MONTH);
        int index1=c.get(Calendar.DAY_OF_WEEK);
        System.out.println(month[index]);
        System.out.println(c.get(Calendar.DAY_OF_MONTH));
        System.out.println(weeks[index1]);

    }

}

第四部分 Math类
一、概述
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。该类全为静态方法。

二、方法
1、doubleceil(double d);//返回大于指定数据的最小整数
2、doublefloor(double d);//返回小于指定数据的最大整数
3、double pow(doublea,double b);//返回a的b次方
4、long round(doubleb);//返回b四舍五入的值
5、doublerandom();//返回正号的double值,是一个大于等于0.0且小于1.0的随机数

三、Random类
这是java.util中的一个单独的类,该类对象用于获取随机数。与Math中的random方法是一样的,不过这个类有自身的方法,可以将相应的随机数强转为指定基本数据类型。
如:intnextInt(int n);//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值