zoukankan      html  css  js  c++  java
  • 黑马程序员--java基础--其他对象

    第一讲     System类

    一、概述

    1、System是描述系统一些信息的类,类中的属性和方法都是静态的。不能被实例化,没有提供构造函数。

    2、字段摘要

           out:标准输出流。默认是控制台。

            in:标准输入流。默认是键盘。

     二、方法

    1、获取系统的属性信息:

            Properties  getProperties();

    说明:

            1)此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素。

             2)该集合存储的都是字符串,没有泛型定义

    2、获取指定属性信息:

            String getProperty(Stringkey);

    3、在系统内定义特有信息:

            String setProperty(Stringkey,String value);

    4、如何在jvm启动时,加载一些属性信息:

           通过命令:java -D<name>=<value>可以设置特有的系统属性信息

    package atheima;
    
    import java.util.Properties;
    
    public class SystemDemo {
        public static void main(String[] args) 
          {
            Properties p1=System.getProperties();//获取当前的系统属性  
            //如何在系统中自定义一些特有的信息呢?
            System.setProperty("mykey", "myvalue");
            //获取指定属性信息
            String value1=System.getProperty("os.name");
            System.out.println("value1="+value1);
            for(Object obj:p1.keySet())
            {
                String value=(String) p1.get(obj);
                System.out.println(obj+"::"+value);
            }
            
          }
    }

    第二讲     Runtime类

    一、概述

            1、每个java应用程序都有一个Runtime类实例,使用应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,是由系统底层自己创建的。

            2、该类中并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。查阅API文档发现,该类中还有非静态方法。说明该类肯定会提供了方法获取本来对象。而且该方法是静态的,并返回值类型是本类类型。   static RuntimegetRuntime();

            3、由以上特点可以看出该类使用了单例设计模式完成。

    二、方法

    1、获取本类对象

            static RuntimegetRuntime();

    2、在单独的进程中执行指定字符串命令

            Process   exec(String command);

    3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束

            void destroy();

    package atheima;
    
    import java.io.IOException;
    
    public class RuntimeDemo {
        public static void main(String[] args) throws Exception 
          {
            Runtime r1=Runtime.getRuntime();//获取本类对象 
            //Process p1=r1.exec("D:\暴风影音\KuGou2012\KuGou.exe");//执行酷狗音乐程序
            Process p1=r1.exec("notepad.exe  RuntimeDemo.java");//记事本打开指定文件 
            //Thread.sleep(4000);//等待4秒
            //p1.destroy();//杀死进程
            
          }
    }

    第三讲     时间类

    一、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 atheima;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateDemo {
        public static void main(String[] args) throws Exception 
          {
            Date d1=new Date();
            System.out.println(d1);//打印的时间看不懂,希望有些格式
            //将模式封装到SimpleDateFormat对象中
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh时:mm分:ss秒 E");
            //调用format方法让模式格式化指定Date对象。
            String time=sdf.format(d1);
            System.out.println("time="+time);
          }
    }

    二、Carendar类

    1、概述:

    1)Calendar是一个抽象类

            2)Calendar可以对年月日等时间进行获取。Calendar c1=Calendar.getInstance();//获得日历

    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 atheima;
    import java.util.Calendar;
    public class CalendarDemo2 {
        public static void main(String[] args)
          {
            Calendar c1=Calendar.getInstance();//获得日历
           //add(int field, int amount) 
            //根据日历的规则,为给定的日历字段添加或减去指定的时间量。
            //c1.add(Calendar.MONTH, 4);//月份加四个月
            c1.add(Calendar.DAY_OF_WEEK, -3);//天数减去3天
            printCalendar(c1);
          }
        public static void printCalendar(Calendar c)
        {
            String[]mon={"一月","二月","三月","四月","五月","六月","七月",
                    "八月","九月","十月","十一月","十二月"};
            String[]weeks={"","星期日","星期一","星期二","星期三","星期四",
                    "星期五","星期六"};
            int index=c.get(Calendar.MONTH);
            int Index1=c.get(Calendar.DAY_OF_WEEK);
            sop(c.get(Calendar.YEAR)+"年");//2015年        
            sop(mon[index]);//五月
            sop(weeks[Index1]);//星期六
            
        }
        public static void sop(Object obj)
        {
            System.out.println(obj);
        }
    }

    第四讲     Math类

    一、概述

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

    二、方法

            1、double ceil(double d);//返回大于指定数据的最小整数12.34---》13

            2、double  floor(double d);//返回小于指定数据的最大整数12.34----》12

            3、double pow(double  a,double b);//返回a的b次方

            4、long round(double  b);//返回b四舍五入的值

            5、double  random();//返回正号的double值,是一个大于等于0.0且小于1.0的随机数

    三、Random类

            这是java.util中的一个单独的类,该类对象用于获取随机数。与Math中的random方法是一样的,不过这个类有自身的方法,可以将相应的随机数强转为指定基本数据类型。

            如:intnextInt(int n);//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。

    package atheima;
    /* 
    练习:给定一个小数,保留该小数的后n位。 
        1、先把给定小数乘以10的n次方,四舍五入保留整数部分 
        2、再把该整数除以10的n次方 
    */  
    class MathTest   
    {  
       public static void main(String[] args)   
        {  
              
            double d=retention(13.6572,2);    
            System.out.println("d="+d);  
        }  
          
        //保留小数位方法  
       public static double retention(double d,int n)  
        {  
            double d1=d*Math.pow(10,n);//先将要保留的小数位变为整数  
            long l=Math.round(d1);//将小数四舍五入  
            return l/Math.pow(10,n);//返回保留了指定小数位的小数  
        }  
    }  
  • 相关阅读:
    KFC
    肯德基champs各个字母代表什么_百度知道
    《一席》更新至93—教育—优酷网,视频高清在线观看
    童启华:一个做包子的—在线播放—《一席》—教育—优酷网,视频高清在线观看
    甘其食_百度百科
    乡村基关闭北京上海全部门店 退回西南市场_网易财经
    出兑_百度百科
    美食广场
    架构师招聘-民生电子商务有限责任公司-北京招聘-智联招聘
    架构师招聘-民生电子商务有限责任公司-北京招聘-智联招聘
  • 原文地址:https://www.cnblogs.com/Hanxia/p/4541035.html
Copyright © 2011-2022 走看看