数据类型java

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

弱类型语言

 

java的数据类型分为两大类

  • 基本类型(primitive type)

    (1). 数值类型:

    a.整数类型:byte占1个字节(8bit)范围-128~127(数据在内存里以补码的形式存储,所以范围是补码的范围)

    short占2个字节范围:-32768~32767

    int占4个字节范围:-2147483648~2147483647

    long占8个字节范围:-9223372036854775808

    ~9223372036854775807

    > 为了表示区分在long类型要在数字后面加L

     

    c.浮点类型:float占四个字节

    > 为了表示区分在float类型要在数字后面加F

    double占8个字节

    d.字符类型:char占2个字节

    char name='A'
    char name='侯'
    char nemae='A侯'//错误char只能一个字,应该使用字符串类型

     

    (2). boolean类型:占1位(1bit)其值只有true和false两个

     

  • 引用类型(reference type)

    类、接口、数组

     

    数据类型扩展及面试题讲解

    1. 整数扩展:二进制0b开头、十进制、八进制0开头、十六进制0x开头

    2. 浮点数扩展:float是 有限 离散 舍入误差 大约 接近但不等于所以最好完全避免使用浮点数进行比较。

    3. 字符拓展:(int)可以强制转换为数字,所有的字符本质上还是数字(采用unicode编码),Unicode编码 2字节 65536(2^16)个字符。 Unicode表示的范围U0000~UFFFF(u是前缀代表是unicode编码,后面是4位16进制数)

    4. 转义字符:\t 制表符 、\n换行 、\u unicode编码

    5. 布尔值扩展

类型转换

  1. 由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换

低----------------------------------------高

byte,short,char->,int->,long->,float->double(小数的优先级大于整数)

  1. 运算中,不同类型的数据先转化为同一类型,然后进行运算。

 

  1. 强制类型转换:(类型)+变量名 从高--低

  2. 自动类型转换:低--高 自动转换

【注意】

  • 不能对布尔值进行转换

  • 不能把对象类型转换位不相干的类型

  • 在把高容量类型换到低容量的时候,强制转换

  • 在转换的时候可能存在内存溢出,或者精度问题

 

posted @ 2022-06-19 19:49  robber1  阅读(19)  评论(0)    收藏  举报