一:System
1.介绍
System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
2.properties
获取系统属性信息:Properties getProperties()
因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
那么可以通过map的方法取出该集合中的元素。
该集合中存储都是字符串。没有泛型定义。
3.程序--获取所有属性信息
import java.util.Properties;
public class Test75 {
public static void main(String[] args) {
Properties pro=System.getProperties();
for(Object key:pro.keySet()){
String value=(String)pro.get(key);
System.out.println(key+":"+value);
}
}
}
4.运行程序结果
5.制定属性以及根据属性得到值
import java.util.Properties;
public class Test76 {
public static void main(String[] args) {
Properties pro=System.getProperties();
System.setProperty("hehe", "hhahaha");
String str1=System.getProperty("hehe");
System.out.println("str1="+str1);
String str2=pro.getProperty("kkk");
System.out.println("str2="+str2);
String str3=pro.getProperty("os.name");
System.out.println("str3="+str3);
}
}
6.运行结果
二:Runtime
1.介绍
应用程序与运行环境的交互。
Runtime对象
该类并没有提供构造函数。
说明不可以new对象。那么会直接想到该类中的方法都是静态的。
发现该类中还有非静态方法。
说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。
由这个特点可以看出该类使用了单例设计模式完成。
该方式是static Runtime getRuntime()
2.打开进程,然后关闭进程
//注意转义字符
import java.io.IOException;
public class Test77 {
public static void main(String[] args) throws Exception {
Runtime rt=Runtime.getRuntime();
Process pro=rt.exec("notepad E:\\java62\\demo1\\src\\Test66.java"); //注意转义字符
Thread.sleep(5000);
pro.destroy();
}
}
3.运行结果
5秒之后,进程关闭
三:Math
1.pow,random,Random
import java.util.Random; public class Test78 {
public static void main(String[] args) {
show();
}
private static void show() {
//pow
Double sum=Math.pow(2, 3);
System.out.println("sum="+sum);
//random
int d = (int)(Math.random()*10+1); //1~10的随机数
System.out.println("d="+d);
//延伸,Random类中也可以生成随机数
Random r=new Random();
int rd=r.nextInt(10);
System.out.println("rd="+rd);
}
}
2.运行结果
四:Date
1.日期打印
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test79 {
public static void main(String[] args) {
Date d=new Date();
/**
* 直接全部打印出来
*/
System.out.println("d="+d);
/**
* 将模式封装到SimpleDateformat对象中
*/
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String time=sdf.format(d);
System.out.println("time="+time); }
}
2.运行结果
3.Calemdar具体日期
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class Test80 { public static void main(String[] args) {
//打印yyyy年
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy");
String year1=sdf.format(d);
System.out.println("yar1="+year1);
//使用Calendar,包括年,月,星期
Calendar cal=Calendar.getInstance();
int year2=cal.get(Calendar.YEAR);
System.out.println("year2="+year2+"年");
int month2=cal.get(Calendar.MONTH);
System.out.println("month2="+(month2+1)+"月");//注意加1
int week2=cal.get(Calendar.DAY_OF_WEEK);
System.out.println("week2=星期"+week2);
//优化,查表法,更人性化
String[] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
String[] weeks = {"","星期日","星期一","星期二",
"星期三","星期四","星期五","星期六",};
int index1 = cal.get(Calendar.DAY_OF_WEEK);
System.out.println(cal.get(Calendar.YEAR)+"年");
System.out.println(mons[index1]);
System.out.println(cal.get(Calendar.DAY_OF_MONTH)+"日");
System.out.println(weeks[index1]);
}
}
4.运行结果
5.修改时间,并知道具体时间
import java.util.Calendar; public class Test81 { public static void main(String[] args) {
Calendar c = Calendar.getInstance();
/*
* 可以设置时间,年月日
*c.set(2012,2,23);
*/
c.add(Calendar.DAY_OF_MONTH,-1);
printCalendar(c);
}
public static void printCalendar(Calendar c)
{
String[] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
String[] weeks = {"","星期日","星期一","星期二",
"星期三","星期四","星期五","星期六",};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
sop(weeks[index1]);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
6.运行结果