Date 类
Date 类表示日期和时间
提供操纵日期和时间各组成部分的方法
Date 类的最佳应用之一是获取系统当前时间
Date 类构造方法
void display() {
String strDate , strTime = "";
System.out.println(“今天的日期是: " + objDate);
long time = objDate.getTime();
System.out.println(“自 1970 年 1 月 1 日起"
+ “以毫秒为单位的时间 (GMT):" + time);
strDate = objDate.toString(); // 提取 GMT 时间
strTime = strDate.substring(11 , (strDate.length() - 4));
// 按小时、分钟和秒提取时间
strTime = “时间: " + strTime.substring(0 , 8);
System.out.println(strTime);
}
Calendar 类
例子:
void display() {
// 显示 Date 和 Time 的组成部分
System.out.println(“\nDate 和 Time 的组成部分:");
System.out.println(“月: " + objCalendar.get(Calendar.MONTH));
System.out.println(“日:" + objCalendar.get(Calendar.DATE));
System.out.println(“年:" + objCalendar.get(Calendar.YEAR));
System.out.println(“小时:" + objCalendar.get(Calendar.HOUR));
System.out.println(“分钟:" + objCalendar.get(Calendar.MINUTE));
System.out.println(“秒:" + objCalendar.get(Calendar.SECOND));
// 向当前时间添加 30 分钟,
// 然后显示日期和时间
objCalendar.add(Calendar.MINUTE , 30);
Date objDate = objCalendar.getTime();
System.out.println(“\n向当前时间添加 30 分钟后的日期和时间:\n");
System.out.println(objDate);
}
Random 类
集合框架
一、、
集合框架的优点
1、提供有用的数据结构和算法,从而减少编程工作
2、提高了程序速度和质量,因为它提供了高性能的数据结构和算法
3、允许不同 API 之间的互操作,API之间可以来回传递集合
4、可以方便地扩展或改写集合
ArrayList
例子:
import java.util.*;
/*
* 2016/7/12
* 第八课时
* 集合的使用:ArrayList,LinkList,HashMap
*/
public class Test {//Tip:类不能同HaspMap等系统类重名
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog ououDog = new Dog("菲菲", "拉布拉多");
Dog yayaDog = new Dog("丫丫", "哈士奇");
Dog nanaDog = new Dog("嘿嘿", "吉娃娃");
//----------------------------------------------------------------------------------
//ArrayList:定义集合存放对象,集合存放特点是有序,可重复
List dogList = new ArrayList();
dogList.add(ououDog);
dogList.add(yayaDog);
dogList.add(nanaDog);
//删除集合成员
dogList.remove(1);
//如果这时dogList.remove(ououDog);便会报错,因为ouou已经被删除,但是如果先判断一下,即可,如下
if(dogList.contains(ououDog))//只能判断有无ououDog对象
{
dogList.remove(ououDog);
}
System.out.println(dogList.size());
//成员遍历
for(int i = 0; i < dogList.size(); i++)
{
Dog dog = (Dog)dogList.get(i);//因为get方法返回的对象为Object,所以要强制转换为Dog类
System.out.println(dog.name);
System.out.println(dog.strain);
}
//---------------------------------------------------------------------------------
//LinkList:定义链表存放对象,链表可以无序存放,可重复
LinkedList linkedList = new LinkedList();
linkedList.add(ououDog);
linkedList.add(yayaDog);
linkedList.add(nanaDog);//也可以进行头插和尾插
//成员遍历
for(int j = 0; j < linkedList.size(); j++)
{
Dog dog2 = (Dog)linkedList.get(j);
System.out.println(dog2.name);
}
//---------------------------------------------------------------------------------
/*
* HashMap练习
* Hash表不能遍历
*/
Map dogMap = new HashMap();
dogMap.put(ououDog.name, ououDog);//ououDog.name为一个标签,在哈希表中通过此标签就能提取对象
dogMap.put(yayaDog.name, yayaDog);
dogMap.put(nanaDog.name, nanaDog);
if(dogMap.containsKey(yayaDog.name))//通过键值判断有没有此对象
{
System.out.println("笼子中有丫丫哦");
Dog dog3 = (Dog)dogMap.get(yayaDog.name);//通过键值获取对象
System.out.println(dog3.name);
}
System.out.println("哈希表中成员个数"+dogMap.size());//哈希表成员
}
异常处理:
import java.util.InputMismatchException;
import java.util.Scanner;
/*
* 2016/7/12
* 第八课时
* 出错处理
*/
public class Test {
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
System.out.println("请输入");
Test test = new Test();
Scanner scanner = new Scanner(System.in);
// try{
// int i = scanner.nextInt();
// }catch(Exception error)
// {
// System.out.println("请输入一个整数");
// }
//出错处理
try{
int firstNum = scanner.nextInt();
int secondNum = scanner.nextInt();
int result = firstNum/secondNum;
}catch(InputMismatchException e)//追踪输入是否出错
{
System.out.println("请输入一个整数");
}catch (ArithmeticException e1) {//追踪是否有数学逻辑错误
// TODO: handle exception
System.out.println("除数不能为0");
e1.printStackTrace();//打印出错信息
}catch (Exception e) {
// Exception 为所有出错信息的父类,一定要最后
test.testI();
}
finally
{
//最后肯定会输出的语句
System.out.println("完毕");
scanner.close();
}
}
void testI() throws Exception{
throw new Exception();
}
}