zoukankan      html  css  js  c++  java
  • Java 其他对象的 API

    System 类 (java.lang 包下)

    1. 该类中的方法和属性都是静态的.
    2. 常见方法
    // 1, 获取当前时间的毫秒值
          long currentTimeMillis();
    
    // 2, 获取系统的属性信息
          Properties getProperties();
    
    
    // 备注: Properties 类存储的都是 String 类型的键和值
    //      最好使用它自己的存储和取出方法来操作其中的元素
    
    // 示例:
        Properties prop = System.getProperties();
    
        // 使用 Properties 特有方法获取该集合中键组成的 Set 集合
        Set<String> nameSet = prop.stringPropertyNames();
    
        for(String name : nameSet){
            String value = prop.getProperty(name);
    
            System.out.println(name+":"+value);
        }
    
    // 2.1 根据指定的键获取相应的属性. 例如获取系统的行分隔符:
        System.getProperty("line.separator");
    
    // 2.2 自己设置系统信息, 返回系统属性以前的值, 如果以前没有值, 返回 null
        System.setProperty(String key, String value);
    
    

    RunTime 类

    • 如果一个类没有构造方法摘要,那么

      • 说明一: 这个类不能创建对象
      • 说明二: 这个类的方法都是静态的.
      • 说明三: 如果这个类没有提供构造函数, 而这个类又具备一般非静态方法
        那么这个类百分之百至少有一个方法是静态的, 并返回本类对象.而这个类采用了单例设计模式.
    • Runtime 类采用了单例设计模式

    Math 类

    • 提供了操作数学运算的方法,都是静态的
    • 常用方法:
    1. ceil(); : 返回大于参数的最小整数
    
    2. floor(); : 返回小于参数的最大整数
    
    3. pow(a,b); : a 的 b 次方
    
    4. double random(); // 返回一个伪随机数, 该值大于等于 0 且小于 1.0
    
    

    Date 类 (java.util 包中)

    1. 构造函数:
    // 将当前日期和时间封装成 Date 对象
        Date date = new Date();
        System.out.println(date);  //Sun Sep 10 14:34:04 CST 2017
    
    // 将指定毫秒值封装成 Date 对象
        Date date1 = new Date(1505025276983l); // 毫秒值末尾不是数字1,而是表示 float 类型的字母 l
        System.out.println(date1);  //Sun Sep 10 14:34:36 CST 2017
    
    
    1. 日期对象和毫秒值之间的转换
      1. 毫秒值转换为日期对象:
        1. 通过 Date 对象的构造方法: new Date(timeMillis);
        2. 也可以通过 setTime(long time); 设置
        3. 转换原因: 为了可以通过 Date 对象的方法对该日期中的各个字段(年月日等)进行操作
      2. 日期对象转换为毫秒值
        1. getTime() 方法
        2. 转换原因: 为了可以通过具体的数值进行日期运算

    DateFormat 类 (java.text 包下)

    • 用来格式化和解析日期字符串
    • 是抽象类, 不能直接实例化. 获取日期实例可以通过: DateFormat.getDateInstance();
    • 日期对象和日期格式的字符串之间转换:
    // 日期对象转换为日期格式的字符串
        // 获取当前日期
        Date date = new Date();
    
        // 通过静态工厂获取 DateFormat 对象, 即日期格式对象, 具备着默认的风格
        DateFormat dateFormat = DateFormat.getDateInstance();
    
        // 也可以使用 FULL, LONG, SHORT 等指定风格
        DateFormat dateFormat1 = DateFormat.getDateInstance(DateFormat.FULL);
    
        // 可以使用 DateFormat 的子类 SimpleDateFormat 来自定义风格
        DateFormat dateFormat2 = new SimpleDateFormat("yyyy---MM---dd");
    
    
        // 调用 format() 方法, 格式化日期
        String str_date = dateFormat.format(date);
        String str_date1 = dateFormat1.format(date);
        String str_date2 = dateFormat2.format(date);
    
        System.out.println(str_date); // 输出结果: Sep 10, 2017
    
        System.out.println(str_date1); // 输出结果: Sunday, September 10, 2017
    
        System.out.println(str_date2); // 输出结果: 2017---09---10
    
    // 日期格式的字符串转换为日期对象
        使用 DateFormat 类中的 parse() 方法, 注意有 ParseException 需要抛出
    
        String str_date = "2012-4-23";
    
        // 解析任意模式日期字符串
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    
        Date date = dateFormat.parse(str_date); // 输出结果: 2012-4-23
    

    Calendar 类 (java.util 包中)

    • 用来实现日期和时间字段之间转换
    • 是抽象类, 不能直接实例化. 获取日历实例可以通过: Calendar.getInstance()
    // 获取任意 Calendar 对象的年月日
    public static void showDate(Calendar c){
    
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH); // 月分从 0 开始, 因此求出的月份 +1 为实际月份
            int day = c.get(Calendar.DAY_OF_MONTH);
    
            System.out.println(year+"年"+month+"月"+day+"日");
    }
    
    public static void main(String[] args){
    
        // 获取 Calendar 对象
        Calendar c = Calendar.getInstance();
    
        // 设置时间
        c.set(2016,11,3);
    
        // 年月日的增加或减少
        c.add(Calendar.MONTH,2);
    
        showDate(c);
    
    }
    


    _参考资料_ - [JavaSE 基础视频(毕向东)](https://www.bilibili.com/video/av3124795/index_11.html#page=1) - [JDK 1.6 中文文档](http://tool.oschina.net/apidocs/apidoc?api=jdk-zh)
  • 相关阅读:
    Java1.4从BIO模型发展到NIO模型
    Java Socket TCP 套接字超时
    浅谈 Java Socket 构造函数参数 backlog
    Java Socket 的BIO模型(以TCP为例)
    TCP三次握手和四次挥手与Java Socket
    TCP报文格式
    Windows安装Wireshark实现127.0.0.1抓包
    NIO入门之多路复用选择器Selector
    晚安西南-----拆装死绳传感器
    晚安西南-----螺扶与拖压
  • 原文地址:https://www.cnblogs.com/linkworld/p/7501278.html
Copyright © 2011-2022 走看看