黑马程序员Java基础__其他对象

来源:互联网 发布:bootcamp网络出现问题 编辑:程序博客网 时间:2024/04/29 01:30
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------


一、其他对象


一、System类

一)概述:

System类中的方法和属性都是静态的,System类是描述系统一些信息的类,不可以实例化,也无构造函数。

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

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

二)方法:

1、获取系统的属性信息: Properties getProperties();


2、获取指定属性信息:String System.getProperty(String key);


3、在系统内定义特有信息:  void System.setProperty(String key,String value);


示例1:

    String s = getProperty("os.name");      System.out.println("os.name|:" + s);      System.setProperty("name----:","xixi");      System.out.println("-------------------------");      String v = System.getProperty("myName");      System.out.println("v = " + v);      Properties pop = System.getProperties();      for(Object obj : pop.keySet())      {          String value = (String)pop.get(obj);          out.println(obj + ":" + value);      } 



二、Runtime 类

一)理解:

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

2、该类中还有非静态方法:说明该类中肯定会提供方法获取该类对象,并且该方法是静态的,且返回值类型是该类类型。由这个特点可以看出该类使用了单例设计模式。

二)方法:

1、获取本类对象: static Runtime getRuntime();

2、在单独的进程中执行指定字符串命令:Process exec(String command):在单独的进程中执行指定的字符串命令。 

      这是一个很有用的方法。对于 exec(command) 形式的调用而言,其行为与调用 exec(command, null, null) 完全相同。 

示例2:

class RuntimeDemo    {    public static void main(String[] args) throws IOException,InterruptedException    {     Runtime r=Runtime.getRuntime();     Process p=r.exec("D:\\duowan\\yy-5\\YY.exe");//启动     Thread.sleep(4000);//等待4秒     p.destroy();//杀掉子进程      }   }  

三  、日期类

一)Date类


1、格式化模式具体步骤:

1)创建Date对象。
2)将模式封装到SimpleDateFormat对象中。
3)调用format方法让模式格式化指定Date对象。


示例3:

import java.util.*;   class  DateDemo   {    public static void main(String[] args)     {     Date d=new Date();//创建打印的对象     System.out.println(d);//打印的时间看不懂.希望能有些格式     //想让打印的有年月日.这样看起来很好.方法是在Date类中另请参见中       SimpleDateFormat sdf=new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss");     //调用format方法让模式格式化指定的Date对象.       String time =sdf.format(d);     System.out.println(time);    }   }  

二)Calendar类

1、设置时间:

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);


示例4:

Calendar:日历类 在util包中   java.util 包抽象类,通过静态方法static Calendar getInstance();,返回本类实例对象   构造函数供子类使用。         获取方法   import java.util.*;  import java.text.*;    class  CalendarDemo  {   public static void main(String[] args)    {    Calendar c=Calendar.getInstance();      //sop(c);      //查表法    String[] mons = {"一月","二月","三月","四月","五月","六月",                       "七月","八月","九月","十月","十一月","十二月"};    String[] weeks = {"","星期日","星期一","星期二","星期三",         "星期四","星期五","星期六"};    int index = c.get(Calendar.MONTH);//使用查表法获取大写的月份      int index1= c.get(Calendar.DAY_OF_WEEK);//使用查表法获取大写的星期数      sop(c.get(Calendar.YEAR)+"年");//打印年      sop(mons[index]);//打印月份      sop(c.get(Calendar.DAY_OF_MONTH)+"日");//打印日      sop(weeks[index1]);//打印星期.   }   public static void sop(Object obj)   {    System.out.println(obj);   }  } 

四、Math类

1、方法:

1)double ceil(double d)      --->   返回大于指定数据的最小整数。
2)double floor(double d)    --->   返回小于指定数据的最大整数。

3)double pow(double a,double b)         --->   返回a的b次方。
4)double/float round(double/float m)    --->   返回m四舍五入的值。

5)double random()    --->   返回正号的double值,是一个 0<=X<1.0 的随机数X。


示例5:

import java.util.*;  class MathDemo   {   public static void main(String[] args)    {    Random r=new Random();//util包中的Random类也有随机方法等    for(int x=0;x<10;x++)    {     //     int d=r.nextInt(1000);//随机数.util包中的Random类     //int d=(int)(Math.random()*1000);  //math包中的随机方法     sop(d);    }   }   public static void show()   {    double d=Math.ceil(16.34);//ceil返回大于指定该数据的最小整数.    double d1=Math.floor(12.34);//floor返回小于指定数据的最大整数.      long l=Math.round(12.54);//四舍五入.      sop("d="+d);    sop("d1="+d1);    sop("l="+l);      int d2=(int)(Math.pow(2,3));//pow   2的3次幂    sop("d2="+d2);   }   public static void sop(Object obj)   {    System.out.println(obj);   }  }  


---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
原创粉丝点击