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类型,如果将最后一个数值转换,可能前面的数值已经超出范围

  • 相关阅读:
    java基础梳理--朝花夕拾(三)
    java基础梳理--朝花夕拾(二)
    [C++] 分治法之棋盘覆盖、循环赛日程表
    [C++] 递归之全排列问题、半数集
    蓝桥杯 算法训练 ALGO-143 字符串变换
    蓝桥杯 算法训练 ALGO-129 特殊的数字四十
    蓝桥杯 算法训练 ALGO-126 水仙花
    蓝桥杯 算法训练 ALGO-122 未名湖边的烦恼
    蓝桥杯 算法训练 ALGO-121 猴子分苹果
    蓝桥杯 算法训练 ALGO-116 最大的算式
  • 原文地址:https://www.cnblogs.com/xiaoguangit/p/4183303.html
Copyright © 2011-2022 走看看