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天
JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)的更多相关文章
- java基础学习之final关键字
final可以修饰类.方法.变量,一旦使用了final则将不能改变被修饰的对象的引用; 被final修饰的类不可以被继承 被final修饰的方法不可以被覆盖 被final修饰的变量一般为常量,只允许对 ...
- java基础学习总结——super关键字
一.super关键字
- java基础学习总结——static关键字
一.static关键字
- java基础篇 之 final关键字
final,字面上是最终的意思,通常来说,我们用它来作为修饰符的时候,都是代表"这是无法改变的"的意思.不想改变可能出与两种理由:设计或效率.由于这两个原因相差甚远,所以我们在 ...
- java基础学习总结——this关键字
一.this关键字
- Java基础学习之final和多态及类型转换
finalkeyword: finalkeyword是终于的意思,能够修饰类,成员变量,成员方法. • 修饰类,类不能被继承 • 修饰变量,变量就变成了常量,仅仅能被赋值一次. • ...
- Java基础学习笔记(六) - 数据结构和集合
一.认识数据结构 1.数据结构有什么用? 合理的使用数据结构,可以更方便的查找存储数据. 2.常见的数据结构 数据存储常用结构有:栈.队列.数组.链表和红黑树. 栈:堆栈(stack),它是运算受限的 ...
- JAVA基础学习之流的简述及演示案例、用缓冲区方法buffer读写文件、File类对象的使用、Serializable标记接口(6)
1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表. ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
随机推荐
- js之序列化、eval和Date类用法
序列化 JSON.stringify() 将对象转换为字符串 JSON.parse() 将字符串转换为对象类型 示例 var jsonStr = '{"name":"le ...
- Hibernate 多对多关联查询条件使用
from Brand as b inner join fetch b.styles as s where s.styleId=?
- Extjs TabPanel 选项卡延迟加载
Extjs TabPanel 选项卡延迟加载 说明: Ext中用到tabpanel选项卡控件, 选项卡页签默认是延迟加载的, 当用户手工切换到某页签下时该页签才会加载, 在页签没有加载前, 用户对该页 ...
- Python核心编程这本书的一些错误
<Python核心编程第二版>这本书比<Python基础教程第二版修订版>详细很多,丰富了很多细节,虽然它是一本经典的入门书,但我发现还是存在一些明显的错误.在面向对象编程这一 ...
- HTML知识点链接
1)<marquee> http://www.jb51.net/shouce/dhtml/objects/MARQUEE.html 2)"i ...
- Apache2.4.6 添加虚拟主机
apache2.4 与 apache2.2 的虚拟主机配置写法有所不同 apache2.2的写法: <VirtualHost *:80> ServerName domain.com Doc ...
- 【转】你可能不知道的Shell
本文转自http://coolshell.cn/articles/8619.html,只摘取了其中的一部分. 再分享一些可能你不知道的shell用法和脚本,简单&强大! 在阅读以下部分前,强烈 ...
- unity3d项目文件目录发布后,对应的ios/android应用目录[转]
Unity3d的Resource.AssetBundle与手游动态更新的报告,在这里分享一下,希望能够对各位用Unity的朋友有些许帮助.目录:1.Unity的资源数据加载2.Resource.Str ...
- python迭代器与iter()函数实例教程
python迭代器与iter()函数实例教程 发布时间:2014-07-16编辑:脚本学堂 本文介绍了python迭代器与iter()函数的用法,Python 的迭代无缝地支持序列对象,而且它还允许程 ...
- ACM/ICPC 之 拓扑排序范例(POJ1094-POJ2585)
两道拓扑排序问题的范例,用拓扑排序解决的实质是一个单向关系问题 POJ1094(ZOJ1060)-Sortng It All Out 题意简单,但需要考虑的地方很多,因此很容易将code写繁琐了,会给 ...