基本数据类型的若干问题总结

1.不同容量大小的数据类型转化:

    a.高容量转低容量

            long-int : 编译失败(规律)

            int-byte/short : (特列) 未超过目标的数据范围时12:编译通过,运行正常;(同样的还有char类型)

                    超过目标的数据范围时,例1200:编译失败

    b.低容量转化为高容量:

            通过(规律)

    c.强制类型转换:

           未超出范围,则正常;超出范围则数据错误

            

    d.不同类型之间的逻辑计算:double+int   double*int*int*int(d放前边)

2.各进制的表示形式

    java里不能这样表示二进制,只能是   8,10,16进制 

    8:         前置0   
    10:      不需前置 

    16:      前置   0x   或者   0X

		int a7 = 010;
		int a8 = 0x10;
		System.out.println(Integer.toBinaryString(12));
		System.out.println(Integer.toOctalString(12));
		System.out.println(Integer.toHexString(12));

3.字节

    byte-1,short-2,int-4(默认,+-21亿左右),long-8字节  BigInteger

    float-4,double-8(默认)----科学计数法:double d = 314e-2;

4.float和int同占四个字节,但大小差别问题:

    int : -2e31到2e31-1,可以精确表示该范围内的整数

    float: 不能精确的表示所有的浮点数,其组成是:1位符号位+8位指数(q)+23位底数(b),其解释出来的形式是:b^q,由于指数q是8位有符号整数,范围是-128 ~ 127,23位的底数(无符号)最大值就是2 ^ 23,算上指数的话,最大可以表达到2 ^ 23 ^ 127

    int,float的存储结构的研究

    浮点数据的存储结构研究

5.float,double

    单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38    1位符号位+8位指数(q)+23位底数(b)
    双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308 1位符号位+11位指数(q)+52位底数(b)

    浮点数存在舍入误差,故尽量避免等等比较;银行系统中使用BigDecimal

public static void main(String[] args) {
		double d = 1.0/10;  
		float  f = 0.1f;  
		System.out.println(f==d);  //false;
		d = 0.1;
		System.out.println(f==d);  //false;
		f = 1.0f;
		d = 1.0;
		System.out.println(f==d);  //true;
		

	}

6.Integer,int

拆箱,封装

7.char:

    使用unicode编码,0-65535个字符;占用2个字节

\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
    char()和int(高精度)之间的转换:a-97,A-65










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值