5、JAVA数据类型

5、JAVA数据类型

5.1 基本数据类型

  • 数值型
    1. 整数类型:byte (1),short (2), int (4), long (8) (括号内数字表示字节)
    2. 浮点类型:float (4),double (8) (浮点数=符号位+指数位+尾数位)
  • 字符型 : char (2)
  • 布尔型:boolean (1) true,false

5.2 引用数据类型

  • 接口
  • 数组

5.3 基本数据类型转换

  1. 自动类型转换:

    char–>int–>long–>float–>double

    byte–>short–>int–>long–>float–>double

    image-20220402154500199

    java进行运算或赋值时,精度小的自动转换为精度最大的数据类型

    image-20220402155419445

    byte,short和char之间不会相互自动转换,但是三者可以计算,计算时自动转换为int类型

    image-20220402160804219

    把具体数赋值给byte时,先判断该数是否在byte范围内,如果是就可以

    image-20220402155949756

    Boolean 不参与运算转换

  2. 强制类型转换(会造成精度损失)

    数据精度从大到小转换时,用强制类型转换

    image-20220402161815161

5.4 基本类型和String转换

  1. 基本数据类型==>String: 在基本数据类型后+“”即可

    image-20220402164825459

  2. String==>基本数据类型: 基本数据类型对应的包装类的相应方法,得到转换后的基本数据类型

    image-20220402165624688

  • 有效的字符串才能转换,若字符串s=“abc”,则转换为基本数据类型会抛出异常

补充:

  • byte为基本存储单元,bit为最小存储单元,1 byte = 8 bit

  • 声明long 类型要加l或L,如:long a = 0910L;

  • java 浮点型常量(具体值)默认为double,所以如:float b = 3.14;是错误的,即声明float类型要加f或F,如:float b = 3.14f;

  • 5.12e2表示5.12乘10的2次方;5.12e-2表示5.12乘10的-2次方

  • 对运算结果是小数进行相等判断时要注意使用它们差值的绝对值在某个精度的范围内进行判断

    如:double num1 = 2.7; double num2 = 8.1/3; 那么num1==num2为false;需要使用如:Math.abs(num1-num2)<0.0000001来判断相等

  • 在java中,char的本质是一个整数,在默认输出时,是Unicode码对应的字符;所以char字符可以参与运算

    image-20220401220053821

  • char存储:‘a’>码值97>二进制(110 0001)==>存储

    char读取: 二进制(110 0001)>码值97>‘a’==>显示

  • 常用编码:

    • ASCII:使用1个字节,,可以表示256个字符,ASCII只用了128个字符
    • Unicode:能表示所有符号,没有乱码问题,一个英文字母和一个汉字都占用2个字节,即2的16次方=65536个字符,兼容ASCII
    • UTF-8:使用大小可变的编码,字母占1字节,汉字占3字节
    • gbk: 字母占1字节,汉字占2字节
  • 不可以用0和非0 表示boolean,只能用true或false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值