zoukankan      html  css  js  c++  java
  • Java的变量相关

    变量是在一个范围内的可变的值。

    要点:

    数据类型(确定变量的值的类型)

    一个字节里面8个位,每个位里存储0101这样的二进制的补码表示用来数据,一个字节的数据类型的第一个位是符号位,表示正负。

    数据类型 byte  short  int  long  float  double  char  boolean

    字节数   1    2    4     8   4     8    2      1

    在计算机内存储的是数据的补码形式,第1位是符号位,负数的补码等于它的反码+1,所以范围分别是:

        -2^8~2^7-1 ...................

    关于精度:

    什么精度?

      使用补码的时候,第一个字节的第一个位表示的是符号位,代表正负,这个可能就表示的是精度。所以,当将长的数据类型直接使用短的数据类型接受的话会报错,可能丢失精度,也就是前面的字节被抛弃了。

    变量的运算:

    同一数据类型进行操作,就是针对其补码的操作,当获取的补码位数超过原位数的时候,需要更改接受的数据类型,以报错得到的数据。

    不同的数据类型进行运算,现将小的数据类型转化为大的数据类型,再使用大的数据类型进行操作。一般获取的值都是属于大的数据类型。这就是变量的隐式转换。

    强制类型转换(大转小)

    就是截取大的类型的后面几个字节让字节数等于小的字节数,这样就可以被小的范围接受了。

    强制转换可能出现损失精度的问题。

  • 相关阅读:
    [Angualr 2] Watch for changes
    [Angular 2] Custom Validtors
    [Angular 2] The form export from NgFormControl
    [Angular 2] Validation
    [Angualr 2] Using FormBuilder
    [Angular 2] ng-control & ng-control-group
    [Angular 2] NgNonBindable
    [Ruby] LEVEL 2 Methods and Classes
    [Rails Level 2] Ground up
    [AngularJS] 5 simple ways to speed up your AngularJS application
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5515505.html
Copyright © 2011-2022 走看看