1. System
描述系统一些信息。
Properties getProperties()
:获取系统属性信息。
System
:类中的方法和属性都是静态的
out
:标准输出,默认是控制台
in
:标准输入,默认是键盘
package Arrays;
import java.util.Properties;
public class StaticImp {
public static void main(String[] args) {
Properties prop = System.getProperties();
//因为Properties是Hashtable的子类,也就是Map集合的一个子类对象
//那么可以通过map的方法取出该集合中的元素
//该集合存储的都是字符串,没有泛型定义
for(Object obj : prop.keySet()){
String value = (String)prop.get(obj);
System.out.println(obj+".............."+value);
}
}
}
输出:
sun.desktop..............windows
awt.toolkit..............sun.awt.windows.WToolkit
java.specification.version..............10
file.encoding.pkg..............sun.io
sun.cpu.isalist..............amd64
sun.jnu.encoding..............GBK
java.class.path..............C:\Users\shh\IdeaProjects\untitled\out\production\untitled
//下面的省略
.
.
.
如何在系统中自定义一些特有的信息呢?
System.setProperty("mykey", "myvalue");
获取指定属性信息
String value = System.getProperty("os.name");
如何在jvm启动的时候(java命令行),加载一些属性信息呢?
java -D(key)=(value)
2. Runtime
- Runtime:没有构造函数方法摘要,说明该类不可以在该类之外创建对象
- 又发现还有非静态的方法。说明该类应该提供静态的返回该类对象的方法,而且只有一个
- 说明Runtime类使用了单例设计模式
package Arrays;
import java.io.IOException;
public class RuntimeDemo {
public static void main(String[] args) throws IOException, InterruptedException {
Runtime r = Runtime.getRuntime();//单例模式
//execute:执行; xxx.exe
Process p = r.exec("notepad.exe");
Thread.sleep(5000);
p.destroy();
}
}
3 Math
Math 提供了操作数学运算的方法,,都是静态的
常用方法:
ceil();
返回大于参数的最小整数
floor();
返回小于参数的最大整数
round();
返回四舍五入的整数
pow(a,b);
返回a的b次方
random();
返回一个double值为正号,大于等于0.0 ,小于1.0 。 返回的值是从该范围(大约)均匀分布而伪随机选择的。
package Arrays;
public class MathDemo {
public static void main(String[] args) {
double d1 = Math.ceil(12.56);
double d2 = Math.floor(12.56);
double d3 = Math.round(12.56);
double d4 = Math.pow(2,3);
System.out.println("d1="+d1); //输出d1=13.0
System.out.println("d2="+d2); //输出d2=12.0
System.out.println("d3="+d3); //输出d3=13.0
System.out.println("d4="+d4); //输出d4=8.0
for(int i=0; i<10; i++){
double d1 = Math.random();//0-1之间的数
double d2 = Math.ceil(Math.random()*10); //1-10之间的整数
System.out.println("d2="+d2);
}
/*输出
d2=6.0
d2=10.0
d2=7.0
d2=2.0
d2=7.0
d2=4.0
d2=1.0
d2=3.0
d2=8.0
d2=1.0
*/
}
}
4 Date
日期对象和毫秒值之间的转换:
毫秒值——>日期对象
- 通过Date对象的构造方法
new Date(timeMillis);
- 还可以通过
setTime
设置
日期对象——>毫秒值
getTime
方法
因为可以通过具体的数值进行运算
package Arrays;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
long time = System.currentTimeMillis();
Date date = new Date(time);
Date date2 = new Date(1561864226806L);
long timeMillis = date2.getTime();
System.out.println(date2);
System.out.println(timeMillis);
}
}