数据类型相关内容

数据类型

  • 数据类型可以分为基本数据类型和引用数据类型两种

数据类型

  1. byte 占用1字节
  2. short 占用2字节
  3. char 占用2字节
  4. int 占用4字节
  5. long 占用8字节
  6. float 占用4字节
  7. double 占用8字节

自动类型提升

  • byte short char 在参与运算时 会自动提升为int 类型

    例如:byte b1=3,b2=4,b;
    b=b1+b2;
    b=3+4;

    第二句就会编译出错,出现“不兼容的类型: 从int转换到byte可能会有损失”,此处是因为b1,b2,b都定义为了byte类型,但是byte在参与运算时会自动提升为int类型进行运算,所以定义b应该单独进行定义为int型。
    第三句不会出现编译错误,是因为常量优化机制,如果是两个常量在运算,他会判断这个结果是否存在于这个数据类型的范围内,如果超过,则出现错误,反之,编译成功。

  • long float double 参与运算时会提升为 long float double类型

  • boolean不参与运算,只有true和false

“+”的两种作用

  • 运算
  • 连接
    例如:System.out.println(1+6);//7
    System.out.println("1"+'1');//“11”,有双引号中的字符串出现时,字符串左右不需要考虑ASCII码,但是运算需要从左到右顺序运算。
    System.out.println('1'+'2');//99,单个字符相加需要查找单个字符的ASCII码
    System.out.println(1+"2");//"12"连接左右
    System.out.println("1"+"2");//"12"
    System.out.println(1+3+"2"+3);//"42"+3="423",1和2进行运算,然后和2连接。
    }

  • 此处注意“”中是字符串,‘’中是单个字符,是双引号和单引号间的区别。

  • 如果出现System.out.println('1'+'2'+"3"+4);这样的运算,‘1’+‘2’运用ASCII码得99,99和字符串“3”连接得993,再和4连接得9934。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值