System类
Runtime类
Math类
Date类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class SystemDemo {
public static void main(String[] args) {
Properties prop=System.getProperties();
//因为 Properties 是Hashtable的子类,也就是Map集合的一个子类对象
//那么可以通过map的方法取出集合中的元素.
//该集合中存储的都是字符串,没有泛型的定义
for(Object obj:prop.keySet()){
String value=(String)prop.get(obj);
System.out.println(obj+":"+value);
}
//如何在系统中自定义一些特有信息呢?
System.setProperty("maykey", "myvalue");
//获取指定属性的信息 //安装软件的过程中 下判断 系统的类型
String value=System.getProperty("os.name");
System.out.println(value);
//可以不可以在虚拟机启动的时候动态的加载一些信息呢?
String v=System.getProperty("haha");
System.out.println(v);//发现没有这个 key 对应的 value
//我们可以在启动虚拟机的时候 加入我们设置的自定义参数
//java 命令
//java -Dhaha=qqqqq SystemDemo 在运行的时候通过 -D 加入 属性
}
}
Runtime类
import java.io.IOException;
/**
* Runtime对象
* 该类并没有提供构造函数
* 说明不可以new 对象,那么会直接想到该类中的方法都是静态的
* 发现该类中还有非静态方法.
* 说明该类肯定提供了方法获取本类对象,而且该方法是静态,并返回值为本类对象.
*
* 又这个特点可以看出该类使用单例设计模式完成
* 该方法是 static Runtime getRuntime();
*
* 98:command -- cmd
*
*/
public class RuntimeDemo {
public static void main(String[] args) throws IOException, InterruptedException {
Runtime r=Runtime.getRuntime();
//使用 java 打开扫雷 QQ ,暴风影音, ....
//Process p= r.exec("c:\\winmin.exe"); //返回打开的一个本地进程
Process p= r.exec("notepad.exe E:\\workspace4\\exam\\src\\com\\itheima\\day18\\RuntimeDemo.java"); //返回打开的一个本地进程
Thread.sleep(4000l);
p.destroy(); //销毁 上面创建的本地进程
}
}
Math类
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Random;
public class MathDemo {
public static void main(String[] args) {
System.out.println("======util中的随机类==========");
method_Random();
MathDemo md=new MathDemo();
md.m1();
md.m2();
md.m3();
md.m4();
}
//给一个小数,保留两位小数
double f = 111231.5585;
public void m1() {
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* DecimalFormat转换最简便
*/
public void m2() {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
* String.format打印最简便
*/
public void m3() {
System.out.println(String.format("%.2f", f));
}
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
//java.util.Random
public static void method_Random(){
Random r=new Random();
for(int x=0;x<10;x++){
int d=r.nextInt(10)+1;//10(0-9)+1-->1-10
sop(d);
}
}
//java.lang.Math
public static void method_Math(){
double d=Math.ceil(-13.34); //返回大于这个数的最小整数
sop(d);
double d1=Math.floor(12.34);//返回小于这个数的最大整数.
sop(d1);
long l=Math.round(12.54); //四舍五入
sop(l);
double d2=Math.pow(2, 3); //a 的 3次幂
sop(d2);
for(int x=0;x<10;x++){
double d3=Math.random();
sop(d3);
}
System.out.println("=======1-10的随机数=====");
for(int x=0;x<10;x++){
int d3=(int)(Math.random()*10+1);//*10 (0-9)+1-->(1-10)
//下面的就是骰子 的随机数
//int d3=(int)(Math.random()*6+1);
sop(d3);
}
}
public static void sop(Object obj){
System.out.println(obj);
}
}
Date类
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date d=new Date();
System.out.println(d);
DateFormat df=new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss");
String temp=df.format(d);
System.out.println(temp);
Calendar c=Calendar.getInstance();
pringCalendar(c);
System.out.println("========重新设置时间=======");
//重新设置 时间的
Calendar cld=Calendar.getInstance();
cld.set(2012, 11, 23);
pringCalendar(cld);
System.out.println("========两天前=======");
Calendar c1=Calendar.getInstance();
c1.add(Calendar.DAY_OF_MONTH, -2);
pringCalendar(c1);
System.out.println("========两年后=======");
c1.add(Calendar.YEAR, 2);
pringCalendar(c1);
System.out.println("========获取 2014年2月的天数======");
sop("2014年2月有"+getTwoMethodDays(2014,2)+"天");
System.out.println("========获取昨天的现在的时刻======");
getYesterdayTime();
System.out.println("========获取两时间有效的天数===========");
sop(getYouxiaoDays());
}
public static int getYouxiaoDays(){
Calendar c=Calendar.getInstance();
c.set(2013, 0, 1);
c.add(Calendar.DAY_OF_MONTH, -1); //2012-12-12;
//pringCalendar(c);
//Calendar c1=Calendar.getInstance();
return c.get(Calendar.DAY_OF_YEAR);
}
//获取昨天的现在的时刻
public static void getYesterdayTime(){
Calendar c=Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, -1);
pringCalendar(c);
}
//获取任意年2月的天数
public static int getTwoMethodDays(int year,int month){
if(month<0 || month>11)
throw new RuntimeException("无效的月份异常");
Calendar c=Calendar.getInstance();
c.set(year, month, 1);// 表示的是3月1号
c.add(Calendar.DAY_OF_MONTH, -1);
return c.get(Calendar.DAY_OF_MONTH);
}
public static void pringCalendar(Calendar c){
int year=c.get(Calendar.YEAR);
sop(c.get(Calendar.YEAR)+"年");
//月份 可以采用 查表法 进行映射成 1月 String[] mons={"一月"....};
sop((c.get(Calendar.MONTH)+1)+"月");
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
//星期 也可以采用查表发 进行 映射
sop("星期"+c.get(Calendar.DAY_OF_WEEK));
sop("第"+c.get(Calendar.DAY_OF_WEEK_IN_MONTH)+"周");
}
public static void sop(Object obj){
System.out.println(obj);
}
}