java基础之包装类,Math,日期格式处理

包装类,Math,日期格式处理

  • 包装类
  • Math:random(),round()
  • 日期格式处理

Java提倡的是思想是一切皆对象,但是我们基本数据类型不是一个类,也就是说 没有对象概念,和Java提倡的思想相违背,为了解决这个矛盾,Java里面提供8种基本数据类型的包装类。


序号


基本数据类型


包装类


1


int


Integer


2


char


Character


3


float


Float


4


long


Long


5


short


Short


6


double


Double


7


boolean


Boolean


8


byte


Byte



    public static void main(String[] args) {
        int i=10;
        boolean flag=false;
        double j=10.00;
        Integer k=new Integer(i);//基本数据类型转换成包装类对象(装箱)
        Boolean f=new Boolean(flag);
        Double d=new Double(j);
        int x=k.intValue();//包装类转换成基本数据类型叫拆箱
        boolean bo=f.booleanValue();
        double de=d.doubleValue();//进行拆箱
    }


包装类除了解决Java提倡的思想之外呢,还可以进行什么操作呢?

  • ·装箱:将基本数据类型转换成包装类对象
  • ·拆箱:将包装类对象转换成基本数据类型
  • ·将字符串转换成基本数据类型

以上的装箱和拆箱操作都是手动进行的,在JDK1.5之后,装箱和拆箱的操作可以自动进行。

public static void main(String[] args) {
        int i=10;
        boolean flag=false;
        double j=10.00;
        Integer k=i;//基本数据类型转换成包装类对象(装箱)
        Boolean f=flag;
        Double d=j;
        int x=k;//包装类转换成基本数据类型叫拆箱
        boolean bo=f;
        double de=d;//进行拆箱
    }
//将字符串转换成基本数据类型
    private void mian() {
        // TODO Auto-generated method stub
        String s="1122";
        int x=Integer.parseInt(s);
        int y=Integer.valueOf(s);
    }

开发的时候一定要注意,在转换的时候,注意异常的出现,比如说我们将字符串“aabb”转换成int类型的话,那么一定会报错(NumberFormatException)。

2Math

Math类是定义了一系列的数学运算方法,是使用static修饰的方法,表示可以通过Math类直接访问。我们在开发中一般只需要关注两个:

  • ·四舍五入:
  • ·取得随机数
    public static void main(String[] args) {
        double d=100.53;
        int i = (int)Math.round(d);
        System.out.println(i);
    }

另外就是随机数:使用random()取随机数取出来的是0-1小数,是大于等于0,小于1。

范例:取1-10之间的随机数

    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            double d=Math.random();//取0到1之间的随机数
            int x=(int) Math.round(d*10);
            System.out.println(x+"  ");
        }
    }

3日期格式的处理

我们主要讲到的是Date类,是java.util包中的Date类,另外Calendar(日历)类,而后是日期格式转换类(DateFormat)。

Date:Date类中的大部分的方法都已经过时,一般只会用到构造方法取得系统当前的时间。

·public long getTime():取得自1970年1月1号开始的毫秒数

public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        System.out.println(date.getTime());
    }

如果我们现在要取得Date对象的准确的年月日时分秒毫秒呢?我们知道Date类中的方法已经过时,那么我们现在使用Calendar日历类完成操作。此类有大量的操作方法:

·public abstract void add(int field,  int amount):给指定的日历字段添加指定的值

·public int get(int field):取得指定日历字段的值

·public final Date getTime():转换成Date类型

·public void set(int field,  int value):指定的日历字段设置指定的值

·public final void setTime(Date date):将Date类型设置到Calendar对象中

范例:取得准确年月日时分秒毫秒

public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        System.out.println(date.getTime());
        Calendar ca= new GregorianCalendar();//取得日历对象(也可以取得系统当前时间)
        System.out.println("年"+ca.get(Calendar.YEAR));
        System.out.println("月"+ca.get(Calendar.MONTH)+1);//0到11个月
        System.out.println("日"+ca.get(Calendar.DAY_OF_MONTH));
        System.out.println("时"+ca.get(Calendar.HOUR_OF_DAY));
        System.out.println("分"+ca.get(Calendar.MINUTE));
        System.out.println("秒"+ca.get(Calendar.SECOND));
        System.out.println("毫秒"+ca.get(Calendar.MILLISECOND));
        System.out.println("今年第几周"+ca.get(Calendar.WEEK_OF_YEAR));
        System.out.println("这个月第几周:"+ca.get(Calendar.WEEK_OF_MONTH));
    }

3.日期格式的转换

在Java中使用DateFormat进行日期格式的转换,此类也是一个抽象类,实例化的时候必须依靠子类:SimpleDateFormat,常用的构造方法:

·public SimpleDateFormat(String pattern):参数表示的日期的转换规则

规则:y年,M月,d日,H小时,m分钟,s秒,S毫秒

DateFormat常用的方法:

·public final String format(Date date):将Date对象转换成字符串

