Java基础04:数据类型扩展

本文详细介绍了不同数据类型的使用方法,包括整数的进制表示、浮点数的精度问题及解决方案、字符编码及其转义字符,以及布尔类型的简洁使用技巧。

数据类型拓展


整数拓展:进制
int i1 = 0b10;  // 二进制以0b开头
int i2 = 010;  // 八进制以0开头
int i3 = 0x10; // 十六进制以0x开头 0~9~A~F

System.out.println(i);
System.out.println(i2);
System.out.println(i3);

输出:
2
8
16


浮点数拓展
float f = 0.1F;     // f:0.1
double = 1.0/10 // d:0.1

System.out.println(f==d);

输出:
false

float d1 = 213131231231231313123f;
float d2 = d1 + 1;

System.out.println(d1==d2);

输出:
true
按我们的常识来看,上面两段代码的输出结果是错误的。这是因为浮点数的某些特性导致的。

浮点数是有限的,离散的。浮点数存在舍入误差,由于很多数没办法精确的表示,结果只能是一个大约数(接近但不等于)

因此,我们在使用浮点数比较时,最好完全使用浮点数进行比较

记住一个数学工具类,BigDecimal,这个类可以处理很多精确的数学问题。


字符拓展
char c1 = 'a';
char c2 = '中';

System.out.println(c1);
System.out.println((int)c1);

System.out.println(c2);
System.out.println((int)c2);

输出:
a
97

20013

这个结果表明了:

  1. 所有的字符本质还是数字
  2. char类型会涉及到编码问题,Unicode编码可以处理各种语言的文字,占用2字节,范围:0~65536,Unicode 表:(97:a 65:A)每个字符在表中都有对应的数字

例如:

char c3 = '\u0061';

System.out.println(c3);

输出:
a

转义字符

常用的有两个:

  • \t 制表符
  • \n 换行

还有很多,请自行查表


布尔值拓展
boolean flag = true;

if(flag==true){//代码块}  // 新手写法
if(flag){//代码块}		 // 老手写法

Less is More!

代码要精简易读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值