整数拓展: 进制: 二进制0b 十进制 八进制0 十六进制0x
int i1=10;
int i2=010;//八进制
int i3=0x14;//十六进制
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
================================
//浮点数拓展 银行业务如何表示?钱
//BigDecimal 数学工具类
//------------------------
//float 有限 离散 舍入误差 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f=0.1f;
double d = 1.0/10;
System.out.println(f==d);//false
System.out.println(f);
System.out.println(d);
float d1 =3423434324f;
float d2 = d1+1;
System.out.println(d1==d2);//true
System.out.println("=================================");
//------------------------
//字符拓展
//------------------------
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数字
//编码 Unicode 表(a=97,A=65) 2字节 0-65536 ASCII码
//U0000-UFFFF
char c3 ='\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
// \\ 代表一个反斜线字符''\' 092
// \' 代表一个单引号(撇号)字符 039
// \" 代表一个双引号字符
System.out.println("hello\tworld");
//new关键字
String sa =new String("hello" );
String sa1 =new String("hello" );
System.out.println(sa==sa1);//false
String sa2 ="hello" ;
String sa3 ="hello" ;
System.out.println(sa2==sa3);//true
//对象 从内存分析
//布尔值拓展
boolean flag=true;
if (flag==true){}//冗余
if (flag){}//精简
//less is more! 代码要精简易读
}
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years=20;
int total =money*years;//-1474836480,计算的时候溢出了
long totals=money*years;//默认是int,转换之前就已经存在问题了
System.out.println(total);
System.out.println(totals);
long total3 =(long)money*years; //把其中一个数先变成long类型
System.out.println(total3);
// L l l容易被看成1所以选择用大写的L
学习记录-类型拓展
最新推荐文章于 2024-06-07 23:32:21 发布