黑马程序员_Java常用类2

本文概述了Java和Android开发的关键技术,包括日期时间处理、简单格式化、日期时间戳转换、数学运算、随机数生成等核心概念,并提供了实例演示。

---------------------- 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.youkuaiyun.com/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值