您的位置:首页 > 职场人生

黑马程序员_Java常用类2

2011-11-23 14:33 302 查看
----------------------
android培训、java培训、期待与您交流! ----------------------

 Calendar类

常用方法:
static Calendar getInstance() 获得日历
public int get(int filed)   返回给定字段的日期值
public void set(int field,int value)将给定的日历字段设置为给定值。
 
实例1:获取当前时间

package org.fm.test;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Demo {
   public static void main(String[] args) throws Exception {
       Calendar calendar = new GregorianCalendar();
       System.out.println("年: " + calendar.get(Calendar.YEAR));
       System.out.println("月: " + calendar.get(Calendar.MONTH)+1);
       System.out.println("日: " + calendar.get(Calendar.DAY_OF_MONTH));
       System.out.println("时: " + calendar.get(Calendar.HOUR_OF_DAY));
       System.out.println("分: " + calendar.get(Calendar.MINUTE));
       System.out.println("秒: " + calendar.get(Calendar.SECOND));
       System.out.println("毫秒: " +calendar.get(Calendar.MILLISECOND));
   }
}
语句解释:

· Calendar类在java.util包中。是一个抽象类。 使用其子类进行实例化即可。
  · 使用get()方法获得指定的时间部分。
  · 月份是从0开始计算的 因此在其后面加1。
 
实例2:查表法:

package org.fm.test;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Demo {
   public static void main(String[] args) throws Exception {
    String[] month = {"一月", "二月", "三月", "四月",
                       "五月", "六月", "七月", "八月",
"九月", "十月", "十一月", "十二月"};
       Calendar c = new GregorianCalendar();
       int index = c.get(Calendar.MONTH);
      String[] week = { "","星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
        int index = c.get(Calendar.MONTH);
        int index2 = c.get(Calendar.DAY_OF_WEEK);
          System.out.println(c.get(Calendar.YEAR)+"年");
          System.out.println(month[index]);
          System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");
          System.out.println(week[index2]);   }
}
语句解释:

· 月份是从0开始计算的 因此在其后面加1。
从0~11对应的是一到十二月,可以使用查表法查找数字对应的大写月份。
 

 SimpleDateFormat类

类结构:

java.lang.Object

 java.text.Format

     java.text.DateFormat

          java.text.SimpleDateFormat

 
 
范例1:将给定日期对象转换成String类型。

package org.fm.test;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
   public static void main(String[] args) throws Exception {
       SimpleDateFormat simple = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒SSS毫秒");
       System.out.println(simple.format(new Date()));
   }
}
语句解释:

  · 在SimpleDateFormat类构造对象的时候 指定格式化后的日期格式。
  · 使用format()将Date对象格式化成 刚才指定的格式。
 
日期格式代号:

No.
日期
模板标记
长度
描述
1

y
4
在操作的时候要使用 yyyy 来表示年份
2

M
2
使用MM表示月份
3

d
2
使用dd表示日期
4

H
2
0~23的范围,使用HH表示时
5

m
2
mm表示分
6

s
2
ss表示秒
7
毫秒
S
3
SSS表示毫秒
 
 
范例2:将给定String类型日期转换成日期对象。

package org.fm.demo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
   public static void main(String[] args) throws Exception {
       SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       Date date = simple.parse("2010-1-1 21:21:12.724");
       System.out.println(date);
   }
}
语句解释:

  · 在SimpleDateFormat类构造对象的时候,指定要解析的日期所使用的格式。
· 使用parse()方法 可以将一个字符串转换成一个Date类型的对象。
 
时间戳:

假设有一个时间:  2010-1-1 21:21:12.724
则它的时间戳就是:201011212112724
练习:
1、  获取任意年的二月份有多少天

package org.fm.test;
import java.util.Calendar;
public class CalendarDemo {
   
    public static void getDays(int year){
       Calendar c = Calendar.getInstance();  //获得Calendar类的实例
       c.set(year,2,1);                    //设置时间为某年的 3月1日
       c.add(c.DAY_OF_MONTH,-1);           //减去时间量,3月1日的前一天就是二月的最后一天
       printCalendar(c);
    }
    public static void printCalendar(Calendar c){
        String[] month = {"一月", "二月", "三月", "四月",
               "五月", "六月", "七月", "八月",
               "九月", "十月", "十一月", "十二月"};
        String[] week = { "","星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
        int index = c.get(Calendar.MONTH);
        int index2 = c.get(Calendar.DAY_OF_WEEK);
          System.out.println(c.get(Calendar.YEAR)+"年");
          System.out.println(month[index]);
          System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");
          System.out.println(week[index2]);
    }  
    public static void main(String[] args) {
       getDays(2000);
    }
}
 
2、  获取昨天的现在这个时刻

c.add(Calendar.DAY_OF_MONTH,-1);
Math类
  ·  Math类在java.lang包中 其内的所有方法和字段都是静态的。
  ·  因此可以使用import static来导入。使用的时候不用在加类名.方法名或类名.变量名。
 
范例1:常用数学函数。

package org.fm.test;
import static java.lang.Math.*;
public class Demo {
    public static void main(String[] args) throws Exception {
       System.out.println("E = " + E)  ;
       System.out.println("PI = " + PI) ;
       System.out.println("max(2,3) = " + max(2,3)) ;//计算最大数
       System.out.println("min(5,4.3) = " + min(5,4.3)) ;
       System.out.println("pow(2,4) = " + pow(2,4)) ;//计算 24
       System.out.println("abs(-44)" + abs(-44)) ; // 计算绝对值
       System.out.println("round(83.652)" + round(83.652)) ;//四舍五入
        System.out.println("ceil(12.23)=" + ceil(12.23)) ;
// 返回大于指定数据的最小整数
       System.out.println("floor(21.23)=" + floor(21.23)) ;
 // 返回小于指定数据的最大整数
    }
}
 

Random类

  ·  Random类在java.util包中。
  ·  此类用于产生一个随机数。
 
范例1:随机数。

package org.fm.test;
import java.util.Random;
public class Demo {
    public static void main(String[] args) throws Exception {
       Random r = new Random();
       System.out.println("随机一个int数:"+r.nextInt());
       System.out.println("随机一个long数:"+r.nextLong());
       System.out.println("随机一个double数:"+r.nextDouble());
       System.out.println("随机一个float数:"+r.nextFloat());
       System.out.println("随机一个boolean数:"+r.nextBoolean());
       for (int i = 0; i < 10; i++)
      System.out.print(r.nextInt(100) + "、");//随机0~100(不包括)间的数。
    }
}
 

----------------------
android培训、java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息