zoukankan      html  css  js  c++  java
  • Java数据类型

    1.整数(默认类型为int)

      如果数据大于Long类型的范围,可以使用BigInteger类

      进制转换:

          八进制:0开头
          十六进制:0x或者0X开头


          Integer.toBinaryString();  //转换为二进制

          Integer.toOctalString();   //转换为八进制

          Integer.toHexString();   //转换为十六进制

      类型转换:

          如果数据的大小没有超出要转化的类型表述范围,则可以自动转型。

      Long类型:

          long a = 123456L   //L最好大写,否则容易和1混淆

    2.浮点型(默认类型为double)

      浮点数存在舍入误差,如要使用不产生舍入误差的精确数字,需要使用BigDecimal类

      在比较数字大小时,避免使用浮点型

      e的写法:

          314e-2 = 3.14  //表示314*10^(-2)

      float用法:

          float a = 3.14F  //F表示浮点常量为float类型

    3.字符

          //转义字符,用于输出 ' 等特殊字符

    类型转换:

       容量小的数据类型可以自动转换为容量大的数据类型。

       当一个数据类型强制转换为另一个类型,并且超出目标的表述范围,就会被截断成一个完全不同的值(无意义的值)。

       当两种类型的数据进行二元运算符(+-*、%),都会出现类型提升的类型,自动转换为类型容量大的数据类型

       Long a = 70*60*24*365*70;      //错误,int范围为21亿,应该转换为Long

       Long a = (Long)(70*60*24*365*70);  //错误,int范围为21亿,应该转换为Long

       //因为70*60*24*365*70已经超出int范围,出现错误

       Long a = 70L*60*24*365*70      //正确,最好将第一个数值转换为Long类型,如果将最后一个数值转换,可能前面的数值已经超出范围

  • 相关阅读:
    hdu 4849
    HDU4850 构造一个长度为n的串,要求任意长度为4的子串不相同
    2014 多校第一场官方题解。
    hdu4862 2014多校B题/ 费用流(最优情况下用不大于K条路径覆盖)(不同的解法)
    dp+分类讨论 Gym 101128E
    优先队列 逆向思维 Gym 101128C
    很好的脑洞题:dfs+暴力 Gym
    树dp...吧 ZOJ 3949
    扫描线(线段树)+贪心 ZOJ 3953
    dp ZOJ 3956
  • 原文地址:https://www.cnblogs.com/xiaoguangit/p/4183303.html
Copyright © 2011-2022 走看看