一、其他对象
一、System类
一)概述:
System类中的方法和属性都是静态的,System类是描述系统一些信息的类,不可以实例化,也无构造函数。
in :标准输入流,默认是键盘。
out:标准输出流,默认是控制台。
二)方法:
1、获取系统的属性信息: Properties getProperties();
2、获取指定属性信息:String System.getProperty(String key);
3、在系统内定义特有信息: void System.setProperty(String key,String value);
示例1:
String s = getProperty("os.name");
System.out.println("os.name|:" + s);
System.setProperty("name----:","xixi");
System.out.println("-------------------------");
String v = System.getProperty("myName");
System.out.println("v = " + v);
Properties pop = System.getProperties();
for(Object obj : pop.keySet())
{
String value = (String)pop.get(obj);
out.println(obj + ":" + value);
}
一)理解:
1、该类并未提供构造函数:说明不可以new对象,那么会直接想到该类中的方法都是静态的。
2、该类中还有非静态方法:说明该类中肯定会提供方法获取该类对象,并且该方法是静态的,且返回值类型是该类类型。由这个特点可以看出该类使用了单例设计模式。
二)方法:
1、获取本类对象: static Runtime getRuntime();
2、在单独的进程中执行指定字符串命令:Process exec(String command):在单独的进程中执行指定的字符串命令。
这是一个很有用的方法。对于 exec(command) 形式的调用而言,其行为与调用 exec(command, null, null) 完全相同。
示例2:
class RuntimeDemo
{
public static void main(String[] args) throws IOException,InterruptedException
{
Runtime r=Runtime.getRuntime();
Process p=r.exec("D:\\duowan\\yy-5\\YY.exe");//启动
Thread.sleep(4000);//等待4秒
p.destroy();//杀掉子进程
}
}
一)Date类
1、格式化模式具体步骤:
1)创建Date对象。
2)将模式封装到SimpleDateFormat对象中。
3)调用format方法让模式格式化指定Date对象。
import java.util.*;
class DateDemo
{
public static void main(String[] args)
{
Date d=new Date();//创建打印的对象
System.out.println(d);//打印的时间看不懂.希望能有些格式
//想让打印的有年月日.这样看起来很好.方法是在Date类中另请参见中
SimpleDateFormat sdf=new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss");
//调用format方法让模式格式化指定的Date对象.
String time =sdf.format(d);
System.out.println(time);
}
}
二)Calendar类
1、设置时间:
1)为给定的日历字段添加或减去指定的时间值: ---> void add(int field,int amount);
2)获取指定的日历字段对应的时间值: ---> int get(int field);
3)将给定日历字段对应的时间值设置为给定值: ---> void set(int field,int value);
设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值: ---> void set(int year,int month,int date);
Calendar:日历类 在util包中
java.util 包抽象类,通过静态方法static Calendar getInstance();,返回本类实例对象
构造函数供子类使用。
获取方法
import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c=Calendar.getInstance();
//sop(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);
}
}
1、方法:
1)double ceil(double d) ---> 返回大于指定数据的最小整数。
2)double floor(double d) ---> 返回小于指定数据的最大整数。
3)double pow(double a,double b) ---> 返回a的b次方。
4)double/float round(double/float m) ---> 返回m四舍五入的值。
5)double random() ---> 返回正号的double值,是一个 0<=X<1.0 的随机数X。
示例5:
import java.util.*;
class MathDemo
{
public static void main(String[] args)
{
Random r=new Random();//util包中的Random类也有随机方法等
for(int x=0;x<10;x++)
{
//
int d=r.nextInt(1000);//随机数.util包中的Random类
//int d=(int)(Math.random()*1000); //math包中的随机方法
sop(d);
}
}
public static void show()
{
double d=Math.ceil(16.34);//ceil返回大于指定该数据的最小整数.
double d1=Math.floor(12.34);//floor返回小于指定数据的最大整数.
long l=Math.round(12.54);//四舍五入.
sop("d="+d);
sop("d1="+d1);
sop("l="+l);
int d2=(int)(Math.pow(2,3));//pow 2的3次幂
sop("d2="+d2);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
---------------------- ASP.Net+Android+IO开发S、 .Net培训、期待与您交流! ----------------------