Java基本数据类型拓展知识&&类型转换

Java基本数据类型拓展知识&&类型转换
整数数据类型拓展

二进制:0b(零b开头)

八进制:0(零开头)

十进制:正常表示

十六进制:0x(零x开头)

例:

int i = 0b10;
//二进制,结果为:2
int i = 010;
//八进制,结果为:8
int i = 10
//十进制,结果为:10
int i = 0x10;
//十六进制,结果为:16

在这里插入图片描述

浮点数据类型拓展

浮点数的计算会出现问题,所以最好避免使用浮点数进行比较。

如果要使用,最好使用封装好的工具类(BigDeciamal)

//例一:
float f = 0.1F;
double d = 1/10;
System.out.println(f==d);

//结果输出为:false

//例二:
float f2 = 10F;
float f3 = 10F;
System.out.println(f2==f3);

//结果输出:true

//例三:
float f4 = 111111515151f;
float f5 = f4+1;
System.out.println(f4==f5);

//结果输出:true

在这里插入图片描述

为什么会出现错误呢?

这关乎到计算机底层原理中内存的部分,所以最好不要使用浮点类型进行比较。

字符拓展

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

Java中使用的编码方案:

Unicode(又称统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。

//Unicode能表达65536个字符;长度从\U0000到\UFFFF;

char c = 'a';
char c1 = '中';
System.out.println((int)c);
System.out.println((int)c1);
//结果输出:97 20013

char c2 = '\u0061';
System.out.println(c2);
//结果输出:a
类型转换

遵循从低到高的顺序,不同类型的数据先转换为同一类型,然后再运算;

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

强制转换:(类型)变量名:高 ->低

int i = 127;
byte b = (byte)i;
System.out.println(b);
//结果为:127

自动转换:自动转换:低->高

byte b = 10;
int i = b;
System.out.println(i);
//结果为:10

避免内存溢出:

//例:
int i = 128;
byte b = (byte)i;
System.out.println(b);
//结果为-128
/*因为byte数值类型最高取值为127
i=128,结果溢出导致数值不确定*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值