您的位置:首页 > 编程语言 > Java开发

Java常用技巧汇总

2017-07-27 09:43 387 查看
Java常用技巧

一、Math函数

1:ceil():将小数部分向整数部分进位。Math.ceil(6.3)返回6.0

2:floor():舍去小数,仅保留整数。Math.floor(6.2)返回6.0

3:round():进行四舍五入。Math.round(6.2)返回6.0,Math.round(6.7)返回7.0。

二:、保留小数点后两位

1://这种方法在代码里使用后,表里却不是两位小数,很奇怪。。。

     double d1 = 0.423546456523;    

     BigDecimal bd  =  new BigDecimal(d1);    

     double d2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();  //百分比乘以100保留两位小数

     System.out.println("d1:"+d1+"\t"+"d2:"+d2);

     测试结果:d1:0.423546456523 d2:0.42

2:使用String的格式化字符串方法,%.2f : %.表示小数点前的占位符,2表示两位小数,格式后的结果为f表示浮点型

     double d = 43.53465464;  

     String result = String.format("%.2f",d);  

     Double dd=Double.parseDouble(result);//将String数据再转回double

     System.out.println("d:"+d+"\t"+"dd:"+dd);

     测试结果:d:43.53465464 dd:43.53

3:

    double d=34.5464753423;

    double dd=(double)(Math.round(d*100)/100.0);

    System.out.println("d:"+d+"\t"+"dd:"+dd);
    测试结果:d:34.5464753423 dd:34.55

三、获取指定月份第一天和最后一天

package com.terisadeng;                                                      

                                                                      

import java.text.SimpleDateFormat;                                    

import java.util.Calendar;                                            

                                                                      

public class LastDatOfMonth                                           

{                                                                     

    public static void main(String[] args)                            

    {                                                                 

        Calendar calendar=Calendar.getInstance();                     

        calendar.set(Calendar.YEAR, 2017);      

        //日历的月份是从0开始的,所以5表示6月                      

        calendar.set(Calendar.MONTH, 5);                              

        int firstDay=calendar.getActualMinimum(calendar.DAY_OF_MONTH);

        int lastDay=calendar.getActualMaximum(calendar.DAY_OF_MONTH); 

        System.out.println(6+"月第一天是:"+firstDay);                      

        System.out.println(
4000
6+"月最后一天是:"+lastDay);                      

        calendar.set(Calendar.DAY_OF_MONTH, lastDay);                 

        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");      

        System.out.println(sdf.format(calendar.getTime()));           

    }                                                                 

}     

console:

6月第一天是:1                                                                  

6月最后一天是:30

2017-06-30

获取指定年月截止,每月最后一天

public static void main(String[] args)

    {

        String year="2017";

        String month="9";

        String [] monthArray=new String[Integer.parseInt(month)];

        for (int i = 0; i < Integer.parseInt(month); i++ )

        {

            Calendar calendar=Calendar.getInstance();

            calendar.set(Calendar.YEAR, Integer.parseInt(year));

            calendar.set(Calendar.MONTH, i);

            int lastDay=calendar.getActualMaximum(calendar.DAY_OF_MONTH);

            calendar.set(Calendar.DAY_OF_MONTH, lastDay);

            SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");

            monthArray[i]=sdf.format(calendar.getTime());

        }

        for (int i = 0; i < monthArray.length; i++ )

        {

            System.out.print(monthArray[i]+"\t");

        }

    }

console:

20170131 2017022820170331
2017043020170531
2017063020170731
2017083120170930

四、char[]与String互转

1、String转换成char[]

String str="123";

char [] arr=str.toCharArray();

2、char[]转换成String

1)String data=new String(arr);

2)String data=String.valueOf(data);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: