------- 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) ; //a的b次幂
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.0
sop(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("yyyy年MM月dd日 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);
}
}