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);
一、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);
相关文章推荐
- java技巧——常用的一些好方法
- [置顶] Spark常用算子详解汇总 : 实战案例、Java版本、Scala版本
- Java常用集合汇总
- VI指令及其使用技巧(汇总,仅最常用的)
- jQuery常用的一些技巧汇总
- Java性能优化技巧汇总
- Linux Shell 常用技巧汇总
- java 位运算常用技巧
- Java数据库编程中的几个常用技巧
- Android Studio常用技巧汇总
- Java中Map常用方法总结以及遍历方式的汇总
- css常用技巧汇总
- java后端开发常用日志技巧
- 2015.02.28 java基础常用技巧积累
- Windows常用网络命令技巧汇总 [转]
- 常用的Java代码汇总
- Java数据库编程中的几个常用技巧
- 【java】Maven项目开发中常用的依赖包汇总,不断更新
- Java常用英语汇总(面试必备)
- Java常用的输出调试技巧