Java 中常用的类:包括基本类型的包装类Date 类SimpleDateFormat 类 Calendar 类 Math 类

Posted liuyun66535309

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中常用的类:包括基本类型的包装类Date 类SimpleDateFormat 类 Calendar 类 Math 类相关的知识,希望对你有一定的参考价值。

JAVA中的包装类

包装类里没有String,它是引用数据类型

基本类型是不能调用方法的,而其包装类具有很多方法

包装类主要提供了两大类方法:

1. 将本类型和其他基本类型进行转换的方法

2. 将字符串和本类型及包装类互相转换的方法

基本类型

对应的包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

Integer m=new Integer(5);//定义Integer包装类对象,值为5
Integer n=new Integer("8");//定义Integer包装类对象,值为8

public static void main(String[] args){
        int score1=86;
        //创建Integer包装类对象,表示变量score1
        Integer score2=new Integer(score1);
        //将Integer包装类转换为double类型
        double score3=score2.doubleValue();
        //将Integer包装类转换为float类型
        float score4=score2.floatValue();
        //将Integer包装类转换为int类型
        int score5=score2.intValue();
        System.out.println("Integer包装类"+score2);
        System.out.println("double类型"+score3);
        System.out.println("float类型"+score4);
        System.out.println("int类型"+score5);
    }

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

装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

char sex=‘男‘;//定义一个基本类型
    Character sex1=new Character(sex);//手动装箱
    Character sex2=sex;//自动装箱,省略了new

拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱

Integer j=new Integer(8);//定义一个Integer包装类对象
    int m=j.intValue();//手动拆箱
    int n=j;//自动拆箱为int类型

    double a=91.4;
    Double b=new Double(a);
    Double c=a;
    System.out.println(b+"和"+c);
        //
    Double d=new Double(87.0);
    double e=d.doubleValue();
    double f=d;
    System.out.println(e+"和"+f);

 

基本类型和字符串之间的转换

基本类型转换为字符串有三种方法:

1. 使用包装类的 toString() 方法

2. 使用String类的 valueOf() 方法

3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

//将基本类型转换为字符串
        double a=91.4;
        String str1=Double.toString(a);
        String str2=String.valueOf(a);
        String str3=a+"";

字符串转换成基本类型有两种方法:

1. 调用包装类的 parseXxx 静态方法

2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

//将字符串转换为基本类型
    String str="9";
    int d=Integer.parseInt(str);
    int e=Integer.valueOf(str);
String str2 = "180.20";
    // 将字符串转换为基本类型
    Double a =Double.parseDouble(str2);
    //其他基本类型与字符串的相互转化这里不再一一列出,方法都类似

 

使用DateSimpleDateFormat类表示时间

使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间

Date nowTime=new Date();//使用默认的构造方法创建Date对象
        System.out.println(nowTime);//输出Date对象    
>>>  Sat Mar 10 13:46:10 CST 2018

可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。

1. 使用 format() 方法将日期转换为指定格式的文本

import java.text.SimpleDateFormat;
import java.util.Date;
public static void main(String[] args){
        //创建Date对象,表示当前时间
        Date nowTime=new Date();
        //创建SimpleDateFormat对象,指定目标格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //调用format()方法,格式化时间,转换为指定格式字符串
        String today=sdf.format(nowTime);
        System.out.println(today);
    }
  1. 使用 parse() 方法将文本转换为日期
    //创建日期格式的字符串
        String day="2014年02月14日 10月30:13";
        //创建SimpleDateFormat对象,指定字符串的日期格式(要与字符串的格式对应)
        SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH月mm:ss");
        //调用parse()方法,将字符串转换为日期
        Date date=df.parse(day);
        System.out.println(date);

一定要注意:

1、 调用SimpleDateFormat对象的parse()方法时可能会出现转换异常,即ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text

 

 

Calendar类的应用

 

更推荐使用 Calendar 类进行时间和日期的处理。

 

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

 

Calendar c=Calendar.getInstance();//创建Calendar对象

public static void main(String[] args){
        Calendar c=Calendar.getInstance();//创建Calendar对象
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH)+1;//获取月份,0代表1月份
        int day=c.get(Calendar.DAY_OF_MONTH);
        int hour=c.get(Calendar.HOUR_OF_DAY);
        int minute=c.get(Calendar.MINUTE);
        int second=c.get(Calendar.SECOND);
        System.out.println("当前时间:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);}

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

public static void main(String[] args){
        Calendar c=Calendar.getInstance();//创建Calendar对象
        Date date=c.getTime();//将Calendar对象转换为Date对象
        long time=c.getTimeInMillis();//获取当前时间,以毫秒为单位
        System.out.println(date+" / "+time);
    }

 

Date/SimpleDateFormat/Calendar 综合应用

public static void main(String[] args){
        Calendar c=Calendar.getInstance();
        Date date=c.getTime();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String now=sdf.format(date);
        System.out.println("当前时间:"+now);
    }

 

使用Math类操作数据

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法,Math类的所有方法都是静态方法所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

常用的方法:

 

返回值

方法名

解释

long

round()

返回四舍五入后的整数

double

floor()

返回小于参数的最大整数

double

ceil()

返回大于参数的最小整数

double

random()

返回0~1之间的随机浮点数

 

public static void main(String[] args){
        double a=12.81;
        int b=(int)a;
        System.out.println("a强制类型转换后的值:"+b);
        long c=Math.round(a);
        System.out.println("四舍五入:"+c);
        double d=Math.floor(a);
        System.out.println("小于参数的最大整数:"+d);
        double e=Math.ceil(a);
        System.out.println("大于参数的最小整数:"+e);
        double f=Math.random();
        //生成随机整数,先调用random()方法生成0~1的随机浮点数
        //再乘以要生成的最大整数,最后强制类型转换称int类型
        int g=(int)(Math.random()*99);
    System.out.println(f+" / "+g);
    }

public static void main(String[] args){
        int[] nums=new int[10];
        for(int i=0;i<nums.length;i++){
            nums[i]=(int)(Math.random()*10);
        }
        for(int x:nums){
            System.out.print(x+" ");
        }
    }

 

*** END

 

以上是关于Java 中常用的类:包括基本类型的包装类Date 类SimpleDateFormat 类 Calendar 类 Math 类的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础-常用类(DateStringBufferStringBuilderMathArrays和包装类)

JAVA-初步认识-常用对象API(基本数据类型对象包装类-概述)

Java中的集合和常用类

Java基本类型的类包装知识点总结

大数据必学Java基础(四十八):包装类和日期类的讲解

Java包装类