温故而知新(四)java基础:Number(包装类)、日期时间

原创 2017年09月01日 11:03:06

Number类(包装类)

byte、int、double、float、short、long这些基本数据类型,Java都有提供对应的包装类Byte、Integer 、Double、Float、Short、Long。我们进行转换时,也叫装箱和拆箱。

//装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。
        int a=10;
        Integer b=a;//装箱,
        Integer.valueOf(a);//装箱

        int c=b;//拆箱
        b.intValue();
//对于–128到127(默认是127)之间的值,被装箱后,会被放在内存里进行重用,但是如果超出了这个值,系统会重新new 一个对象

Date

提供的方法:

这里写图片描述

java还提供的有相关方法来进行两个日期的比较:

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。

  • 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2,
    12).before(new Date (99, 2, 18)) 返回true。

  • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。


SimpleDateFormat 日期格式化

Date date=new Date();
//可以自己定制一些想要的样式
SimpleDateFormat fm=new SimpleDateFormat("yyyy.MM.dd  hh:mm:ss");
String format = fm.format(date);
System.out.println("日期SimpleDateFormat: " + format.toString()); 
//日期SimpleDateFormat: 2017.09.01  09:38:02

日期和时间的格式化编码

这里写图片描述

当然Java提供的也有更方便的:printf日期格式化
这里写图片描述

使用起来也更简单:%t 必须这样开头

    Date date=new Date();   
    System.out.printf("日期SimpleDateFormat: %tF", date);
    //日期SimpleDateFormat: 2017-09-01
    //发挥你的想象里去找些新东西 

Calendar类

获取Calendar实例对象,代表当前系统时间

Calendar cl = Calendar.getInstance();//默认是当前日期

Calendar类对象字段类型

这里写图片描述

Test.java

Calendar cl = Calendar.getInstance();//默认是当前日期
        //创建一个指定日期的Calendar对象
//      cl.set(2017,9,7);

        int i = cl.get(Calendar.YEAR);//获取年份
        int i1 = cl.get(Calendar.MONTH);//获取月份
        int j = cl.get(Calendar.DATE);// 获得日期
        ////获取当前时间24小时制,第几个小时
        int hour = cl.get(Calendar.HOUR_OF_DAY);
        // 获得分钟
        int minute = cl.get(Calendar.MINUTE);
        // 获得秒
        int second = cl.get(Calendar.SECOND);
        // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
        int day = cl.get(Calendar.DAY_OF_WEEK);
        System.out.println("Calendar>> " +i+"年>>"+ i1+"月>>"+j+"日>>"+hour+":"+minute+"分>>"+"星期"+day);
        //Calendar>> 2017年>>8月>>1日>>10:28分>>星期6   //请注意获取星期几  所描述的信息

当然除了这些获取日期时间、和设置固定的对象时间,也可以进行日期的加减:

Calendar c1 = Calendar.getInstance();
/*把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算 **/
c1.add(Calendar.DATE, 10);
/**把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算*/
c1.add(Calendar.DATE, -10); 
//其他字段属性的add的意义以此类推
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java包装类与基本类型进行比较的坑

Java包装类与基本类型进行比较的坑
  • a158123
  • a158123
  • 2017年08月09日 18:58
  • 831

深入Java基础(一)——基本数据类型及其包装类

这一系列打算慢慢地去接触源码,并且列出相关的题目,对于完全的初学者的话,我到时候会搜一套我认为比较好的培训机构的视频以及给些社区资料和相关博客咯。让我们一起开始思考,深入学习Java吧。这篇文章就数据...
  • Jack__Frost
  • Jack__Frost
  • 2016年12月21日 22:18
  • 6684

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

定义 在java中,数据类型可以分为两大类,即基本数据类型和引用数据类型,基本数据类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类。(关于包装类的详细介绍...
  • u012483425
  • u012483425
  • 2015年06月07日 15:18
  • 1371

JAVA基础--db14_java基本类型包装类_集合框架

基本数据类型包装类: 如果字符串被integer封装,可以使用另一个非静态的方法intValue();将一个对象转换成整数 进制转换: 自动装箱拆箱:作用,简化书写 集合: ...
  • db2625
  • db2625
  • 2015年10月01日 18:12
  • 164

Java常用类型的包装类【Java学习笔记】

/* 时间:2014年12月22日18:56:16 功能:常用类型的包装类 */ public class Test2 { public static void main(String[] a...
  • u010551118
  • u010551118
  • 2014年12月22日 22:25
  • 418

java 基本类型、包装类、字符串之间的转换

1、基本类型和包装类 基本类型和包装类可通过自动装箱和拆箱实现。 int i = 24; Integer a = new Integer(i); //手动装箱 Integer b = i; ...
  • kobexiaol
  • kobexiaol
  • 2016年10月22日 13:02
  • 1055

Java基本数据类型、包装类与String类之间的转换

一、基本数据类型与包装类之间的转换: import org.junit.Test; public class MainTest { /** * 基本数据类型与包装类之间的转换 ...
  • u013453970
  • u013453970
  • 2015年08月11日 09:06
  • 3502

Java 中基本类型和包装类之间的转换

基本类型和包装类型之间经常需要相互转换,以Integer为例(其他的类型操作雷同) Integer a = new Interger(3); //定义Interger包装类对象,值为3 int b...
  • u013599426
  • u013599426
  • 2016年06月21日 21:31
  • 2317

基础类型和包装类的区别及作用

1.区别 包装类是对象,拥有方法和字段.对象的调用都是通过引用对象的地址 ; 包装类创建的是对象,拥有方法和字段.对象的调用都是通过引用对象的地址 ; 基本类型不是.另外一个区别是,包装类是引...
  • maowei_123
  • maowei_123
  • 2015年04月14日 10:32
  • 528

【JAVA源码分析——Java.lang】包装类源码分析

包装类分析Java 基本类型包括八种:byte、short、int、long、float、double、char、booleanNumber类型其中数字类型包括: 整数型: byte : -127...
  • wang135139
  • wang135139
  • 2016年06月25日 16:30
  • 1416
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:温故而知新(四)java基础:Number(包装类)、日期时间
举报原因:
原因补充:

(最多只允许输入30个字)