数据类型和分类

数据类型和分类

  • java数据类型图:在这里插入图片描述

  • 在这里插入图片描述

    • 数据类型占用字节表

整数类型的应用:

- 代码

- ```java
  package com.cen.code;
  
  public class PlasticType {
  
      /*
       *虽然byte、short、int、long 数据类型都是表示整数的,但是它们的取值范围可不一样。
  
          byte 的取值范围:-128~127(-2的7次方到2的7次方-1)
  
          short 的取值范围:-32768~32767(-2的15次方到2的15次方-1)
  
          int 的取值范围:-2147483648~2147483647(-2的31次方到2的31次方-1)
  
          long 的取值范围:-9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1)
  
          由上可以看出 byte、short 的取值范围比较小,而long的取值范围时最大的,所以占用的空间也是最多的。
          * int 取值范围基本上可以满足我们的日常计算需求了,所以 int 也是我们使用的最多的一个整型类型。
       */
  
      public static void main(String[] args){
          int a = 1;
        //  int a1 = 2147483648;
          long b = 1;
        //  long b1 = 9223372036854774807;
          short c = 32767;
        //  short c1 = 32768;
          byte d = 127;
        //  byte d1 = 128;
          System.out.println(a);
          System.out.println(b);
          System.out.println(c);
          System.out.println(d);
  //        System.out.println(a1);
  //        System.out.println(b1);
  //        System.out.println(c1);
  //        System.out.println(d1);
      }
  
  }
  
  ```

- ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200728215336189.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQzNDIwNQ==,size_16,color_FFFFFF,t_70)


  - 代码的运行结果

- ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200728215356971.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQzNDIwNQ==,size_16,color_FFFFFF,t_70)

- #### 字符类型:(char)

  • 字符类型的代码应用
  • 代码
  • 在这里插入图片描述

- #### 布尔型(boolean)

  • boolean 没有什么好说的,它的取值就两个:true 、false 。

  •    //boolean 没有什么好说的,它的取值就两个:true 、false 。
                boolean bue = false;
                boolean bue1 = true;
                System.out.println(bue+"  "+bue1);
    
  • 输出结果为:在这里插入图片描述

- #### 各个类型之间存在自动转换

》int--> float

》long--> float

》long--> double

》float -->double without strictfp

- 强制转换

  • 如果要把大的转成小的,或者在short与char之间进行转换,就必须强制转换,也被称作缩小转换(narrowing conversion),因为必须显式地使数值更小以适应目标类型。强制转换采用转换操作符()。严格地说,将byte转为char不属于narrowing conversion),因为从byte到char的过程其实是byte–>int–>char,所以widening和narrowing都有。强制转换除了可能的精度损失外,还可能使模(overall magnitude)发生变化。强制转换格式如下:

    (target-type) value;
    

    如果整数的值超出了byte所能表示的范围,结果将对byte类型的范围取余数。例如a=256超出了byte的[-128,127]的范围,所以将257除以byte的范围(256)取余数得到b=1;需要注意的是,当a=200时,此时除了256取余数应该为-56,而不是200。

    将浮点类型赋给整数类型的时候,会发生截尾(truncation)。也就是把小数的部分去掉,只留下整数部分。此时如果整数超出目标类型范围,一样将对目标类型的范围取余数。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值