1,System:
System :类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in,标准输入,键盘默认呢
描述系统一些信息。
获取系统属性信息:Properties getProperties();
import java.util.Properties;
public class SysTest {
public static void main(String[] args) {
Properties prop = System.getProperties();
// 因为Properties 是hashtable的子类,也就是Map集合的有一个子类对象
// 那么可以通过map的方法取出该集合中的元素。
// 该集合中存储的都是字符串,没有泛型定义。
//如何在系统中自定义系统信息。
System.setProperty("mykey", "myvalue");
String value=System.getProperty("os.name");
System.out.println("value="+value);
/*
*获取所有属性信息。
for (Object obj : prop.keySet()) {
String value = (String) prop.get(obj);
System.out.println(obj + "::" + value);
}*/
}
}
2,Runtime
没有构造函数,不能直接创建对象。会直接想到该类中的方法都是静态的。
但是,有方法摘要,方法都是非静态的。
对象通过方法来获取,而且该方法是静态的,并返回值类型是本类类型。getRuntime()返回与当前java应用程序相关的运行时对象。
该方法是static Runtime getRuntime().;
由这个特点可以看出单例设计模式。
import java.io.IOException;
public class RuntimeTest {
public static void main(String[] args) throws IOException, Exception {
Runtime r = Runtime.getRuntime();
Process p= r.exec("notepad.exe c:\\SysTest.java");
Thread.sleep(4000);
p.destroy();
}
}
3,Date
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d);// Wed Jul 24 10:35:51 CST 2013,打印的时间看不懂,希望有些格式
// 将模式封装到SimpleDateformat对象中。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E hh:mm:ss");
// 调用format方法让模式格式化指定对象。
String time = sdf.format(d);
System.out.println("time:" + time);// time:2013年07月24日 星期三 10:45:23
}
}
4,Calender
import java.util.Calendar;
public class CalenderTest {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println(c);
/*
* System.out.println(c.get(Calendar.YEAR) + "年" +
* (c.get(Calendar.MONTH) + 1) + "月" + (c.get(Calendar.DAY_OF_MONTH) +
* 1) + "日" + "星期" + (c.get(Calendar.WEEK_OF_MONTH) - 1) + " " +
* c.get(Calendar.HOUR) + "时" + c.get(Calendar.MINUTE) + "分" +
* c.get(Calendar.SECOND) + "秒");
*/
// 查表法
String[] month = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
"九月", "十月", "十一月", "十二月" };// 月份从0开始。
String[] week = { "", "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };// 星期天是第一天
System.out.println(c.get(Calendar.YEAR) + "年");
int index = c.get(Calendar.MONTH);
System.out.println(month[index] + "月");
int index2 = c.get(Calendar.WEEK_OF_MONTH);
System.out.println(week[index2]);
}
}
import java.util.Calendar;
/*
* 1,获取任意年的二月有多少天
* 思路:根据指定的年设置一个时间,c.set(year,2,1)//某一年的三月一日
* c.add(Calendar.DAY_OF-MONTH,-1);//三月一日往前推一天就是2月的最后一天
* 2,获取昨天现在的时刻
* c.add(Calendar.DAY_OF_MONTH,-1);
*/
public class CalenderTest {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, 4);//加4年
printCalendar(c);
}
public static void printCalendar(Calendar c){
String[] month = { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
"九月", "十月", "十一月", "十二月" };// 月份从0开始。
String[] week = { "", "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };// 星期天是第一天
System.out.println(c.get(Calendar.YEAR) + "年");
int index = c.get(Calendar.MONTH);
System.out.println(month[index] + "月");
int index2 = c.get(Calendar.WEEK_OF_MONTH);
System.out.println(week[index2]);
}
}
import java.util.Random;
//Math.random()和new java.util.Random方法完全相同
public class MathTest {
public static void main(String[] args) {
for (int x = 0; x < 10; x++) {
double d = Math.random();// 大于等于0.0且小于1.0
// printObj(d);
/*
* int num=(int)(Math.random()*10+1);//1-10
*
* printObj(num);
*/
Random r = new Random();
int n = r.nextInt(10);// 0-10,但是不包含10,两种方式,哪一种都可以。
printObj(n);
}
}
public static void show() {
// double d= Math.ceil(-16.3);//ceil返回大于指定数据的最小整数,返回-16
double d = Math.ceil(16.3);
double d1 = Math.floor(16.3);// floor返回小于指定数据的最大整数。
long l = Math.round(12.34);// 四舍五入
double d2 = Math.pow(2, 3);// 2的三次方
printObj(d);
printObj(d1);
printObj(l);
printObj(d2);
}
public static void printObj(Object obj) {
System.out.println(obj);
}
}