zoukankan      html  css  js  c++  java
  • 22天学习java基础笔记之day21

    Day21 常见对象

    一、System

    1、特点

    不能实例化对象,提供的方法都是静态的。

    2System类中获取本地系统信息的方法

    系统属性信息:程序在运行时获取到Jvm以及所在操作系统的一些固有信息,获取了这些信息,能为后面的程序运行提供了数据。

    public static void systemMethodDemo(){

            //获取系统信息并存储到Properties中

            Properties p = System.getProperties();

            //properties是map集合的小弟,可以将其转成set集合获取其中的信息

            Set<String> set = p.stringPropertyNames();

            for (String string : set) {

                System.out.println(string+p.getProperty(string));

            }

            //获取指定名称的系统信息

            System.out.println(p.getProperty("os.name"));

    }

    获取不同系统中的换行符:-------->将其定义为一个常量!

    public class SystemDemo {

        private static final String LINE_SEPARATOR = System.getProperty("line.separator");

        public static void main(String[] args) {

            systemMethodDemo();

        }

        public static void systemMethodDemo(){

            System.out.println("hello"+LINE_SEPARATOR+"world");

        }

    }

    static long currentTimeMillis():获取当前时间,以毫秒为单位。

            static void exit(int status) :退出当前程序。

            static void gc():调用垃圾回收器。

            static Properties getProperties():获取当前系统属性

            static String getProperty(String key):根据关键字获取系统属性名称

            static String setProperty(String key, String value):设置属性的键和值。

    Properties

    properties集合中存储都是string类型的键和值,最好使用它自己的存储和取出的方法来完成元素的操作。

    常用方法:

            Properties getProperty(String key):返回指定的属性

            Object setProperty(String key,String value):设置属性的键和值

            void load(InputStream inStream) :加载输入流

            Set<String> stringPropertyNames() :返回属性键的集合。

    二、Runtime

            没有构造方法摘要,说明该类不可以创建对象,又发现还有非静态的方法,说明该类应该提供静态的返回该类对象的方法,而且只有一个,说明runtime类使用了单例设计模式

    1Runtime api查阅时,你看到了什么,想到了什么?

            我看到了exec方法返回的是一个进程,想到了系统中的可执行文件可以通过该方法启动一个程序。

            Runtime r=Runtime.getRuntime();

            r.exec("notepad.exe");//打开记事本程序

       //r.exec("baofengyinying.exe" e:\dianying\变形金刚);//使用暴风影音播放变形金刚电影。

    三、Math

     

    public static void main(String[] args) {

        double d = Math.ceil(12.34);

        System.out.println(d);//13.0

        double d1= Math.floor(12.34);

        System.out.println(d1);//12.0

        double d2 = Math.round(12.34);

        System.out.println(d2);//12.0

        double d3 = Math.round(12.56);

        System.out.println(d3);//13.0

    }

    1Math中的常见方法使用

    提供了操作数学元素的方法,都是静态的

    int abs(int a)返回整数的绝对值

    int max(int a, int b)返回两个整数的最大值

    double random()返回一个随机值(0--1之间)

    double sqrt(double a)返回一个数的平方根

    double ceil()返回大于参数的最小整数

    double floor():返回小于参数的最大整数

    double round():返回四舍五入的值。

    double pow(a,b):ab次方

    四、Date

    Date():将当前日期和时间封装成对象

    Date(long time):将指定毫秒值封装成Date对象。

    1、日期对和毫秒值之间的转换

    1. 毫秒值----->日期对象

              1.通过Date对象的构造方法new DatetimeMilles)

    Date d = new Date(122394272384947)

              2.还可以通过setTime方法设置

    Date d = new Date( );

    d.setTime(122394272384947);

    • 为什么要把毫秒值转成日期对象呢?

            因为你可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作

           

    1. 日期对象----->毫秒值long getTime()方法
    • 为什么要把日期对象转成毫秒值呢?

                    因为可以通过绝缘体的数值进行运算。

    2、对日期对象进行格式化

    将日期对象----->日期格式的字符串,使用的是DateFormat类中的format方法

    获取日期格式对象,具体默认的风格。FULLLONG等可以指定风格

    public static void dateFormatDemo(){

       Date d = new Date();

       //使用默认风格

       DateFormat df = DateFormat.getDateInstance();//获取DateFormat对象

       //使用指定风格

       df = DateFormat.getDateInstance(DateFormat.FULL);

       //使用指定风格,包含日期和时间

    df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);

       //使用自定义风格

       df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

         

       String str_date = df.format(d);//将日期对象----->日期格式的字符串

       System.out.println(str_date);

    }

    将日期格式的字符串----->日期对象,使用的是DateFormat类中的parse方法

    public static void dateFormatDemo1() throws ParseException{

       //日期字符串

       String str_date = "2012-8-1";

       //定义日期格式化对象

       DateFormat df = DateFormat.getDateInstance();

       Date date = df.parse(str_date);

       System.out.println(date);

    }

    自定义日期格式,使用SimpleDateFormat构造完成

    练习:2012/4/12和2012/6/2相差多少天?

    public class DateTest {

        public static void main(String[] args) throws ParseException {

            String str1 = "2012/4/12";

            String str2 = "2012/6/2";

            long day = getDay(str1, str2);

            System.out.println(day);

        }

       public static long getDay(String str1,String str2) throws ParseException{

          DateFormat df = new SimpleDateFormat("yyyy/MM/dd");

            Date d1 = df.parse(str1);

            Date d2 = df.parse(str2);

            long time1 = d1.getTime();

            long time2 = d2.getTime();

            long time = Math.abs(time1-time2)/1000/60/60/24;

            return time;

  • 相关阅读:
    MongoDB 创建数据库
    MongoDB
    MongoDB 概念解析
    window平台安装 MongoDB(二)
    MongoDB入门学习(1)
    解决DevExpress10.2.4版本在VS2012工具箱控件不显示的问题
    Aspose.Word 输出表格后空格字符丢失的解决方法
    ArcEngine 创建空间参考设置默认域
    SPATIALITE 各版本数据库差异
    WGS84投影的WKID说明
  • 原文地址:https://www.cnblogs.com/aohongzhu/p/12938748.html
Copyright © 2011-2022 走看看