几个系统类

1 System系统类

  • JVM虚拟机在启动的时候加载了一些系统的信息
  • System不能实例化,其内部的属性和方法都是静态的
  • out 系统输出,默认的控制台
  • in 系统输入,默认的是键盘
  • System.getproperties();返回的是Properties对象
  • properties是hashtable的子类,也是Map集合的子类对象
  • 那么可以通过map的方法取出该集合中的元素
  • 如何得到一些系统的信息

    1. 第一种方法

      Properties prop= System.getProperties();
      for(Object obj: prop.keySet())
      {
          String value=(String)prop.get(obj);
           System.out.println(obj+":"+value);
        }
      
    2. 更为简便的方法

      Properties prop= System.getProperties();
      prop.list(System.out);  
      
    3. 得到的系统信息

         -- listing properties --
      java.runtime.name=Java(TM) SE Runtime Environment
      sun.boot.library.path=C:\Program Files\Java\jre7\bin
      java.vm.version=24.45-b08
      java.vm.vendor=Oracle Corporation
      java.vendor.url=http://java.oracle.com/
      path.separator=;
      java.vm.name=Java HotSpot(TM) 64-Bit Server VM
      file.encoding.pkg=sun.io
      user.script=
      user.country=CN
      sun.java.launcher=SUN_STANDARD
      sun.os.patch.level=
      java.vm.specification.name=Java Virtual Machine Specification
      user.dir=D:\study\javastudy\andriod\test\7_20\...
      java.runtime.version=1.7.0_45-b18
      java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
      java.endorsed.dirs=C:\Program Files\Java\jre7\lib\endorsed
      os.arch=amd64
      java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\
      line.separator=         
      java.vm.specification.vendor=Oracle Corporation
      user.variant=
      os.name=Windows 8
      sun.jnu.encoding=GBK
      java.library.path=C:\Program Files\Java\jre7\bin;C:\WIN...
      java.specification.name=Java Platform API Specification
      java.class.version=51.0
      sun.management.compiler=HotSpot 64-Bit Tiered Compilers
      os.version=6.2
      user.home=C:\Users\Administrator
      user.timezone=
      java.awt.printerjob=sun.awt.windows.WPrinterJob
      file.encoding=GBK
      java.specification.version=1.7
      user.name=Administrator
      java.class.path=D:\study\javastudy\andriod\test\7_20\...
      java.vm.specification.version=1.7
      sun.arch.data.model=64
      java.home=C:\Program Files\Java\jre7
      sun.java.command=com.unityprima.test.systemlist
      java.specification.vendor=Oracle Corporation
      user.language=zh
      awt.toolkit=sun.awt.windows.WToolkit
      java.vm.info=mixed mode
      java.version=1.7.0_45
      java.ext.dirs=C:\Program Files\Java\jre7\lib\ext;C:...
      sun.boot.class.path=C:\Program Files\Java\jre7\lib\resour...
      java.vendor=Oracle Corporation
      file.separator=\
      java.vendor.url.bug=http://bugreport.sun.com/bugreport/
      sun.cpu.endian=little
      sun.io.unicode.encoding=UnicodeLittle
      sun.desktop=windows
      sun.cpu.isalist=amd64
      
  • 如何在系统中定义一些系统的信息

    • System.setProperties(key,value);设置指定键值的信息
  • 如何在系统中获取一些系统的信息
    • System.getProperties(“os.name”);返回操作系统的名称
    • System.getProperties(“user.language”);返回操作系统的语言信息
  • 安装软件设计的软件的时候先判断机器的配置信息
  • 在dos下也可以改变配置信息
    • java -Dhaha=pppp SystemDemo
    • -D表示修改配置信息,设置系统haha的属性为为pppp

2 Runtime类

  • Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接
  • 不能实例化,但是通过getRuntime() 得到Runtime的实例的引用
    Runtime r=Runtime.getRuntime();
    Process p=r.exec(path);
    可以打开任意目录的应用程序;
    p.destroy();
  • 一些函数
    • Runtime r=Runtime.getRuntime();
    • r.halt(int status)
      强行终止目前正在运行的 Java 虚拟机。
    • r.load(String filename)
      加载作为动态库的指定文件名。
    • r.maxMemory()
      返回 Java 虚拟机试图使用的最大内存量。
    • r.freeMemory() 查看虚拟机内存运行状况
    • totalMemory()
      返回 Java 虚拟机中的内存总量。

3 date 日期类

  • java.util.date
  • DateFormat 日期格式化类

    Date d= new Date();
    SimpleDateFormat adf= new SimpleDateFormat("yyyy年MM月dd日" hh:mm:ss);
    String time=adf.format(d);
    System.out.println(time);
    //得到结果2015年07月23日 10:42:08
    
  • SimpleDateFormat格式化
    日期格式化规则
  • 一些常用的函数
    • after(Date when) 测试此日期是否在指定日期之后
    • before(Date when) 测试此日期是否在指定日期之前。
    • compareTo(Date anotherDate) 比较两个日期的顺序
    • equals(Object obj) 比较两个日期的相等性。

4 Math 类

静态函数

  • 常用的一些静态方法
    • Math.PI π
    • Math.E e
    • Math.abs(s) 求绝对值
    • Math.ceil(s) 大于s的最小的整数
    • Math.floor(s) 小雨s的最大的整数
    • Math.round(s) 四舍五入
    • Math.pow(2,3) 2的3次方
  • 想要得到更多的方法,可以查阅文档java.lang.Math类

5 random类和Math.random()

random类

  • 它是一个伪随机数,对于所有机器产生的随机数来说都是有迹可循的
  • 相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。
  • Random r1 = new Random();
  • Random r1 = new Random(10);带参的构造函数带的是种子
    种子数只是随机算法的起源数字,和生成的随机数字的区间无关。
  • 一些方法
    • public boolean nextBoolean()表示产生随机的true和false
    • public double nextDouble() 产生一个区间为[0,1.0)的double型的数
    • public int nextInt(int n)产生一个[0,n)的随机数
    • public int nextInt()产生一个[0,1)的随机数
      Random r= new Random();
      int d= r.nextInt(n)+1; 产生一个[0,n]区间的整数

Math.random()

  • 对于一个随机数产生的范围,包含下边界,不包含上边界
    • Math.random() 它得到的数十伪随机数,默认产生的随机数是0.0到1.0之间
    • 要是想0到x之间 可以int d= Math.random()*x+1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值