zoukankan      html  css  js  c++  java
  • Java基础---其他对象

    第一讲     System类

    一、概述

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

    2、字段摘要

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

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

    二、方法

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

            PropertiesgetProperties();

    说明:

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

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

    2、获取指定属性信息:

            String getProperty(Stringkey);

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

            String setProperty(Stringkey,String value);

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

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

    示例:

    [java] view plaincopy
     
    1. import java.util.*;  
    2. class SystemDemo   
    3. {  
    4.     public static void main(String[] args)   
    5.     {  
    6.         Properties p=System.getProperties();//获取当前的系统属性  
    7.         sop(p);  
    8.   
    9.         String value=System.getProperty("os.name");//获取指定键指示的系统属性  
    10.         sop("os.name="+value);  
    11.   
    12.         System.setProperty("wode","My_PC");//设置指定键指示的系统属性信息  
    13.         sop(p);  
    14.           
    15.         String s= System.getProperty("woshi");//当系统中没有该键值,返回null  
    16.         sop(s);  
    17.   
    18.     }  
    19.   
    20.     public static void sop(Object obj)  
    21.     {  
    22.         System.out.println(obj);  
    23.     }  
    24. }  

    第二讲     Runtime类

    一、概述

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

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

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

    二、方法

    1、获取本类对象

            static RuntimegetRuntime();

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

            Processexec(String command);

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

            void destroy();

    示例:

    [java] view plaincopy
     
    1. class RuntimeDemo   
    2. {  
    3.     public static void main(String[] args)throws Exception  
    4.     {  
    5.         Runtime r=Runtime.getRuntime();//获取本类对象  
    6.   
    7.         Process p=r.exec("notepad.exe");//执行记事本程序  
    8.         r.exec("notepad.exe  RuntimeDemo.java");//用记事本打开指定文件  
    9.   
    10.         Thread.sleep(3000);//让线程等待3秒  
    11.         p.destroy();//杀掉指定进程  
    12.     }  
    13. }  

    第三讲     时间类

    一、Date类

    1、概述

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

            java中的默认显示格式为:Mon Jun 10 22:35:21 CST2013

    2、自定义格式

            默认的格式不一定满足每个人的需求,那么就需要自定义格式化模式。因为Date类中的大部分方法已过时,所以只能找其子类来实现。子类DateFormat中有format方法可以实现,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式伤感的句子

    具体步骤:

            1)创建Date对象

            2)将时间模式封装到SimpleDateFormat对象中

            3)调用format方法让格式化模式指定Date对象

    代码如下:

    [java] view plaincopy
     
    1. import java.util.*;  
    2. import java.text.*;  
    3. class DateDemo   
    4. {  
    5.     public static void main(String[] args)   
    6.     {  
    7.         Date d=new Date();//创建Date对象  
    8.         //sop(d);  
    9.   
    10.         ////将模式封装到SimpleDateformat对象中。  
    11.         SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss");  
    12.         //调用format方法让模式格式化指定Date对象。  
    13.         String time=sdf.format(d);  
    14.         sop(time);  
    15.     }  
    16.   
    17.     public static void sop(Object ojb)  
    18.     {  
    19.         System.out.println(ojb);  
    20.     }  
    21. }  


    二、Carendar类

    1、概述:

            1)Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。

            2)Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。

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

    示例:

    [java] view plaincopy
     
    1. import java.util.*;  
    2. class  CalendarDemo  
    3. {  
    4.     public static void main(String[] args)   
    5.     {  
    6.         Calendar c=Calendar.getInstance();  
    7.           
    8.         sop(pattern(c));//显示今天日期和当前时间  
    9.           
    10.         c.add(Calendar.YEAR,3);//年份变为3年后  
    11.   
    12.         sop(pattern(c));//显示指定日期和时间  
    13.   
    14.     }  
    15.   
    16.     //获取指定日期和时间  
    17.     public static String pattern(Calendar c)  
    18.     {  
    19.         String s=year(c)+month(c)+day(c)+week(c)+" "+time(c);  
    20.         return s;  
    21.     }  
    22.       
    23.     //获取年份  
    24.     public static int year(Calendar c)  
    25.     {  
    26.         return c.get(Calendar.YEAR);  
    27.     }  
    28.     //获取月份  
    29.     public static String month(Calendar c)  
    30.     {  
    31.         String[] yue={"一月","二月","三月","四月",  
    32.                     "五月","六月","七月","八月",  
    33.                     "九月","十月","十一月","十二月"};  
    34.         return yue[c.get(Calendar.MONTH)];  
    35.     }  
    36.     //获取日期  
    37.     public static int day(Calendar c)  
    38.     {  
    39.         return c.get(Calendar.DAY_OF_MONTH);  
    40.     }  
    41.     //获取星期  
    42.     public static String week(Calendar c)  
    43.     {  
    44.         String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};  
    45.         return day[c.get(Calendar.DAY_OF_WEEK)];  
    46.     }  
    47.     //获取时间,格式为时:分:秒  
    48.     public static String time(Calendar c)  
    49.     {  
    50.         String s=c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);  
    51.         return s;  
    52.     }  
    53.   
    54.     //打印输出  
    55.     public static void sop(Object obj)  
    56.     {  
    57.         System.out.println(obj);  
    58.     }  
    59. }  

    小练习:

    [java] view plaincopy
     
    1. /* 
    2. 练习 
    3. 1、获取任意年的二月有多少天: 
    4.     思路:根据指定年设置一个时间就是  
    5.     c.set(year,2,1)//某一年的3月1日。 
    6.     c.add(Calenar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。 
    7.  
    8. 2、获取前一天的现在这个时刻 
    9.     思路:c.add(Calenar.DAY_OF_MONTH,-1); 
    10.  
    11. 3、计算有效上课天数,每周六日不上课,计算任意年从九月到十月的有效上课天数 
    12.     思路; 
    13.     1、根据指定年设定一个时间就是c.set(year,8,1)//某一年的9月1日 
    14.     2、定义一个计数器,判断指定时间是否是星期六或者星期日,不是则计数加1 
    15.     3、日期偏移量1天,直至判断到这个月的最后一天 
    16. */  
    17.   
    18. import java.util.*;  
    19.   
    20. class  OtherClassTest  
    21. {  
    22.     public static void main(String[] args)   
    23.     {  
    24.         //练习1测试  
    25.         sop("2012年二月份有"+whatDay(2012)+"天");  
    26.   
    27.         //练习2测试  
    28.         sop("昨天的现在这个时刻:"+lastNowTime());  
    29.   
    30.         //练习3测试  
    31.         sop("2013年9月到10月上了"+howDay(2013)+"天课");  
    32.     }  
    33.   
    34.     //练习1  
    35.     public static int whatDay(int year)  
    36.     {  
    37.         Calendar c=Calendar.getInstance();  
    38.         c.set(year,2,1);  
    39.         c.add(Calendar.DAY_OF_MONTH,-1);  
    40.         return c.get(Calendar.DAY_OF_MONTH);  
    41.     }  
    42.   
    43.     //练习2  
    44.     public static String lastNowTime()  
    45.     {  
    46.         Calendar c=Calendar.getInstance();  
    47.         c.add(Calendar.DAY_OF_MONTH,-1);  
    48.         return pattern(c);  
    49.     }  
    50.   
    51.     //练习3  
    52.     public static int howDay(int year)  
    53.     {  
    54.         Calendar c=Calendar.getInstance();  
    55.         c.set(year,8,1);  
    56.         int count=0;  
    57.         for (int x=c.get(Calendar.DAY_OF_MONTH); x<=30;x++ )  
    58.         {  
    59.             if(c.get(Calendar.DAY_OF_WEEK)!=1&&c.get(Calendar.DAY_OF_WEEK)!=7)  
    60.                 count++;  
    61.             c.add(Calendar.DAY_OF_MONTH,1);  
    62.         }  
    63.         return count;  
    64.     }  
    65.   
    66.     //获取指定日期和时间  
    67.     public static String pattern(Calendar c)  
    68.     {  
    69.         String s=year(c)+month(c)+day(c)+week(c)+" "+time(c);  
    70.         return s;  
    71.     }  
    72.       
    73.     //获取年份  
    74.     public static int year(Calendar c)  
    75.     {  
    76.         return c.get(Calendar.YEAR);  
    77.     }  
    78.     //获取月份  
    79.     public static String month(Calendar c)  
    80.     {  
    81.         String[] yue={"一月","二月","三月","四月",  
    82.                     "五月","六月","七月","八月",  
    83.                     "九月","十月","十一月","十二月"};  
    84.         return yue[c.get(Calendar.MONTH)];  
    85.     }  
    86.     //获取日期  
    87.     public static int day(Calendar c)  
    88.     {  
    89.         return c.get(Calendar.DAY_OF_MONTH);  
    90.     }  
    91.     //获取星期  
    92.     public static String week(Calendar c)  
    93.     {  
    94.         String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};  
    95.         return day[c.get(Calendar.DAY_OF_WEEK)];  
    96.     }  
    97.     //获取时间,格式为时:分:秒  
    98.     public static String time(Calendar c)  
    99.     {  
    100.         String s=c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);  
    101.         return s;  
    102.     }  
    103.   
    104.     //打印输出  
    105.     public static void sop(Object obj)  
    106.     {  
    107.         System.out.println(obj);  
    108.     }  
    109. }  

    第四讲     Math类

    一、概述

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

    二、方法

            1、doubleceil(double d);//返回大于指定数据的最小整数

            2、doublefloor(double d);//返回小于指定数据的最大整数

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

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

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

    三、Random类

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

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

    小练习:

    [java] view plaincopy
     
      1. /* 
      2. 练习:给定一个小数,保留该小数的后n位。 
      3.     1、先把给定小数乘以10的n次方,四舍五入保留整数部分 
      4.     2、再把该整数除以10的n次方 
      5. */  
      6. class MathTest   
      7. {  
      8.     public static void main(String[] args)   
      9.     {  
      10.           
      11.         double d=retention(13.6572,2);  
      12.   
      13.         System.out.println("d="+d);  
      14.     }  
      15.       
      16.     //保留小数位方法  
      17.     public static double retention(double d,int n)  
      18.     {  
      19.         double d1=d*Math.pow(10,n);//先将要保留的小数位变为整数  
      20.         long l=Math.round(d1);//将小数四舍五入  
      21.         return l/Math.pow(10,n);//返回保留了指定小数位的小数  
      22.     }  
      23. }  
  • 相关阅读:
    HTML DOM 12 表格排序
    HTML DOM 10 常用场景
    HTML DOM 10 插入节点
    HTML DOM 09 替换节点
    HTML DOM 08 删除节点
    HTML DOM 07 创建节点
    022 注释
    024 数字类型
    005 基于面向对象设计一个简单的游戏
    021 花式赋值
  • 原文地址:https://www.cnblogs.com/tiankong101/p/4227190.html
Copyright © 2011-2022 走看看