进制:二进制,八进制,十进制,十六进制。
Java中使用0b表示二进制,0表示八进制,0x表示十六进制。
注:八进制:逢八进一为,十六进制:逢十六进一。
public class Hi {
public static void main(String[] args) {
int a = 8;
int a2 = 070; //8进制
int a4 = 0x100; //16进制
System.out.println(a);
System.out.println(a2);
System.out.println(a4);
}
}
浮点数:
问题:银行业务如何进行表示?
如果使用浮点数会遇到一些问题
public class Hi {
public static void main(String[] args) {
//浮点数
//第一种情况
float b = 0.1f;
double b2 = 1.0 / 10;
System.out.println(b == b2);
//第二种情况
float b3 = 222222222222222223421F;
double b4 = b3 + 1;
System.out.println(b4 == b4);
}
}
输出结果:
false
true
导致这些的原因: 浮点数表现的字长是有限的,也是离散的。浮点数存在舍入误差,所以结果只是一个大约数,接近但是不等于。
注:最好完全避免使用浮点数进行比较。
解决方案:使用BigDecimal类来进行解决,此类为数学工具类。
字符型:public class Hi {
public static void main(String[] args) {
//字符类型
char c = 'a';
char c2 = '中';
System.out.println(c);
System.out.println((int) c2);
System.out.println(c2);
}
}
输出结果:
a
20013
中
输出‘20013’的原因是所有的字符本质上还是数字,基于Unicoe表。
转义字符:常用的有t和n等等。



