基本数据类型和引用数据类型及数据类型转换

数据类型

  • 基本数据类型
  • 引用数据类型

基本数据类型(值类型/原始类型)

  • 低精度的可以向高精度转换,高精度不能向低精度转换,因为会丢失内容。

整型数据

  • byte -> short -> int -> long

  • byte

    • 内存存储占一个字节,8位
    • 存储数据范围:-128 ~ 127
  • short

    • 内存存储占2个字节,16位
    • 存储数据范围:-32768 ~ 32767
  • int

    • 内存存储占4个字节,32位
    • 存储数据范围:-2147483648 ~ 2147483647
  • long

    • 内存存储占8个字节,64位
    • 存储数据范围: ~
  • 调用long.toBinaryString()可以知道数在内存中的二进制形式

    public static main(string[]){
    
        //出错,3025164895会被看成是int型,超出了int范围
       long lon = 3025164895; 
        
       //处理办法,在后面加L,表示这串数是long类型
       long lon = 3025164895L;
    }
    

浮点型数据

  • float

    • 内存存储占4个字节,32位
    • 存储数据范围:
    • java中任何带小数点的常量将被视为double型
    public static void main(String[] args) {
    	//175.5会被视为一个double型 
        float fl = 175.5;
        //正确写法
        float f1 = 175.5F;
        
    	}
    
  • double

    • 实际应用中应使用double存储小数

    • 内存存储占8个字节,64位

    • 存储数据范围:

科学计数法

  • 2E5表示2乘以105次方,E可以小写
  • 科学计数法只能用来表示浮点型

字符型

  • jvm对字符采用Unicode无符号进行编码
  • 内存存储占2个字节,16位
  • char可存储数字0~65535范围内的非负数
  • 字符常量:'A' '9' '\n' '\\'
  • 注意 \ 是转义字符,\n不再是n,而是键盘上的换行符,要想打印转义字符,就得将转义字符给转义了:\\
  • char和int是兼容的,也就说可以相互转换。
  • char接受int型常量赋值不能超过最大的范围。
  • 将int型变量赋值给char型是错误的,因为变量运行时才能知道值是多少,必须使用强制类型转换

布尔类型(boolean)

  • 有true、false两种值
  • 标准jvm规范定义,在java语言中在计算机底层使用int类型存储boolean类型数据,所以Boolean类型占用4个字节存储空间
  • 由于jvm实现的不同,处理Boolean类型底层存储也会不同

引用数据类型

  • 数组
  • String
  • 自定义类型

数据类型转换

  1. 自然转换(自动):由低精度向高精度数据类型转换

    byte -> short -> int ->long -> float -> double

  2. 强制转换:由高精度向低精度数据类型转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值