美文网首页
Java 小知识(三)

Java 小知识(三)

作者: hzwy23 | 来源:发表于2017-11-19 10:42 被阅读0次

    1. Java基本数据类型

    Java中有8种基本数据类型,这8种基本数据类型又可以再分类为如下三类:

    a). 数值类型

    类型名 范围 存储大小
    byte -128 ~ 127 8位带符号数
    short -32768 ~ 32767 16位带符号数
    int -2147483648 ~ 2147483647 32位带符号数
    long -9223372036854775808 ~ 9223372036854775807 64位带符号数
    float 负数:-3.4028235E+38 ~ 1.4E-45 正数:1.4E-45 ~ 3.4028235E+38 32位,标准IEEE 754
    double 负数:-1.7976931348623157E+308 ~ -4.9E-324 正数范围: 4.9E-324 ~ 1.7976931348623157E+308 64位,标准IEEE 754

    b). 字符值类型

    类型名 描述
    char 字符,用单引号包围

    c). 布尔值类型

    类型名 描述
    boolean true 和 false 两种值

    2. Java字符编码

    ASCII

    8位编码表,使用ASCII编码定义字符方式:

    char letter = 'A';
    

    Unicode

    最初是16位编码表,能够表示65536个字符,后来进行了扩展,能够表示1112064个字符。Unicode编码包含了ASCII编码
    使用方式:

    char letter = '\u0041';
    

    3.Java最小化数值错误

      在Java使用浮点数计算时,可能存在一些误差,导致这个误差最根本的原因是计算机中浮点数用近似值表示,当一个大的浮点数加上一个小的浮点数时,按照近似值表示方法,增加的小浮点数有时候会被忽略。
      所以,在处理浮点数加法运算时,先将小的浮点数加起来,将其结果再去加大的浮点数,这样有助于提高运算精度。

    public class DemoOne {
      
      public static void doubleAdd() {
          double sum = 0.0;
          for(double i = 0; i <= 1; i= i+0.01){
              sum += 0.01;
          }
          System.out.println(sum);
      }
    
      public static void floatAdd() {
         float sum = 0.0f;
         for(float i = 0; i <= 1; i=i+0.01f){
             sum += 0.01f;
         }
         System.out.println(sum);
      }
    
      public static void main(String args[]){
          doubleAdd();
          floatAdd();
      }
    }
    // 输出信息:
    //   1.0000000000000007
    //   1.0099994
    

    相关文章

      网友评论

          本文标题:Java 小知识(三)

          本文链接:https://www.haomeiwen.com/subject/fesuvxtx.html