----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
其它常用类
(一)System类
1,该类没有构造函数,那么说明该类是静态的(类中的方法和属性都是静态的)
2,常见方法:
(1) long currentTimeMillis();获取当前时间的毫秒值
我们可以根据该方法获取一段程序运行的时间
(2) 获取系统中的属性:static Properties getProperties()
由此,我们可以看出获取到的属性是存储到Properties集合中,而该集合是Map集合的子类,那么也就意味着要想取出该集合中的元素就必须要通过Set集合。而Properties集合中存储都是String类型的键和值,最好使用它自己的存储和取出的方法来完成元素的操作。如下述代码:
Properties prop=System.getProperties();//获取系统中的元素
Set<String>nameSet=prop.stringPropertyNames();//想要取出集合中的元素,就要将Map转成Set
for(Stringname:nameSet){//遍历Set集合
Stringvalue=prop.getProperty(name);//根据对应的键获取对应的值
System.out.println(name+"::"+value);//打印键和值
}
(3) 换行:line.separator 行分隔符
我们可以根据需要,在指定的字符串后面加上指定的全局常量,这样有利于提高阅读性,和多次重复使用:
private static final StringLINE_SEPARATOR=System.getProperty("line.separator");
(二)Runtime类:
1,特点:该类没有构造方法摘要的就意味着这个方法不能创建对象(构造函数被私有化了)
2,如果一个类中没有构造方法,就意味着:
(1)没有构造方法摘要,说明该类不可以创建对象(构造函数被私有化了)。
(2)如果一个类中没有构造方法,那么我们直观的想法是这个类都是静态的
(3)如果一个类没有提供构造函数,而有非静态的方法,说明该类至少提供一个静态的返回该类对象的方法(如果仅有一个静态的返回该列对象的方法,则说明该类是单例)
注意:Runtime类使用了单例设计模式
3,常用方法:
(1) Process exec(String command) :执行字符串中的内容(如果提示IO异常,那么说明,该执行程序先到当前路径下进行查找,没有找到,又到path路径下进行查找,都没有找到就报错。此时解决的方式就是你可以把路径设置成为绝对路径)
(三)Math类:
Math:提供的操作数学运算的方法,都是静态的
常用方法:
(1)cell():返回大于参数的最小整数
(2)floor():返回小于参数的最大整数
(3)round():返回四舍五入的整数
(4)pow(a,b):a的b次方
(四)Date类:
1,在计算机中:月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。
2,常见方法:
(1)日期对象和毫秒值之间的转换:
1,通过Date对象的构造方法new Date(timeMillis);
2,还可以通过setTime设置
理由:因为可以通过Date对象的方法对该日期中的各个字段(年月日)进行操作。
(2)日期对象-->毫秒值
1,getTime方法(因为可以通过具体的数值进行运算。)
案例操作:
(1)将日期对象-->日期格式的字符串,使用的是DateFormat类中的format方法
Date date=new Date();
//获取日期格式对象,具备着默认的风格 FULL LONG可以指定风格
DateFormatdateFormat=DateFormat.getDateInstance(DateFormat.FULL);//获取日期实例的工厂
Stringstr_date=dateFormat.format(date);
System.out.println(str_date);//2013-4-3 //2013年4月3日星期三
(2)将日期格式的字符串-->日期对象:使用的是DateFormat类中的parse方法
String str_date="2012-4-19";
str_date="2012---8---17";//自定义格式转成日期对象
DateFormatdateFormat=DateFormat.getDateInstance();
dateFormat=newSimpleDateFormat("yyy---MM--dd");
try{
Datedate = dateFormat.parse(str_date);
System.out.println(date);
}catch (ParseException e) {
e.printStackTrace();
}
(3)自定义格式:
Datedate=new Date();
DateFormatdateFormat=DateFormat.getDateInstance(DateFormat.LONG);
dateFormat=newSimpleDateFormat("yyyy--MM--dd");
Stringstr_date=dateFormat.format(date);
System.out.println(str_date);
(五)Calendar类(日历)
需求:使用Calendar类获取年月日和星期
分析:1,可以通过键拿值,获取年,月,日,需要注意的是月要+1,
2,需要将方法进行封装,提高复用率
3,内存角标中,1对应的是2
public class Test{
publicstatic void main(String[] args){
Calendarc=Calendar.getInstance();
showDate(c);
}
publicstatic void showDate(Calendar c){
intyear=c.get(Calendar.YEAR);//通过键拿值
intmonth=c.get(Calendar.MONTH)+1;//注意要+1,因为从开始计算的
intday=c.get(Calendar.DAY_OF_MONTH);
intweek=c.get(Calendar.DAY_OF_WEEK);
System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week));
}
publicstatic String getWeek(int i) {
String[]weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
returnweeks[i];
}
}
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------