#码神心得_13# java基础类库3
来源:互联网 发布:linux修改网络配置 编辑:程序博客网 时间:2024/06/17 01:16
日期时间类
一、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可以重复
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语句
不要忽略捕获到的异常
- #码神心得_13# java基础类库3
- #码神心得_11# java基础类库1
- #码神心得_12# java基础类库2
- JavaSE学习笔记_13:Java-System类
- 安卓基础_13
- Java学习笔记_13
- JAVA知识_13
- java基础常用类心得
- [心得]Java基础部分心得
- JAVA 基础心得
- ,JAVA 基础心得
- JAVA 基础心得4
- 黑马程序员_Java基础_字符串_13
- 学习java基础的心得
- java基础反射的心得
- Java基础心得(1)
- java基础心得(2)
- java基础心得(3)_多线程(1)
- ServletContext 总结
- 功能类:二维码扫描(相机扫描,相册扫描)
- 五大常用算法之一:分治算法
- nginx 正则表达式匹配
- 提高listview性能的几个方法
- #码神心得_13# java基础类库3
- ping通百度却在浏览器中打不开 netsh winsock reset
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)
- 毕业生网站出错:筛选以后,下一个管理员可以看到上一个管理员筛选的消息
- Java修饰符
- Gradle 下载及代理设置
- mysql清空表数据后让自增ID仍从空位开始的方法
- java this关键字在父子类构造方法中的运用
- jsp之文件的上传和下载