黑马程序员---其他对象

来源:互联网 发布:java学生信息管理系统 编辑:程序博客网 时间:2024/06/10 06:43
-----------android培训java培训、java学习型技术博客、期待与您交流!---------



System对象

      

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

 

      字段摘要


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


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

 

      方法


            1.   static  Properties  getProperties()            获取系统属性信息


                  因为Properties是HashTable,也就是Map集合的一个子类对象,那么可以通过Map集合中的方法取出该集合中的元素。


                  该集合存储的都是字符串,没有泛型限定。


            2.   static  String  getProperty(String  key)            获取指定键指示的系统属性。


                  例:String value = System.getProperty(“os.name”);            //获取系统名


            3.   static  String  setProperty(String  key , String  value)            设置指定的系统属性。

 

      在JVM启动时,动态的加载一些属性信息


            在DOS命令行中: java –DV = 123 SystemDemo        //可以设置特有的系统属性信息


                                       其中 SystemDemo是要被设置的程序。

 

      System类中方法演示

/*演示System类中的方法1.static Properties getProperties();//获取系统属性信息2.static String getProperty(String key);//获取指定键指示的系统属性。例:String value = System.getProperty(“os.name”);//获取系统名3.static String setProperty(String key, String value);//设置指定键指示的系统属性。*/import java.util.*;class SystemDemo{public static void main(String[] args) {//static String getProperty(String key);//获取指定键指示的系统属性。//获取系统名String osName = System.getProperty("os.name");//输出系统名sop("系统名:"+osName);sop("--------我是华丽丽的分隔线-------");//static String setProperty(String key, String value);//设置指定键指示的系统属性。System.setProperty("myKey","myValue");//看看我们自己设置的系统属性是否出现在了系统属性中//static Properties getProperties();/获取系统属性信息Properties prop = System.getProperties();//输出系统信息sop(prop);}//输出方法public static void sop(Object obj){System.out.println(obj);}}


            运行结果



       


Runtime对象


      该类中并没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的。


            但发现该类中还有非静态方法,说明该类中肯定会提供方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。

      

            由以上特点可以看出,该类使用了单例设计模式完成,保证了对象的唯一性。

 

      Rentime类的常见方法


            1.   static Runtime getRuntime()            Runtime类提供的方法,用来获取本类对象。


            2.   Process exec(String command)            打开一个exe进程


            3.   Process类中的方法 abstract  void destroy()            杀掉子进程方法,可以将exec开启的进程结束

 

      Runntime类中方法示例

/*演示Runtime类中方法1.static Runtime getRuntime()://Runtime类提供的方法,用来获取本类对象。2.Process exec(String command);//打开一个exe进程3.Process类中的方法 abstract  void destroy();//杀掉子进程方法,可以将exec开启的进程结束*/class RuntimeDemo{public static void main(String[] args) throws Exception{//获取Runtime类的实例Runtime r = Runtime.getRuntime();//执行笔记本程序Process p=r.exec("notepad.exe");  //用笔记本打开指定文件 r.exec("notepad.exe 123.txt");//让线程睡一会儿Thread.sleep(2000);//关闭子进程p.destroy();}}


Date类

      

      Date类表示特定的瞬间,精确到毫秒。


      java中的默认显示格式为:Tue Jun 16 21:50:15 CST 2015

 

      默认的格式不能满足所有人的要求,那么就需要自定义格式化模式。


            因为Date类中的大部分方法已过时,所以只能找其子类来实现。DateFormat是Date的子类,但这个类中的方法都是抽象的,

           

            所以创建它的子类也就是SimpleDateFromat的对象来调用,并通过SimpleDateFromat类的构造方法传入描述日期和时间模式的格式,


                  格式要去看API。


            其实在DataFormat类中有可以实现自定义模式的方法,format 但是没有办法创建DataFormat对象来调用这个方法,所以才需要子类对象来调用。

 

            注:DataFormat及其子类对象是java.text包中的类,所以要记得导包

 

      下面来根据代码来学习Date对象如何使用

/*Data类自定义时间格式示例*/import java.util.*;  import java.text.*; class DateDemo   {  public static void main(String[] args)   {  //创建Date对象Date d=new Date();  //先输出默认时间模式sop("默认时间模式:"+d);      //通过查看API中SimpleDateFormat类中的时间模式我们来定义//2015年6月16日 星期二 22:03:00SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss");  //调用format方法,将时间按照我们定义的转成字符串 String time=sdf.format(d);  //输出sop(time);  }      //输出方法 public static void sop(Object ojb)  {  System.out.println(ojb);  }  }  


            运行结果



                                              

Calendar对象


      Calendar是一个抽象类,日历的意思

      

      方法


            1.   static  Calendar  getInstance()            使用默认时区和语言环境获得一个日历


            2.   void  set(int  year , int  month , int  date)            设置日历


                  例:c.set(2017 , 3 , 18);           //月份这里写的3月显示的会是4月,因为计算机上月份计数是从0开始的。


            3.   abstract  void add(int  field , int  amount)            根据日历的规则,为给定的日历字段添加或减去指定的时间量。

 

      Calender类中方法示例

/*Calendar类中方法示例1.static Calendar getInstance()使用默认时区和语言环境获得一个日历2.void set(int year, int month, int date)设置日历3.abstract  void add(int field, int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。*/import java.util.*;class  CalendarDemo{public static void main(String[] args){//1.static Calendar getInstance();//使用默认时区和语言环境获得一个日历Calendar c = Calendar.getInstance();//调用获取时间和日期方法,并输出sop("当前日历:"+getTime(c));//2.void set(int year, int month, int date);//设置日历//将时间设置为2012,10,15c.set(2012,10,15);//输出设置之后的日历sop("自定义日历:"+getTime(c));//abstract  void add(int field, int amount);//根据日历的规则,为给定的日历字段添加或减去指定的时间量。//给年减去10年c.add(Calendar.YEAR,-10);//输出设置之后的日历sop("年数减10的日历:"+getTime(c));}//获取时间和日期的方法     public static String getTime(Calendar c)      {  //调用获取年,月,日,星期的方法        String s=year(c)+month(c)+day(c)+"日"+week(c);          return s;      }            //获取年份      public static int year(Calendar c)      {  //用get方法获取年        return c.get(Calendar.YEAR);      }      //获取月份      public static String month(Calendar c)      {  //将月份作为元素存入集合中        String[] yue={"","一月","二月","三月","四月",                      "五月","六月","七月","八月",                      "九月","十月","十一月","十二月"}; //用get方法获取月数,再作为角标数,去找集合中对应的月份        return yue[c.get(Calendar.MONTH)];      }  //获取日期      public static int day(Calendar c)      {  //直接返回这个月的第几天即可        return c.get(Calendar.DAY_OF_MONTH);      }      //获取星期      public static String week(Calendar c)      {  //将星期作为元素存入集合中        String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};  //用get方法获取星期数,再作为角标,去集合中找对应的星期        return day[c.get(Calendar.DAY_OF_WEEK)];      }      //打印方法public static void sop(Object obj){System.out.println(obj);}}


         运行结果



 


Math类

      

      执行基本数学运算方法,该类全为静态方法,所以是工具类。

 

      方法


            1.   static  double  ceil(double  a)            返回最小double值,该值大于参数并等于某个整数


                  例: double  d = Math.ceil(17.85);           //返回18。如果参数为-17.85 返回-17


            2.   static  double  floor(double  a)            返回最大double值,该值小于等于参数,并等于某个整数


                  例: double  d = Math.floor(18.24);         //返回18。如果参数为-18.24 返回-19


            3.   static int round (double a)            四舍五入


            4.   static  double  pow(double  a , double  b)            a的b次幂


            5.   static double random()            返回一个伪随机数,这个数大于等于0 小于1  0<=x<1。然后可以通过强制转换,获得int型,方便使用


                  为什么是伪随机数呢?

                       

                        因为这个数是底层算法算出来的,算的足够多就会找到规律。


                  java.util 中的Random类,使用int  nextInt(int  x)方法获取随机数,可以省去强制转换


                        例:Random  r = new  Random();


                              for(int  x=0 ; x<10 ; x++) {


                                    int  i = r.nextInt(10)+1;


                              }


                        得到大于等于1,小于11的伪随机数,出来的数就会是1.2.3……10之中的一个了。

 

 



谢谢大家观看~!

-----------android培训java培训、java学习型技术博客、期待与您交流!---------


0 0