zoukankan      html  css  js  c++  java
  • Java的8种基本数据类型

    待整理主题:Java的8种基本数据类型与对应封装类型、拆箱、装箱

    ===================================================================================================

     参考文章:

    java中char数据类型的使用

     

    char:java中称为“字符型”  占2个字节

     

    字符常量是用单引号括起的一个字符  且字符常量在内存中存储的是该字符在Unicode字符集中的排序位置,即整数

    eg:char x='a'

    内存x中存储的是字符a在Unicode字符集中的排序位置97  因此允许将上面的语句写成char x=97;

    由此例可以得出以下结论:

    1.要观察一个字符在Unicode字符集中的排序位置,必须使用int类型显示转换,例如:(int)'a'

    2.同理,如果要得到一个0---65535之间的数所代表的Unicode表中相应位置上的字符也必须使用char型显示转换

     

    ===================================================================================================

     参考文章 

    八种基本数据类型

     Java的基本数据类型有八种:

     

    1)四种整数类型(byte、short、int、long):
    byte:8位,用于表示最小数据单位,如文件中数据,-128~127
    short:16位,很少用,-32768 ~ 32767
    int:32位、最常用,-2^31-1~2^31 (21亿)
    long:64位、次常用
    - 注意事项:
    - int i=5; // 5叫直接量(或字面量),即直接写出的常数。
    - 整数字面量默认都为int类型,所以在定义的long型数据后面加L或l。
    - 小于32位数的变量,都按int结果计算。
    - 强转符比数学运算符优先级高。见常量与变量中的例子。

    2)两种浮点数类型(float、double):
    float:32位,后缀F或f,1位符号位,8位指数,23位有效尾数。
    double:64位,最常用,后缀D或d,1位符号位,11位指数,52位有效尾数。
    - 注意事项:
    - 二进制浮点数:1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)
    - 尾数: . 1010100010 指数:1010 基数:2
    - 浮点数字面量默认都为double类型,所以在定义的float型数据后面加F或f;double类型可不写后缀,但在小数计算中一定要写D或X.X。
    - float 的精度没有long高,有效位数(尾数)短。
    - float 的范围大于long 指数可以很大。
    - 浮点数是不精确的,不能对浮点数进行精确比较。

    3)一种字符类型(char):
    char:16位,是整数类型,用单引号括起来的1个字符(可以是一个中文字符),使用Unicode码代表字符,0~2^16-1(65535)。

    注意事项:
    不能为0个字符。
    转义字符: 换行 回车 Tab字符 ” 双引号 表示一个
    两字符char中间用“+”连接,内部先把字符转成int类型,再进行加法运算,char本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

    4)一种布尔类型(boolean):true真 和false假。

    5)类型转换: char–> 
    自动转换:byte–>short–>int–>long–>float–>double 
    强制转换:

      1. 会损失精度,产生误差,小数点以后的数字全部舍弃。
      2. 容易超过取值范围。

     

    ===================================================================================================

     java里不是说char类型自动向int型转换吗?那为什么..

     

    解释一:常量和变量的内存模型
    解释二:char类型加减一个值是左右偏移
    char a='a';
    char b=a+18; //运行时程序报错了


     

    ===================================================================================================

     short类型与int类型转换,float类型与double类型转换

     

     

     

     

    ===================================================================================================

    为什么Long类型的比float类型的范围小?

     

     

     

  • 相关阅读:
    从0移植uboot (一) _配置分析
    一段美好的记忆,一份真挚的感情,已经远去......
    搭建SSH服务
    Ubuntu16.04中搭建TFTP 和 NFS 服务器
    关于x210开发板和主机、虚拟机ping通问题
    SPI总线的特点、工作方式及常见错误解答
    u-boot全面分析
    C语言类型的隐式转换问题
    uboot-jiuding 下主Makefile详解
    异常处理
  • 原文地址:https://www.cnblogs.com/whoknows1/p/10535097.html
Copyright © 2011-2022 走看看