整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i=10;
int i2=0b10;
int i3=010;
int i4=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
输出结果分别为10,2,8,16
//浮点数拓展?银行业务怎么表示?
1. BigDecimal 数学工具类
2. float 有限 离散 舍入误差 大约 接近但不等于
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//输出结果为false
float d1=2323232323f;
float d2=d1+1;
System.out.println(d1==d2);//输出结果为true
字符拓展
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int) c1);//字符转换为数字,强制转换
System.out.println(c2);
System.out.println((int )c2);
//编码 Unicode 表:(97=a 65=A)2字节 0-65536
//U0000 UFFFF
char c3='\u0061';
System.out.println(c3);
输出结果分别为:a,97,中,20013,a
转义字符
1. \t 制表符
2. \n 换行
3. \b 退格
4. \r回车
System.out.println("Hello\tWorld");//输出结果为Hello World
对象 存内存分析
String sa=new String("hello world");
String sb=new String("hello world");
System.out.println(sa==sb);//输出结果为false
String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);//输出结果为true
String s="hello world"和 String s=new String(“hello world”)的区别:
- String s=“Hello World”;先在栈中创建一个String类的对象引用变量s,然后查找栈中有没有存放“Hello World”,如果没有,则讲“Hello World”存放金栈,如果已经有“Hello world"则直接令s指向”Hello World“
- String s=new String ("Hello World "):用new()来创建对象的,他会存放于堆中。每调用一次就会创建一个新的对象
布尔值扩展
boolean flag=true;
if(flag){
}//if(flag==true)表达意思一样,代码精简