数据类型拓展
整数拓展
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制ob 八进制0 十进制 十六进制0x
int num1 = 0b01110;
int num2 = 012;
int num3 = 12;
int num4 = 0x12;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}
浮点数拓展
public class Demo03 {
public static void main(String[] args) {
//浮点数拓展,银行业务如何表示?钱
//float double 表现的字长是有限、离散的;会有舍入误差,最后的结果只是大约数,接近但不等于
//最好完全使用点数进行比较
//最好完全使用点数进行比较
//最好完全使用点数进行比较
//银行业务得使用BigDecimal这个类来处理 数学工具类
float num5 = 0.1f;
double num6 = 1.0/10;
System.out.println(num5==num6);//结果为false
float num7 = 232012313211f;
float num8 = num7 + 1;
System.out.println(num7==num8);//结果为ture
}
}
会出现以上两种情况是因为浮点数表现的字长是有限、离散的;会有舍入误差,最后的结果只是大约数,接近但不等于,
我们最好完全使用点数进行比较。
而银行业务银行业务得使用BigDecimal这个类来处理 数学工具类
字符拓展
public class Demo03 {
//字符拓展
char name1 = 'A';
char name2 = '我';
System.out.println(name1);
System.out.println((int)name1);//强制转换
System.out.println(name2);
System.out.println((int)name2);//强制转换
char name3 = '\u0061';
System.out.println(name3);//输出为a
//转义字符
// \n 换行
// \t 制表符,等等
System.out.println("Hello\nWorld");//结果已换行
}
}
运行结果
出现以上结果是因为字符的本质还是数字
字符数据类型与编码 Unicode(0—65536)相关,其包含了ASCII码和机内码等等
小拓展
public class Demo03 {
public static void main(String[] args) {
String sa = new String("HelloWorld");
String sb = new String("HelloWorld");
System.out.println(sa==sb);//结果为false,因为这里比较的是地址,其不相同
String sc = "HelloWorld";
String sd = "HelloWorld";
System.out.println(sc==sd);//结果为ture,这里比较的就是数值内容,相同
//对象 从内存分析
}
}
布尔值拓展
public class Demo03 {
public static void main(String[] args) {
//布尔值拓展
boolean flag = true;
if(flag==ture){}//新手
if(flag){}//老手
}
}