Day04

整数拓展

进制

  • 二进制0b
  • 十进制
  • 八进制0
  • 十六进制0x
int i=10;
int i2=010; //八进制0
int i3=0x10;//十六进制0x  0~9 A~F 16

System.out.println(i);//输出为10
System.out.println(i2);//输出为8
System.out.println(i3);//输出为16

浮点数拓展

银行业务怎么表示? 钱

  • float
  • double
float f=0.1f;//0.1
double d=1.0/10;//0.1

System.out.println(f==d);//输出为false
System.out.println(f);//输出为0.1
System.out.println(d);//输出为0.1

float d1=213323131231231321f;
float d2=d1+1;
System.out.println(d1==d2);//输出为true
  • 是有限的,也是离散的 存在舍入误差 是一个大约的 接近但不等于
  • 最好完全避免使用浮点数进行比较
  • 最好完全避免使用浮点数进行比较
  • 最好完全避免使用浮点数进行比较
  • 用BigDecimal 数学工具类来表示银行业务

字符拓展

char c1='a';
char c2='中';

System.out.println(c1);//输出为a
System.out.println((int)c1);//输出为97(强制转换)
System.out.println(c2);//输出为中
System.out.println((int)c2);//输出为20013(强制转换)
  • 所有字符本质还是数字
  • 编码 Unicode 表:(97=a 65=A) 2字节 0-65536
  • Excel 最长为2^16=65536
  • U0000 UFFFF
char c3='\u0061'
System.out.println(c3);//输出为a  

转义字符

  • \t 制表符
  • \n 换行
System.out.println("Hello\tWorld");//输出为Hello  World
System.out.println("Hello\nWorld");
//输出为
//Hello
//World

对象

  • 从内存分析
String sa = new String(original:"hello,world");
String sb = new String(original:"hello,world");
System.out.println(sa==sb);//输出为false

String sc = "hello,world";
String sd = "hello,world";
System.out.println(sc==sd);//输出为true

布尔值拓展

boolean flag = true;
if(flag){}//老手
if(flag==true){}//新手
  • Less is More! 代码要精简易读
posted @ 2022-12-20 22:11  清风侯月  阅读(20)  评论(0)    收藏  举报