#码神心得_13# java基础类库3
2016-07-18 22:15
435 查看
日期时间类
一、Date类
1、位于java.util包下,用于表示当前的日期和时间2、具体实现代码如下:
<pre name="code" class="java">import java.util.Date;
public class DateText {
public static void main(String[] args) {
Date date = new Date();
System.out.println("当前毫秒数:"+date.getTime());
System.out.println("当前年份:"+(date.getYear()+1900));
System.out.println("当天月份:"+date.getMonth()+1);
System.out.println("当天星期:"+date.getDay());
System.out.println("当天日子:"+date.getDate());
System.out.println("当前小时:"+date.getHours());
System.out.println("当前分钟:"+date.getMinutes());
System.out.println("当前秒钟:"+date.getSeconds());
System.out.println(date.toGMTString());
}
}
3、需要注意的是,Date.getYear()方法是获取1900年到今年的年数差,Date.getMonth()方法是从0开始算起,即一月为0,依次类推
4、由于Date类的方法多数被废弃,并不推荐使用。因此对于日期和时间的类更推荐使用Calendar类
5、GMT: 格林威治时间标准时间;
UTC:世界统一时间
二、Calendar类
1、Calendar为抽象类,不能被实例化,可以同过Calendar c = Calendar.getInstance()获取当前实例2、Calendar类可以与Date类进行转换,如:
Calendar c = Calendar.getInstance();
Date d = new Date();
Calendar c1 = d.getTime();//Date对象转化为Calendar对象
Date d1 = c1.setTime();//Calendar对象转化为Date对象
3、具体代码如下:
public class CalendarText {
public static void main(String[] args) {
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("");
System.out.println("当前毫秒数:"+rightNow.getTimeInMillis());
System.out.println("当前年份:"+rightNow.get(Calendar.YEAR));
System.out.println("当前月份:"+(rightNow.get(Calendar.MONTH)+1));
System.out.println("当前日期:"+rightNow.get(Calendar.DATE));
System.out.println("当前小时:"+rightNow.get(Calendar.HOUR_OF_DAY));
System.out.println("当前分钟:"+rightNow.get(Calendar.MINUTE));
System.out.println("当前秒数:"+rightNow.get(Calendar.SECOND));
System.out.println("完整日期:"+rightNow.getTime());
}
} 4、注意::①HOUR 和 HOUR_OF_DAY前者12小时制后者24小时制
②rightNow.get(Calendar.DAY_OF_WEEK)方法:周日为1,依次类推
③rightNow.get(Calendar.MONTH)方法:从0开始,即一号为0
三、SimpleDateFormat 类
1、SimpleDateFormat类是用来对日期格式化输出的类2、日期表示格式通常有如下几种:
yyyy/MM/ddHH:mm:ss 如 2016/01/0117:55:00'
yyyy/MM/ddHH:mm:ss a 如 2016/01/0117:55:00 pm'
yyyy-MM-ddHH:mm:ss 如 2016-01-0117:55:00'
yyyy-MM-ddHH:mm:ss a 如 '2016-01-0117:55:00 am'
yyyy年MM月dd日 HH时mm分ss秒 如'2016年01月01日 17时55分00秒'
3、具体实现:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(simpleDateFormat.format(new Date())); 运行结果:
2016/07/18 11:06:09 下午
集合
集合与数组的区别:前者为动态,可以改变集合大小;后者为静态,一旦声明不可改变数组长度。集合类存放与java.util包中,主要包括set(集)、list(列表)、map(映射)
一、Collection类
1、Collection是集合类的上级接口,继承与他的接口主要有Set 和List.2、Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
3、常用方法:
boolean add(E e):向集合中添加元素
boolean addAll(Collection<? extends E> c):将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
void clear():移除此 collection 中的所有元素
boolean contains(Object o):如果此 collection 包含指定的元素,则返回 true。
boolean containsAll(Collection<?> c):如果此 collection 包含指定 collection 中的所有元素,则返回 true。
boolean isEmpty():如果此 collection 不包含元素,则返回 true。
Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器。
boolean remove(Object o):从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
int size():返回此 collection 中的元素数。
toArray():返回包含此 collection 中所有元素的数组。
二、Set集合之HashSet
1、HashSet集合是无序的,不重复的2、hashCode()方法:判断两个对象是否相等
3、HashSet集合判断重复的标准是:①两个对象的hashCode()返回值相同; ②equals()为true
4、HashSet实现方式是基于HashMap类的。
三、List集合之ArrayList
1、与Set相似,但相对于Set,List集合是有序的,可重复的四、Map类之HashMap
HashMap是最常用的Map集合,无序的,为key + value的形式存储元素,而且key是唯一的,value可以重复1、声明方式:Map<Object, Object> map = new HashMap<>()
2、常用方法:
put(key,value);添加元素
get(key):获取key对应的value
containsKey(key):判断是否存在key
3、遍历方法:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
泛型
1、泛型可以指定参数的类型,通常与集合同时出现2、泛型的好处:加强了类型安全以及减少类型转换的次数:如下代码
public static void main(String[] args) {
//创建一个指向保存字符串的List集合
List strList = new ArrayList();
strList.add("速度");
strList.add("呵呵哒");
//不小心把一个Integer对象丢进了集合
//strList.add(100);
//遍历集合
for(int i = 0 ; i<strList.size();i++){
//强制转换
String string = (String)strList.get(i);//在这里程序将会出错,但是在编译期并不会发现错误
System.out.println(string.length());
}
} 以上代码在运行时将会报错,若添加了泛型,则可以在编译期尽早发现问题,提高了程序的安全性
即List strList = new ArrayList(); 改为
List<String> strList = new ArrayList<String>();
异常
异常是一个事件,发生在程序运行期间,干扰了正常的指令流程;以下为异常类型结构图:
1、通常使用try{}catch{}来捕获异常
try {
int a = 3/0;
} catch (ArithmeticException e) {
System.err.println("除数不能为零");
e.printStackTrace();
}
2、如果一个方法可能会出现异常,而自身又无法解决这个异常,也可以通过throws来主动抛出异常
public static void createArray() throws NegativeArraySizeException{
//定义方法并抛出异常
//创建数组
int[] arr = new int[-1];
}
3、Exception.printStackTrace()方法:打印异常信息
4、注意事项:
不要过度使用异常
不要使用过于庞大的try块
避免使用Catch All语句
不要忽略捕获到的异常
相关文章推荐
- jackson、Gson反序列化 泛型
- JAVA泛型—— 3fe8 转
- JAVA泛型详解——转
- Ruby中的集合编写指南
- Ruby中的异常处理代码编写示例
- AVG 7.5.1.43 版本 序列号 集合
- SQL Server游标的使用/关闭/释放/优化小结
- 编写高质量代码改善C#程序――使用泛型集合代替非泛型集合(建议20)
- 简单学习C#中的泛型方法使用
- C#通过反射创建自定义泛型
- C#泛型用法实例分析
- C#检查指定对象是否存在于ArrayList集合中的方法
- SQL Server 2005 中使用 Try Catch 处理异常
- MySQL抛出Incorrect string value异常分析
- C语言泛型编程实例教程
- 浅谈C#中简单的异常引发与处理操作
- C#写入对象或集合类型数据到xml文件的方法
- C#中的集合用法分析
- C# 泛型的简单理解(安全、集合、方法、约束、继承)分享
- Python3 错误和异常