·public Date parse(String source) throws ParseException:将字符串转换成日期

范例:将Date类型转换成字符串

public static void main(String[] args) {
        Date date = new Date();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//定义转换格式

        String s = df.format(date);//进行转换

        System.out.println(s);

    }
}

范例:将字符串转换成日期

String s = "1998/10-10";
        DateFormat df = new SimpleDateFormat("yyyy/MM-dd");//定义转换格式
        try {
            Date date = df.parse(s);//将字符串转化成日期
            System.out.println(date);
        } catch (Exception e) {
            e.printStackTrace();
        }

在开发过程中,一定要注意SimpleDateFormat定义的转换规则,如果转换规则定义错误,那么日期转换异常没法避免

小结

  ·使用包装类将字符串转换成基本数据类型

·会使用Math中的random()和round()方法

·学会使用Calendar类中的一些方法

·学会使用DateFormat进行日期格式的转换

时间: 2024-10-02 07:58:40

java基础之包装类,Math,日期格式处理的相关文章

Java与C#间json日期格式互转完美解决方案

http://blog.csdn.net/wilsonke/article/details/24362851 作用一种简单方便的数据传输方案,JSON已经成为替代XML的事实标准.然而在JSON中,时间(DateTime,Timestamp,Date等)格式一直没有很好地统一,当需要跨平台序列化/反序列化时,遇到不少麻烦.作者经过反复尝试,解决了C#与Java通过JSON进行时间传输的困难.C#解析Java/Javascript生成的JSON并不困难,但Java解析C#生成的JSON困难重重.下

Java处理Excel中的日期格式

Java处理Excel中的日期格式 2011-12-23 17:34:03|  分类: java |举报 |字号 订阅 下载LOFTER 我的照片书  | 在Excel中的日期格式,其数值为距离1900年1月1日的天数,比如2009-12-24将其转化为数字格式时变成了40171,在用java处理的时候,读取的也将是40171.在POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理.正确的处理方法是先判断单元格的类型是否则NUMERIC

JAVA基础之包装类,static,final,abstract ,接口 和 内部类

包装类: 自jdk5之后,java就提供了自动装箱与自动拆箱功能,大大简化了基本类型与其包装类对象之间的转换过程,当然装换过程中要注意类型的匹配. public class IntAndInteger { public static void main(String[] args) { //自动装箱 Integer intObj = 5; Integer intObjj = 5; //自动拆箱 int a = intObj; //包装类实现基本变量与字符串的转换 String str = "12

Java基础之包装类的自动装箱和拆箱详解

定义 在java中,数据类型可以分为两大类,即基本数据类型和引用数据类型,基本数据类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类.(关于包装类的详细介绍请参看博客Java基础之常用类详解) 本篇博客主要讲述包装类的自动装箱和拆行机制. 所谓装箱,就是把基本数据类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int类型包装成Integer类型的对象,或者把double包装秤Double,等等. 所谓拆箱,就是和装箱的方向相反,将I

java基础类型包装类与自动打包解包

一基础类型包装类 基础数据类型存放在内存的栈区域,可以通过包装类将基础数据类型转换为引用数据类型,即存储在堆与栈中. 基础数据类型一共有8种,相对应的包装类也有8种.分别是Byte,Short,Integer,Long,Float,Double,Character,Boolean.类 包装类位于java.Lang包中. 1 public class Test1 { 2 3 public static void main(String[] args) { 4 // TODO Auto-genera

java导入excel时处理日期格式(已验证ok)

在Excel中的日期格式,比如2009-12-24将其转化为数字格式时变成了40171,在用java处理的时候,读取的也将是40171.如果使用POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理.正确的处理方法是先判断单元格的类型是否则NUMERIC类型,然后再判断单元格是否为日期格式,如果是的话, 创建一个日期格式,再将单元格的内容以这个日期格式显示出来.如果单元格不是日期格式,那么则直接得到NUMERIC的值就行了.具体代码如下:

java工具类(五)之日期格式字符串与日期实现互转

JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateConvert { /** * 日期转换成字符串 * @param date * @return

Java基础第二十一天总结——日期时间API

目录: 一.JDK8之前的日期时间API 二.JDK8中新日期时间API 三.Java比较器 四.System类 五.Math类 六.Biglenteger与BigDecimal /*-----------------------分割线-----------------------------*/ 一.JDK8之前的日期时间API java.util.Date类 表示特定的瞬时,精确到毫秒 构造器: Date() Date(long date) 常用方法: getTime() toString(

整理Java基础知识--Number&amp;Math类

Java Number内置数据类型:byte int long short double 等 int i = 10: float i = 10.5f; 实际开发中,经常遇到使用对象,而不是内置数据类型,包装类(Integer Long Double Float Short)都是抽象类 Number的子类内置数据类型被当作对象使用时,编译器会把内置类型装箱为包装类 class Test{ public static void main(String[] args){ Integer i = 10;