/**
* Runtime:没有构造方法摘要,说明该类不可以创建对象。
* 又发现还有非静态的方法。说明该类应该提供静态的返回该类对象的方
* 而且只有一个,说明Runtime类使用了单例设计模式。
* 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。也就是说可以根据应用程序来运行代码
*/
Runtime runtime=Runtime.getRuntime();
// execute: 执行。 xxx.exe
//Process :该实例可用来控制进程并获得相关信息
Process p=runtime.exec("notepad.exe");//在单独的进程中执行指定的字符串命令。
p.destroy();//杀掉子进程。
p.getInputStream(); //获取子进程的输入流。
/**
* Math类:提供了操作数学运算的方法。都是静态的。
* 常用的方法:
* ceil():返回大于参数的最小整数。
* floor():返回小于参数的最大整数。
* round():返回四舍五入的整数。
* pow(a,b):a的b次方。
*/
double d1 = Math.ceil(12.56);
double d2 = Math.floor(12.56);
double d3 = Math.round(12.46);
System.out.println(d1+" "+d2+" "+d3);
double d = Math.pow(10, 2);
System.out.println("d"+d);
Random r = new Random();//随机数
for (int i = 0; i < 10; i++) {
// double d = Math.ceil(Math.random()*10);
// double d = (int)(Math.random()*6+1);
// double d = (int)(r.nextDouble()*6+1);
int dd = r.nextInt(6)+1;
System.out.println(dd);
}
/**
* 将日期格式的字符串-->日期对象。
* 使用的是DateFormat类中的parse()方法。
* SimpleDateFormat 是java.text的类
*/
/*String date="2012年4月19日";
date="2017--3--11";
DateFormat dateFormat=DateFormat.getDateInstance(DateFormat.FULL);//这是本类默认的格式
dateFormat=new SimpleDateFormat("yyyy--MM--dd");//这是自定义格式
Date d=dateFormat.parse(date);
System.out.println(d);*/
/**
* 对日期对象进行格式化。
* 将日期对象-->日期格式的字符串。
* 使用的是DateFormat类中的format方法。
*/
Date date = new Date();
//获取日期格式对象。具体着默认的风格。 FULL LONG等可以指定风格。
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
System.out.println(dateFormat);
//如果风格是自定义的如何解决呢?
dateFormat = new SimpleDateFormat("yyyy--MM--dd");
String str_date = dateFormat.format(date);
System.out.println(str_date);
/**
* 日期对象和毫秒值之间的转换。
*
* 毫秒值-->日期对象 :
*1,通过Date对象的构造方法 new Date(timeMillis);
* 2,还可以通过setTime设置。
* 因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。
*
*
* 日期对象-->毫秒值:
*2,getTime方法。
* 因为可以通过具体的数值进行运算。
*
*
*/
long time = System.currentTimeMillis();//拿到当时系统时间的毫秒数
System.out.println(time);//1335671230671
Date date5 = new Date();//将当前日期和时间封装成Date对象。
System.out.println(date5);//Sun Apr 29 11:48:02 CST 2012
Date date6 = new Date(1335664696656l);//将指定毫秒值封装成Date对象。
System.out.println(date6);
class Calendars{
public void showDate(Calendar c){
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);
System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week));
}
public String getWeek(int i){
String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return weeks[i];
}
public void showDay(int year) {
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
c.add(Calendar.DAY_OF_MONTH, -1);
showDate(c);
}
}
Calendar c = Calendar.getInstance();
int year = 2012;
showDays(year);