Java学习(基本程序设计)——数据类型,数据类型转换

Java数据类型分类


基本数据类型

数值类型

数值类型

  1. byte类型占一个字节范围:-128~127

  2. short类型占两个字节范围:-32768~32767

    • byte和short主要用于特定的应用场合,例如底层文件的处理或者存储空间很宝贵时的大数组

  3. int类型占四个字节范围:-2147483648~2147483647(刚超过21亿)

    • 在Java中大数之间常用下划线_分割,不会对输出有影响(java编辑器会去除这些下划线)

       

  4. long类型占八个字节范围:-9223372036854775808~9223372036854775807

    • long型后面要有大写L或者小写l

    整数扩充

    1. 二进制表示:0b或者0B开头

    2. 八进制表示:有0前缀,例如010表示8

    3. 十六进制:0x或者0X开头

浮点类型

  1. float类型占四个字节

    • 精度:6~7位有效数字

    • 一定有一个后缀F或者f

  2. double类型占八个字节

    • 精度:是float的两倍

    • 可以有后缀D或者d

       

  • 用于表示溢出和出错的三个特殊浮点数数值

    • 正无穷大:常量Double.POSITIVE_INFINIT

    • 负无穷大:常量Double.NEGATIVE_INFINITY

    • NaN(非数字):常量Double.NaN

      • 常用Double.isNaN(x)判断x是不是数字

  • 浮点数值不适合用于无法接受舍入误差的金融计算,这时需要用大BigDecimal类(大数类)

字符类型

  1. char类型占四个字节

    • char类型表示单个字符用单引号''

    • string类表示字符串用双引号""

       

    • 所有的字符本质还是数字

       

  • 特殊的转义字符(转义字符:\u)

转移序列名称Unicode值
\b退格\u0008
\t制表\u0009
\n换行\u000a
\r回车\u000d
\'单引号\u0022
\"双引号\u0027
\\反斜杠\u005c
  • Unicode编码占两字节范围从\u0000~\uFFFF

  • Unicode转移序列会在解析代码之前处理,例如"\u0022+\u0022"结果为""+""

布尔类型

  • boolean类型占一位,只有false和true两个值


引用数据类型

  1. 接口

  2. 数组


数据类型转换

  • 运算中不同类型的数据需要先转化为同一类型,然后进行运算

  • 整型和布尔型不能进行相互转换

低——————————————>高

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

强制类型转换(从高到底)

格式:(类型名)变量

int i=128;
byte j=(byte)i;//i从int到byte需要强制转换

自动类型转换(从低到高)

int i=128;
double j=i;//i从低到高结果变为128.0
  • 转换可能出现内存溢出或者精度问题

  • 精度问题:

    精度丢失!!!

     

  • 内存溢出:

    内存溢出变为负数!!!

    将任意一个运算数强制转换为长整型后输出正确结果!!


     

 参考书籍:Java核心技术 卷1(原书第11版)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Iron_Sp-man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值