在Java编程中,有许多常用的类,了解这些常用类,有助于我们提高编程的效率。对于一些问题的解决,提供更多的思路。下面看一下 Java中的常用类。

1、Java中基本类型的包装类

   Java中的基本类型我们应该都知道,例如,int、float、double、boolean、char 等。为了让基本类型也具有对象特性,Java为每个基本数据类型都提供了一个包装类,这样就可以像操作对象那样操作基本数据类型。

基本类型                      对应的包装类

byte              →            Byte
short             →            Short
int                 →            Integer
long              →            Long
float              →            Float
double          →            Double
char              →            Character
boolean        →            Boolean

包装类其实就是提供类型转换的方法。以Integer为例看一下。

Integer包装类的构造方法:
Integer(int value):创建一个Integer对象,表示指定的int值。  
Integer(String s) :创建一个Integer对象,表示String参数所指示的int值。

如下代码所示:

        Integer a=new Integer(4);//定义包装类对象
        Integer b=new Integer("11");//定义包装类对象

Integer包装类的常用方法:

byteValue():将该Integer转为byte类型。// Integer obj=new Integer(1);byte b=obj.byteValue();
doubleValue():将该Integer转为double类型。//Integer obj=new Integer(1);double d=obj.doubleValue();
floatValue():将该Integer转为float类型。//Integer obj=new Integer(1);float f=obj.floatValue();
intValue():将该Integer转为int类型。//Integer obj=new Integer(1);int i=obj.intValue();
longValue():将该Integer转为long类型。//Integer obj=new Integer(1);long l=obj.longValue();
parseInt(String s):将字符串转为int类型。//int i = Integer.parseInt("30");
toString():将该Integer转换成字符串。//Integer obj=new Integer(1);String s=obj.toString();
valueOf(String s):将字符串转为Integer类型。//int i = Integer.valueOf("30");

2、Date和SimpleDateFormat类

我处理日期和时间相关的数据,我们可以使用java.util包中的Date类。Date类主要的作用是获取当前时间。而java.text包中的SimpleDateFormat类主要是对日期时间进行格式化的。具体如下,

import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormat {
public static void main(String []args){
        //创建Date对象,表示当前时间
        Date d=new Date();
        //创建SimpleDateFormat对象,指定目标格式
        // “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期,                                    HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //调用format()方法,格式化时间,转换为指定格式字符串
        String today=sdf.format(d);
        //输出转换后的字符串
        System.out.println(today);//运行结果:2018-07-29 21:51:50
    }
}

使用parse()方法将日期格式字符串转成Date对象。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormat {
    public static void main(String []args){
            //创建SimpleDateFormat对象,指定字符串的日期格式
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String day="2016-12-30 14:52:30";  //创建日期格式的字符串
             
            try {
                //调用parse()方法,将字符串转换为日期
                Date date =(Date)df.parse(day);
                //输出转换后的时间
                System.out.println("当前时间;" + date);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }  
    }
}

3、Calendar类

  从JDK1.1版本开始,在处理日期和时间时,系统推荐使用Calendar类进行实现(Date的一些方法都过时了)。在设计上,Calendar类的功能要比Date类强大很多。

import java.util.Calendar;
 
public class  CalendarDemo{
    public static void main(String []args){
        //创建Calendar对象
        Calendar c=Calendar.getInstance();
        //获取年
        int year=c.get(Calendar.YEAR);
        //获取月份,0表示1月份
        int month=c.get(Calendar.MONTH)+1;
        //获取日期
        int day=c.get(Calendar.DAY_OF_MONTH);
        //获取小时
        int hours=c.get(Calendar.HOUR_OF_DAY);
        //获取分钟
        int minute=c.get(Calendar.MINUTE);
        //获取秒
        int scond=c.get(Calendar.SECOND);
        //输出结果
        System.out.println(year+"-"+month+"-"+day+" "+hours+":"+minute+":"+scond);
        //运行结果是:2018-07-29 22:56:9
         
    }
}

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

import java.util.Calendar;
import java.util.Date;
 
public class CalendarDemo {
    public static void main(String []args){
        //创建Calendar对象
        Calendar c=Calendar.getInstance();
        //将Calendar对象转换为Date对象
        Date date=c.getTime();
        //获取当前毫秒数
        Long time=c.getTimeInMillis();
        System.out.println("当前时间:"+date);
        System.out.println("毫秒数:"+time);       
        //运行结果为: (系统当前时间)
        //当前时间:Sun Jul 29 23:03:56 CST 2018
        //毫秒数:1532876636921
    }  
}

4、Math类

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类来调用。例如,

Math.random();
public class MathDemo {
    public static void main(String []args){
        //定义一个double类型的变量
        double a=12.08;
        //将double类型强制转换 int类型,去掉小数位
        int b=(int) a;
        System.out.println("强制转换为:"+b);
        //调用round方法,进四舍五入
        Long c=Math.round(a);
        System.out.println("返回四舍五入的整数:"+c);
        //调用floor方法,小于参数的最大
        double d=Math.floor(a);
        System.out.println("返回小于参数的最大整数:"+d);
        //调用ceil方法,大于参数的最小
        double e=Math.ceil(a);
        System.out.println("返回大于参数的最小整数:"+e);
        //调用random方法,随机数[0,1)之间的 随机浮点数
        double f=Math.random();
        System.out.println("随机数:"+f);
        //调用random方法,随机[0,99)之间的整数
        int g=(int)(Math.random()*99);
        System.out.println("返回[0,99)之间的随机整数:"+g);
    }  
}

5、Random类

下面Random()的两种构造方法:
     Random():创建一个新的随机数生成器。
     Random(long seed):使用单个 long 种子创建一个新的随机数生成器。
我们可以在构造Random对象的时候指定种子(这里指定种子有何作用,请接着往下看),如:Random r1 = new Random(20);
或者默认当前系统时间的毫秒数作为种子数:Random r1 = new Random();
需要说明的是:你在创建一个Random对象的时候可以给定任意一个合法的种子数,种子数只是随机算法的起源数字,和生成的随机数的区间没有任何关系。如下面的Java代码:

Random rand =new Random(25);
int i;
i=rand.nextInt(100);//得到一个随机数