zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【MFC初学】
    【递归】【3月周赛1】【Problem B】
    不管ACM是不是屠龙之技
    【贪心+背包】【HDU2546】【饭卡】
    【精度问题】【HDU2899】Strange fuction
    【泛化物品】【HDU1712】【ACboy needs your help】
    【递推】【HDU2585】【hotel】
    【二进制拆分多重背包】【HDU1059】【Dividing】
    【水:最长公共子序列】【HDU1159】【Common Subsequence】
    【递推+矩阵快速幂】【HDU2604】【Queuing】
  • 原文地址:https://www.cnblogs.com/liuyun66535309/p/8955521.html
Copyright © 2011-2022 走看看