zoukankan      html  css  js  c++  java
  • Java基础之数据类型

    数据类型

    进制之间的转换

    十进制 二进制(0B) 八进制(0) 十六进制(0X)之间的转换

    十进制转二进制:除2到取余

    二进制转八进制:从最右边开始,三位一组,换算成十进制的值

    二进制转十六进制:从最右边开始,四位一组,换算成十进制的值

    浮点型float和double

    计算机中存储3.14

    小数涉及:整数部分 小数部分 . 正负号

    1、小数部分转成二进制,是乘2取整数部分

    3.14----》11.00100...

    2、科学计数法表示

    1.100100...*n的1次方

    科学计数法,整数部分永远是1,小数点也不用存储,只存三个内容:正负号,几次方,小数点部分。

    float:4个字节, 最高位符号位,8位存指数,其他小数部分

    double:8个字节, 最高位符号位,11位存指数,其他小数部分

    3、浮点类型不稳定,因为十进制转二进制,小数点需要会舍掉一些

    4、float类型存的范围其实比long还要大,因为浮点型的底层存储的是指数

    基本数据类型转换

    1、隐性转换:数值类型,如果小的类型可以转成大的类型,大的类型不可以转成小的

    2、强制转换:运用于字符和数值型,强制转成想要的,例如int a=(int)10.0,缺点:会溢出,缺失精度

    3、两个byte,short,char类型相加,产生编译错误

    byte a = 1;
    
    byte b = 1byte c = a + b;   //因为byte底层还是用Int进行运算
    
    //同理short,char也会转成Int类型

    4、字符串类型

    任何类型和字符串拼接,都会转成字符串类型

    char c1 = '0';
    
    char c2 = '1';
    
    System.out.println(c1+c2+""); //97
    
    System.out.println(""+c1+c2); //01
    
    System.out.println(c1+""+c2); //01
    
    //算法运算用左往右,所以c1+c2按照求和运算,char+char=int, 所以结果是97
    //""+c1 是按照拼接运算,字符串+char=字符串
  • 相关阅读:
    1143 Lowest Common Ancestor (30)
    PAT 1135 Is It A Red-Black Tree
    PAT 1119 Pre- and Post-order Traversals
    1102 Invert a Binary Tree(25 分)
    PAT总结
    c++ getline的用法
    PAT 1049 Counting Ones (30)
    PAT 1022 Digital Library (30)
    java jar包
    NIO的理解
  • 原文地址:https://www.cnblogs.com/elegantdream/p/11860959.html
Copyright © 2011-2022 走看看