JAVA基本数据类型

紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明

primitive主数据类型和引用(两种变量类型)
  primitive主数据类型

类型位数值域
booleantrue或false
char16bits0 ~ 65535
byte8bits-128 ~ 127
short16bits-32768 ~ 32767
int32bits-2147483648 ~ 2147483647
long64bits-(2^64)/2 ~ (2^64)/2-1
float32bitsMIN_VALUE ~ MAX_VALUE
double64bitsMIN_VALUE ~ MAX_VALUE

integer(整数)包括(byte、short、int、long),浮点数包括float、double
  特殊说明:在给integer变量赋初值时,前缀0表示8进制,前缀0x表示16进制。
        char类型和String类型的变量可以包含任何一个Unicode编码。
  特殊的转义字符序列:
  

符号字符含义
\n换行 (0x0a)
\r回车 (0x0d)
\f换页符(0x0c)
\b退格 (0x08)
\0空字符 (0x20)
\s字符串
\t制表符
\"双引号
\'单引号
\反斜杠
\ddd八进制字符 (ddd)
\uxxxx16进制Unicode字符 (xxxx)

   watch out:带小数点的值如果最后不加上f都会被JAVA当作double类型。
   引用类型(这种类型非常类似于C/C++的指针类型。变量一旦声明后,类型就不能被改变了。)
    对象、数组都是引用数据类型。
    所有引用类型的默认值都是null。
    一个引用变量可以用来引用任何与之兼容的类型。
   JAVA常量
    特点:常量在程序运行期间不能被修改。
     用final关键字定义常量。(一般来说变量名全部大写表示常量。)
   自动类型转换
  byte、short、char—> int —> long—> float —> double
   低精度自动转化为高精度
   强制类型转换
    由于低精度可以向高精度转换,但为什么高精度不能向低精度转换?这就引入了强制类型转换。
     对于高精度向低精度转换,转换过程会产生精度丧失的情况。
    原因在于:

      假如有:double a = 3.1415926;
          int number = (int)a;
      编译运行后:
      在这里插入图片描述
     对于结果为什么是3
     这是因为double是64bits,而int是32bits,进行强制类型转化时丢失了小数部分。
     
      隐含的强制类型转换
    JAVA机制默认整数的默认类型是int,浮点数的默认类型是double。
   在强制类型转换的最后不得不多说一句:
     对象的强制转换称为造型。子类即是父类,父类不是子类;通过这种关系,子类可以造型成父类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值