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
           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之间的转换
 
(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之间的转换

(a)double 转换 Double
        double d = 3.33;
        Double D = Double.valueOf(d);
(b)Double 转换 double
        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 之间的转换

(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
  
(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);

(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);
  
(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
  BigDecim big = new BigDecimal(0.00);
  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();
 









































































































































以上是关于java核心技术总结篇一的主要内容,如果未能解决你的问题,请参考以下文章

超级搜索术 总结篇1

深度学习核心技术精讲100篇(四十二)-阿里妈妈深度树匹配技术演进:TDM->JTM->BSAT

一种数据增强方法-非核心词替换

作为一技术人员,面试前都需要做哪些准备?

####好好好好########追一技术分享 | N2X技术:自然语言与多样知识载体的高效交互

Java集合类常见面试知识点总结