黑马程序员—Java API(System类、Runtime类、Math类、Date类)

来源:互联网 发布:大学生网络责任感 编辑:程序博客网 时间:2024/04/24 03:47

------- android培训、java培训、期待与您交流! ----------

 

System:类中的属性和方法都是静态的。
 *  out:标准输出,默认是控制台。
 *  in:标准输入。默认是键盘。

 *long currentTimeMillis(); //返回当前时间毫秒值

*exit(); // 退出虚拟机

 *  获取系统属性信息。static Properties getProperties()  确定当前的系统属性。

并将这些信息存储到Properties集合中。

 

代码示例:
import java.util.Iterator;import java.util.Map;import java.util.Properties;import static java.lang.System.*;public class SystemDemo{public static void main(String[] args){//因为Properties是HashTable的子类,也就是Map集合的子类对象,可以通过Map的方法取出集合中的元素。//该集合中存储的都是字符串。没有泛型定义。Properties prop = System.getProperties();//如何在系统中定义一些特有信息呢?System.setProperty("MyKey", "MyValue");//获取系统所有的信息。for (Object obj : prop.keySet())sop(obj+"--"+prop.get(obj));//获取指定的系统信息。String info = System.getProperty("os.name");sop("os.name:"+info);//可不可以在jvm启动时,动态加载一些属性信息呢?String s = System.getProperty("itheima");sop(s);//可以在cmd命令窗口使用java命令格式为: (java -D 键名=值名 要运行的类)。}//打印功能public static void sop(Object obj){out.println(obj);}}

System.setProperty("myname","毕老师"); //给系统属性信息集添加具体的属性信息

//临时设置方式:运行jvm时,可以通过jvm的参数进行系统属性的临时设置,可以在java命令的后面加入–D<name>=<value> 用法:java –Dmyname=小明类名。

 

String name =System.getProperty("os.name");//获取指定属性的信息

 

//想要知道该系统是否是该软件所支持的系统中的一个。

Set<String> hs = new HashSet<String>();

hs.add("Windows XP");

hs.add("Windows 7");

if(hs.contains(name))

   System.out.println("可以支持");

else

   System.out.println("不支持");

 

Runtime类:
 *  该类中并没有提供构造函数,说明不可以new对象。会让人直接想到该类的方法都是静态的。
 *  发现该类中有非静态方法。说明该类肯定会提供方法获取本类对象,而且该方法是静态的,并且返回值类型是本类类型。
 *
 *  该方法是static Runtime getRuntime(); 返回与当前 Java 应用程序相关的运行时对象。
 *
 *  由这个特点可以看出该类使用了单例设计模式完成。

代码示例:

public class RuntimeDemo{public static void main(String[] args) throws Exception{Runtime r = Runtime.getRuntime();//在单独的进程中执行指定的字符串命令,打开QQ//Process pro = r.exec("C:\\Program Files\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");////进程停留10秒钟//Thread.sleep(10000);////杀掉子进程//pro.destroy();r.exec("notepad.exe D:\\java\\javaheima\\day18\\src\\day18\\SystemDemo.java");}}

 

 

Math类:

     用于数学运算的工具类,属性和行为都是静态的。该类是final不允许继承。

    static double ceil(double a) ; //返回大于指定数值的最小整数

   static double floor(double a) ; //返回小于指定数值的最大整数

   static long round(double a) ; //四舍五入成整数

   static double pow(double a, double b) ; //ab次幂

   static double random(); //返回0~1的伪随机数

代码示例:

import java.util.Random;public class MathDemo{public static void main(String[] args){sop(Math.E);sop(Math.PI);sop(Math.abs(-9));double d = Math.ceil(-5.33);//ceil方法的特征,返回大于指定参数的最小整数。sop(d);double d2 = Math.floor(-5.2);//和floor方法相反,返回小于指定参数的最大整数。sop(d2);double d3 = Math.round(5.5);//round方法返回最接近参数的整数,四舍五入。sop(d3);double d4 = Math.pow(3, 2);//pow方法,返回3的2次方的值。sop(d4);for (int i = 0; i < 20; i++){int d5 = (int) (Math.random() * 10 + 1);//random方法返回带正号的 double 随机数值,该值大于等于 0.0 且小于 1.0sop(d5);}Random r = new Random();//创建Random类的对象。使用它的nextInt方法可以获取随机整数。for (int i = 0; i < 10; i++){int result = r.nextInt(10)+1;//public int nextInt(int n) 参数必须为正数,0(包括)和 n(不包括)之间均匀分布的 int 值。sop(result);}}//打印功能public static void sop(Object obj){System.out.println(obj);}}


 

 

Date类:

日期对象和毫秒值之间的转换。

      1,日期对象转成毫秒值。Date类中的getTime方法。

      2,如何将获取到的毫秒值转成具体的日期呢?

            Date类中的setTime方法。也可以通过构造函数。

 

//日期对象转成毫秒值

            Date d = new Date();

            long time1 = d.getTime();

            long time2 = System.currentTimeMillis(); //毫秒值。

           

            //毫秒值转成具体的日期

            long time = 1322709921312l;

            Date d = new Date();

            d.setTime(time);

 

 

      将日期字符串转换成日期对象:使用的就是DateFormat方法中的  Dateparse(String source)

      */

      publicstatic void method() throws Exception {

            String str_time = "2011/10/25";

            DateFormat df = newSimpleDateFormat("yyyy/MM/dd"); //SimpleDateFormat作为可以指定用户自定义的格式来完成格式化。

            Date d = df.parse(str_time);

 

 

如果不需要使用特定的格式化风格,完全可以使用DateFormat类中的静态工厂方法获取具体的已经封装好风格的对象。getDateInstance();getDateTimeInstance();

      */

            Date d = new Date();

            DateFormat df =DateFormat.getDateInstance(DateFormat.LONG);

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

            String str_time = df.format(d);

 

      //将日期对象转换成字符串的方式:DateFormat类中的format方法。

          //创建日期格式对象。

            DateFormat df = new SimpleDateFormat(); //该对象的建立内部会封装一个默认的日期格式。11-12-1下午1:48

            //如果想要自定义日期格式的话。可使用SimpleDateFormat的构造函数。将具体的格式作为参数传入到构造函数中。如何表示日期中年的部分呢?可以必须要参与格式对象文档。

            df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");

            //调用DateFormat中的format方法。对已有的日期对象进行格式化。

            String str_time = df.format(d);

 

      }

代码示例:

import java.text.SimpleDateFormat;import java.util.Date;public class DateDemo{public static void main(String[] args){//创建Date对象Date d = new Date();//打印出来的时间没有比较人性化的格式。sop(d);//将时间模式封装到SimpleDateFormat对象中。SimpleDateFormat sd = new SimpleDateFormat("yyyy年-MM月-dd日-E-HH点-mm分-ss秒");//调用Format方法,让模式格式化指定的Date对象。String time = sd.format(d);sop(time);}//打印功能public static void sop(Object obj){System.out.println(obj);}}


 

------- android培训、java培训、期待与您交流! ----------
0 0
原创粉丝点击