JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)

1.final关键字
和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类、方法。
写法规范:常量所有字母都大写,多个单词中间用 "_"连接。

2.遍历集合
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(3);
list.add(5);
list.add(7);
// 遍历List方法1,使用普通for循环:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
// list.remove(i);//使用这种遍历删除元素会有问题。删除之后list.size()会时时的改变
}
// 遍历List方法2,使用增强for循环(应该使用泛型定义类型!):
for (int temp : list) {
System.out.println(temp);
}
// 遍历List方法3,使用Iterator迭代器:
for (Iterator iter = list.iterator(); iter.hasNext();) {
System.out.println(iter.next());
}
如何要遍历删除集合使用以下方式
Iterator iter=list.iterator();
while(iter.hasNext()){
Object obj=iter.next();
iter.remove();//如果要遍历删除集合中的元素,建议使用这种方式!
System.out.println(obj);
}

3.日期类对象的使用

//获取当前时间
Calendar c = Calendar.getInstance();
//c.set(2014, 2, 1);//对时间做修改,指定了年月日
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int date = c.get(Calendar.DATE);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
int week = c.get(Calendar.DAY_OF_WEEK);
String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.println(year + "/" + month + "/" + date + " " +hour + ":" +minute + ":" + second+" "+weeks[week]);

//指定当前时间的格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间

4.Math类对象的使用
/*
* Math:提供了操作数学运算的方法,都是静态的。
* 常用的方法:
* ceil():返回大于参数的最小整数。
* floor():返回小于参数的最大整数。
* round():返回四舍五入的整数。
* pow(a,b):a的b次方。
*/
for (int i = 0; i < 10; i++) {
//
int d = (int) (Math.random() * 10 + 1);// 生成1-10的随机数
//
// int d=(int) Math.ceil(12.23);
// //
// double d = Math.ceil(12.31);
// //
// Double d=Math.floor(12.36);
// //
// long d=Math.round(63.50);
// double d=Math.pow(2, 3);

System.out.println(d);

}

5.Runtime类对象的使用
/*
* Runtime:没有构造方法摘要,说明该类不可以创建对象。
* 又发现还有非静态的方法。说明该类应该提供静态的返回该类对象的方法。
* 而且只有一个,说明Runtime类使用了单例设计模式。
*
*/
Runtime r = Runtime.getRuntime();
//
//execute: 执行。 xxx.exe
Process p = r.exec("notepad.exe");
Thread.sleep(5000);
p.destroy();

6.时间对象Date(两个日期相减)
String str_date1 = "2012-3-17";
String str_date2 = "2012-4-18";
DateFormat dateFormat = DateFormat.getDateInstance();
dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = dateFormat.parse(str_date1);
Date date2 = dateFormat.parse(str_date2);
long time1 = date1.getTime();
long time2 = date2.getTime();
long time = Math.abs(time1-time2);//得到两个时间差的毫秒数
int day = (int)(time/1000/60/60/24);
System.out.println(day);//相差32天

上一篇:hdu4990 矩阵


下一篇:Postfix接收邮件后转向运行特定的脚本