zoukankan      html  css  js  c++  java
  • Java基础学习:八种基本数据类型及基本类型的一些运算规则

    四种整数类型(byte short int long)

    byte

    • 二进制表示位数:8位
    • 字节:1个字节
    • 范围:-2^7——2^7-1
    • -128-127

    short

    • 二进制表示位数:16位
    • 字节:2个字节
    • 范围:-2^15——2^15-1
    • -32769-32767

    int

    • 二进制表示位数:32位
    • 字节:4个字节
    • 范围:-2^31——2^31-1
    • -2147483648-2147483647

    long

    • 二进制表示位数:64位
    • 字节:8个字节
    • 范围:-2^63——2^63-1

    它们的默认值都为0,整数都默认为int类型,所以在定义long类型数据时后面加上L或者l

    两种浮点类型(float double)

    float

    • 字节:4个字节(32位)
    • 精度:单精度
    • 一位符号位,8位指数位,23位有效尾数,要想该字面值当做float类型来处理,需要在字面值后面添加F/f

    double

    • 字节:8个字节(64位)
    • 精度:双精度
    • 一位符号位,11位指数,52位有效尾数,要想该字面值当做double类型来处理,需要在字面值后面添加D/d。

    字符型(char)

    • 字节:2个字节
    • char 数据类型可以储存任何字符(前提是Unicode编码中有的字符)
    • 中文占两个字节
    • 0-65535

    布尔类型(boolean)

    • 有且只有两种取值:true/alse(用来判断逻辑条件的)
    • 字节:《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替。而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。
    • 总结:boolean在数组情况下为1个字节,单个boolean为4个字节。(前提条件是在《Java虚拟机规范》)
    • Java规范中,没有明确指出boolean的大小,所以一个字节、4个字节都是有可能的。

    八中基本数据类型转换规则及运算规则

    • 八种基本数据类型中,除boolean类型不能转换,其他七种类型之间都可以进行转换
    • 自动类型转换:从存储范围小的类型向存储范围大的类型转换(byte-->short(char)-->int-->long-->float-->double
    • 强制类型转换:从存储范围大的类型向存储范围小的类型(double-->float-->long-->int-->short(char)->byte)
    • 注意:强制转换有缺点:①会损失精度,产生误差,转换过程中部分内容会被丢掉。②容易超过取值范围
    • 如果整数型字面量(数字)没有超出 byte short char 的取值范围,可以直接将其赋值给byte short char类型的变量
    • byte short char 类型混合运算时,先各自转换为int类型再做运算
    • 多种数据类型混合运算,先各自转换为容量最大的那种类型再做运算
  • 相关阅读:
    fastcgi与cgi的区别
    oracle启动脚本
    oracle表空间大小的限制和DB_BLOCK_SIZE的概念
    静默安装Oracle11G
    ls 指令的介绍
    cronolog日志切割catalina.out
    oracle expdp自动备份脚本
    tomcat开启自启动
    oracle listener.ora文件配置
    CentOS 7.0 上安装和配置 VNC 服务器
  • 原文地址:https://www.cnblogs.com/thesky-wfei/p/12368824.html
Copyright © 2011-2022 走看看