JAVA学习第四十五课 — 其他对象API(一)
一、System类
1.
static long currentTimeMillis()
返回以毫秒为单位的当前时间。
实际上:当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。
long time = 1414069291407l;//long型 后面加l System.out.println(time);
2.
static void exit(int status)终止当前正在运行的 Java 虚拟机。
static void gc()运行垃圾回收器
3.重点
static
Properties
getProperties 确定当前的系统属性。
import java.util.Properties; import java.util.Set; public class Main { //获取当前操作系统的换行符 public static final String LINE_SEPARATOR = System.getProperty("line.separator"); public static void main(String[] args) { //获取系统属性信息,并存储到Properties集合中 //properties集合存储的都是String类型的键值对,包java.util.Hashtable<Object,Object> //最好使用自己的存储和取出方法来完成元素操作 /* Set<String> stringPropertyNames() 返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。 */ Properties pro = System.getProperties(); Set<String> set = pro.stringPropertyNames(); for (String string : set) { String value = pro.getProperty(string);//取键得值 System.out.println(string+"-:-"+value); } //给系统设置属性信息 System.setProperty("myname", "xxxxxx");//这些信息是全局,任何程序都可以调用 } }
二、Runtime类
在查看API文档的时,很清晰的看到,Runtime没有构造函数(说明无法创建对象),而方法摘要中却有非静态的方法,其中有一个静态的getRuntime()方法,说明Runtime类是利用了单例设计模式设计的。
import java.io.IOException; public class Main { public static void main(String[] args) throws IOException, InterruptedException { Runtime r = Runtime.getRuntime();//返回一个进程 //execute : 执行 xxxx.exe,调用本地一个程序,注意抛异常 //r.exec("notepad.exe");//这样写会先在当前路径下找,找不到然后会去pass路径下找 //指定路径 //r.exec("c:\\xxx\\LoL.exe");注意转移字符 r.exec("notepad.exe C:\\HelloWorld.java");//用XX程序解析XXX文件,注意文件要匹配 Process p = r.exec("notepad.exe"); Thread.sleep(1000);//显示一秒,杀掉,注意抛异常 p.destroy();// 杀掉子进程 } }
三、Math类
public final class Math
注意不能被继承
Math类涵盖众多数学函数,完全可以挑战所学,Math方法都是静态的
PI 圆的周长与直径之比 E即自然对数的底数 这两个不需定义直接
import java.io.IOException; import java.util.Random; public class Main { public static void main(String[] args){ double d1 = Math.ceil(11.51);//返回大于参数的最小整数 double d2 = Math.floor(11.51);//返回小于参数的最大整数 double d3 = Math.round(11.51);//返回四舍五入 System.out.println(d1); System.out.println(d2); System.out.println(d3); System.out.println(Math.max(4, 5)); System.out.println((int)Math.pow(2, 3));//返回a的b次方 for (int i = 0; i < 10; i++) { System.out.println((int)(Math.random()*10));//0-9随机数 //System.out.println(Math.floor(Math.random()*10)); } Random ran = new Random();//Random对象 //返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 for(int i = 0;i<10;i++){ //System.out.println((int)(ran.nextDouble()*6+1));//简写形式如下 int d = ran.nextInt(6)+1;//nextInt是Random中的方法 System.out.println(d); } } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。