------- android培训、java培训、期待与您交流! ----------
System类:
1)包含一些获取系统信息的描述的方法;
2)在 System 类提供的设施中,有标准输入、标准输出和错误输出流;
3)对外部定义的属性和环境变量的访问;加载文件和库的方法;
4)快速复制数组的一部分的实用方法
实践代码:
public class SystemDemo {
public static void main(String[] args) {
/**
* System.getProperties()返回的是Properties对象
* Properties是Hashtable的子类,也就是Map集合的一个子类对象
* 是以键值对的方式存储
* */
Properties prop = System.getProperties();
//定义特有的信息
System.setProperty("User", "Tom");
//获取指定属性信息
String value=System.getProperty("os.name");
System.out.println("value="+value);
//在JVM启动时,动态加载一些属性信息
String v=System.getProperty("Author");
System.out.println("v="+v);
//获取系统属性信息
for (Object obj:prop.keySet()) {
String val=prop.getProperty((String) obj);
System.out.println(obj+"::"+val);
}
}
}
在JVM启动时,动态加载一些属性信息:
测试截图:
Runtime类
1) 每个 Java 应用程序都有一个 Runtime 类实例
2) 使应用程序能够与其运行的环境相连接
3)可以通过 getRuntime 方法获取当前运行时
Runtime对象
该类并没有提供构造函数
说明不可以new对象,那么会直接想到该类中的方法都是静态的。
发现该类中还有非静态方法。
说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型
由这个特点可以看出该类使用了单例设计模式完成
实践代码:
public class RuntimeDemo
{
public static void main(String[] args)throws Exception
{
Runtime r=Runtime.getRuntime();
Process p=r.exec("notepad.exe RuntimeDemo.java");
//4秒后杀死该线程
Thread.sleep(4000);
p.destroy();
}
}
Math 类:
包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数
注意:Java数值的强制转换不会进行四舍五入
实践代码:
import java.util.*;
public class MathDemo
{
public static void main(String[] args)
{
// testRandom();
floatToInt();
}
//关于生成随机数
public static void testRandom()
{
//默认 大于等于 0.0 且小于 1.0 的伪随机
Random r=new Random();
for(int x=0;x<10;x++){
//生成1--10之间的随机数
int d=(int)(Math.random()*10+1);
sop(d);
}
}
//关于小数取整
public static void floatToInt()
{
//向上取整
double d=Math.ceil(16.34);
sop(d);
//向下取整
double d1=Math.floor(12.99);
sop(d1);
//四舍五入
Long d2=Math.round(1.53);
Long d3=Math.round(1.43);
sop(d2);
sop(d3);
//求 次幂
double d4=Math.pow(2,3);
sop(d4);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
练习:
import java.util.*;
/*
练习。给定一个小数。
保留该小数的后两位。
选作。可以考虑,保留时进行四舍五入。
*/
public class MathDemo2
{
public static void main(String[] args)
{
saveTwo(1.256,2,true);
}
/*
param d 传入的小数
param scale 需要保留的小数位
param isRound 是否是四舍五入
*/
public static void saveTwo(double d,int scale,boolean isRound)
{
double base=Math.pow(10,scale);
double num=isRound?Math.round(d*base)/base:(int)(d*base)/base;
sop("num:"+num);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}