java核心技术总结篇一
Posted zlhl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java核心技术总结篇一相关的知识,希望对你有一定的参考价值。
引言:
有没有一些开发工作几年的老程序员,在涉及到各种数值类型之间的转换时,常常忘记,需要百度一下,特别时涉及到金额的计算(大数值BigDecimal的运算),和比较大小常常忘记,以下是我总结的超级详细的各种数值类型的转换:
基本数字类型转换伟包装器类叫做-封箱;
包装器类转换伟基本数字类型叫做-解箱;
1、int 、Integer、String之间的转换
(a)int 转换为 Integer
int i = 3;
Integer I = Integer.valueOf(i);
(b)Integer 转换为 int
(a)int 转换为 Integer
int i = 3;
Integer I = Integer.valueOf(i);
(b)Integer 转换为 int
i = I.intValue();
(c)String 转换为 Integer
String s = "2";
I = Integer.valueOf(s);
(d)String 转换为 int
i = Integer.parseInt(s);
(e)将int转换成String
s = String.valueOf(i);
(f)将Integer 转换为 String
s = I.toString();
2、float、Float、String之间的转换
(c)String 转换为 Integer
String s = "2";
I = Integer.valueOf(s);
(d)String 转换为 int
i = Integer.parseInt(s);
(e)将int转换成String
s = String.valueOf(i);
(f)将Integer 转换为 String
s = I.toString();
2、float、Float、String之间的转换
(a)float 转换为 Float
float f = 0.45f;
Float F = Float.valueOf(f);
(b)Float 转换 float
f= F.floatValue();
(c)String转换为Float
String sf = "5.00";
F = Float.valueOf(sf);
(d)将 String转换为 float
f = Float.parseFloat(sf);
(e)将Float 转换为String
sf = F.toString();
(f)将float转换为String
sf = String.valueOf(f);
3、double、Double、String之间的转换
float f = 0.45f;
Float F = Float.valueOf(f);
(b)Float 转换 float
f= F.floatValue();
(c)String转换为Float
String sf = "5.00";
F = Float.valueOf(sf);
(d)将 String转换为 float
f = Float.parseFloat(sf);
(e)将Float 转换为String
sf = F.toString();
(f)将float转换为String
sf = String.valueOf(f);
3、double、Double、String之间的转换
(a)double 转换 Double
double d = 3.33;
Double D = Double.valueOf(d);
(b)Double 转换 double
d = D.doubleValue();
d = D.doubleValue();
(c)String 转换Double
String sd = "3.22";
D = Double.valueOf(sd);
(d)String 转换为double
d = Double.parseDouble(sd);
(e)Double 转换为String
sd = D.toString();
(f)double 转换为 String
sd = String.valueOf(d);
4、long、Long、String之间的转换
(a)long 转换为 Long
long l = 1000;
Long L = Long.valueOf(l);
(b)Long 转换为 long
l = L.longValue();
(c)String 转换为 Long
String sl = "100";
L = Long.valueOf(sl);
(d)String 转换为 long
l = Long.parseLong(sl);
(e)Long 转换为 String
sl = F.toString();
(f)long 转换为String
sl = String.valueOf(l);
5、String、BigDecimal之间的转换
String sb = "3.33";
(a)String 转换为 BigDecimal
BigDecimal bg = new BigDecimal(sb);
(b)BigDecimal 转换为 String
sb = bg.toString();
6、int 、Integer、BigDecimal 之间的转换
String sd = "3.22";
D = Double.valueOf(sd);
(d)String 转换为double
d = Double.parseDouble(sd);
(e)Double 转换为String
sd = D.toString();
(f)double 转换为 String
sd = String.valueOf(d);
4、long、Long、String之间的转换
(a)long 转换为 Long
long l = 1000;
Long L = Long.valueOf(l);
(b)Long 转换为 long
l = L.longValue();
(c)String 转换为 Long
String sl = "100";
L = Long.valueOf(sl);
(d)String 转换为 long
l = Long.parseLong(sl);
(e)Long 转换为 String
sl = F.toString();
(f)long 转换为String
sl = String.valueOf(l);
5、String、BigDecimal之间的转换
String sb = "3.33";
(a)String 转换为 BigDecimal
BigDecimal bg = new BigDecimal(sb);
(b)BigDecimal 转换为 String
sb = bg.toString();
6、int 、Integer、BigDecimal 之间的转换
(a)Integer 转换为 BigDecimal
Integer I = 1000;
bg = new BigDecimal(I);
(b)int转换为BigDecimal
int i = 1000;
bg = new BigDecimal(i);
(c)BigDecimal 转换为 int
i = bg.intValue();
7、double 、 Double、BigDecimal 之间的转换
(a)Double 转换 为 BigDecimal
Double Db = 4.44;
BigDecimal dg = new BigDecimal(Db);
(b)double 转换为 BigDecimal
double db = 4.33;
dg =BigDecimal.valueOf(db);
(c)BigDeciaml 转换为 double
db = dg.doubleValue();
8、注:将普通的数值转换成大数据,可使用valueOf静态方法转换
double d = 100;
long l = 100;
BigDecimal big1 = BigDecimal.valueOf(d);
BigDecimal big2 = BigDecimal.valueOf(l);
9、BigDecimal 的运算,+ add,- subtract, * multiply ,/ divide
(a)加运算 add
BigDecimal big = new BigDecimal(0.00);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt + tranAmt
big = BigDecimal.valueOf(avlAmt).add(BigDecimal.valueOf(tranAmt));
System.out.println("avlAmt add tranAmt =" +big); //1101.00
BigDecimal big = new BigDecimal(0.00);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt + tranAmt
big = BigDecimal.valueOf(avlAmt).add(BigDecimal.valueOf(tranAmt));
System.out.println("avlAmt add tranAmt =" +big); //1101.00
(b)减运算 subtract
BigDecimal big = new BigDecimal(0.00);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt - tranAmt
big = BigDecimal.valueOf(avlAmt).subtract(BigDecimal.valueOf(tranAmt)); //1000.9
System.out.println("avlAmt subtract tranAmt=" + big);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt - tranAmt
big = BigDecimal.valueOf(avlAmt).subtract(BigDecimal.valueOf(tranAmt)); //1000.9
System.out.println("avlAmt subtract tranAmt=" + big);
(c)乘法运算 multiply
BigDecimal big = new BigDecimal(0.00);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt * tranAmt
big = BigDecimal.valueOf(avlAmt).multiply(BigDecimal.valueOf(tranAmt));
System.out.println("avlAmt multiply tranAmt=" + big);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt * tranAmt
big = BigDecimal.valueOf(avlAmt).multiply(BigDecimal.valueOf(tranAmt));
System.out.println("avlAmt multiply tranAmt=" + big);
(d)除运算 divide
BigDecim big = new BigDecimal(0.00);
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt / tranAmt
big = BigDecimal.valueOf(avlAmt).divide(BigDecimal.valueOf(tranAmt),2,BigDecimal.ROUND_DOWN);
System.out.println("avlAmt divide tranAmt=" + big);
10、 BigDecimal 的比较,使用静态方法 compareTo(),如果相等,则返回0,如果小于,返回-1,如果大于, 返回1
double avlAmt = 1000.09;
double tranAmt = 100.01;
//avlAmt / tranAmt
big = BigDecimal.valueOf(avlAmt).divide(BigDecimal.valueOf(tranAmt),2,BigDecimal.ROUND_DOWN);
System.out.println("avlAmt divide tranAmt=" + big);
10、 BigDecimal 的比较,使用静态方法 compareTo(),如果相等,则返回0,如果小于,返回-1,如果大于, 返回1
BigDecim big = new BigDecimal(0.00);
double avlAmt = 1000.09;
double tranAmt = 100.01;
BigDecimal.valueOf(avlAmt).compareTo(BigDecimal.valueOf(tranAmt));
总结:
double avlAmt = 1000.09;
double tranAmt = 100.01;
BigDecimal.valueOf(avlAmt).compareTo(BigDecimal.valueOf(tranAmt));
总结:
1、字符串转换成BigDecimal: new BigDecimal(字符串);
2、BigDecimal 转换为 String,toString()就好;
3、double转换为BigDecimal,使用BigDecimal的静态方法 valueOf();
4、BigDecimal 转换为 double,使用 BigDecimal的对象 b.doubleValue();
5、long转换为 BigDecimal ,使用valueOf()方法
6、BigDecimal 转换为 long,使用BigDecimal 的对象 bg.longValue();
2、BigDecimal 转换为 String,toString()就好;
3、double转换为BigDecimal,使用BigDecimal的静态方法 valueOf();
4、BigDecimal 转换为 double,使用 BigDecimal的对象 b.doubleValue();
5、long转换为 BigDecimal ,使用valueOf()方法
6、BigDecimal 转换为 long,使用BigDecimal 的对象 bg.longValue();
以上是关于java核心技术总结篇一的主要内容,如果未能解决你的问题,请参考以下文章
深度学习核心技术精讲100篇(四十二)-阿里妈妈深度树匹配技术演进:TDM->JTM->BSAT