Java基础篇《1》--数据类型

基础篇 《一》

Java数据类型

  • Java对整型有三种不同表现形式
    • 十进制
    • 八进制
    • 十六进制
  • 进制的基本类型转换

    • 十进制:除2取余数
    • 二进制转换十进制:乘以2取余数
    • 八进制、二进制互转:一位变三位、三位变一位
    • 十六进制、二进制互转:一位变四位、四位变一位
  • 数值转换练习

    练习1:将二进制数1101.101转换为十进制数。
    

    解:整数部分

    1101 = 1x2^3 + 1x2^2 + 1x2^1 + 2^0

    = 8 + 4 + 1

    = 13

    小数部分

    101 = 1x2^-1 + 0x2^-2 + 1x2^-3

    = 0.5 + 0.125

    = 0.625

    所以十进制数为:13.625

    练习2:将十进制整数105.625转换成二进制数
    

    解: 整数部分:

    105 ÷ 2 = 52 … 1

    52 ÷ 2 = 26 … 0

    26 ÷ 2 = 13 … 0

    13 ÷ 2 = 6 … 1

    6 ÷ 2 = 3 … 0

    3 ÷ 2 = 1 … 1

    从下往上取余数得:101001

    小数部分:

    0.625 x 2 = 1.250 取整数 1

    0.250 x 2 = 0.5 取整数 0

    0.5 x 2 = 1

    从上往下取整数得:101

    所以转换的二进制数为:101001.101

    练习3:将1011101001.110101转换为16进制。
    

    解: 整数部分:
    1011101001被拆分为 10 ,1110 ,1001
    10 不够四位,前面补两个0为:0010 = 2
    1110 = 14 = E
    1001 = 9
    小数部分:
    110101被拆分为 1101 , 01
    1101 = 13 = D
    01 不够四位后面补两个0 为 0100 = 4
    所以转换的16进制为:2E9.D4

基本类型转换

  • 语法
    • 自动类型转换
      • 在某种系统会自动完成类型转换也称隐含转换(implicit casting)
        • 两种类型兼容
        • 目标类型大于源类型
        • 对于表达式,如果操作数为Double类型 ,整个表达式可提升为double类型
    • 强制类型转换(Explicit casting)
      • 在一定条件下程序员手动进行转换
        • 两种类型兼容
        • 一般目标类型小于源类型
    • 要点
      • 强制类型转换会丢失精度

你可能感兴趣的:(Java-学习笔记)