数据类型拓展

整数拓展

进制

二进制0b 十进制 八进制0 十六进制0x

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

十六进制:0~9、A、B、C、D、E、F,共 16 个符号 → 满 16 进 1
其中:
A=10,B=11,C=12,D=13,E=14,F=15
只要某一位加到等于或超过 16,就往左边进 1,本位归零。
举几个最简单的例子

  1. 十六进制 F(就是 15)再加 1
    F + 1 = 10(十六进制的 10,等于十进制的 16)
  2. 十六进制 1F 再加 1
    1F + 1 = 20
  3. 十六进制 FF 再加 1
    FF + 1 = 100

浮点数拓展

//float
//double

银行业务怎么表示钱?

不可使用float,因为float(有限、离散)具有“舍入误差”的特性,该特性会导致结果四舍五入,接近但不等于,结果会是一个大约数
因此最好完全避免使用浮点数进行比较
该问题应使用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
//强制类型转换后c1与c2的结果会被转化为unicode中对应的数字 2^16=65536
//U0000 UFFFF
char c3='\u0061';//a

转义字符

\t 制表符
\n 换行

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);//true
//地址问题导致结果不同

布尔值拓展

boolean flag=true;
//以下两个if用意相同
if(flag==ture){} //
if(flag){}  //

less is more 代码要精简易读

纸上得来终觉浅,绝知此事要躬行

posted @ 2026-03-14 17:52  编程小猴  阅读(4)  评论(0)    收藏  举报