数据类型拓展

数据类型拓展


整形

int i = 10;
int i2 = 010;	//八进制
int i3 = 0x10;	//十六进制 0-9 a-f
sout(i,i2,i3);	//i = 10 ,i2 = 8 ,i3 = 16;

浮点型

float f = 0.1f; 	//0.1
double d = 1.0/10;	//0.1
sout(f == d )	//false

float d1 = 1316561131131316511f;
float d2 = d1 + 1 ;
sout (f == d )	 //true

最好完全使用浮点数进行比较

float 有限 离散 舍入误差 大约 接近但不等于


字符型

char c1 = 'A';
char c2 = '中';

sout(c1);		//A
sout((int)c1);	//65
sout (c2);		//中
sout(int)(c2);	//20013

字符转换

编码 所有的字符本质上还是数字

ASCLL,Unicode(0-65536) 每位占2字节 2的16次方->65536

U0000-UFFFF


转义字符

\t 水平制表(HT)(跳到次啊一个TAB位置)

\n 换行(LF),将当前位置移到下一行开头

\0 空字符(NULL)

...

内存-地址与值的判断

String sa = new String("hello,world");
String sb = new String("hello,world");
sout(sa == sb);
//false

String sc = "hello,world";
String sd = "hello,world"; 
sout(sc == sd);
//true

new分配了一个新的地址

前者比较地址

后者比较值

posted @ 2022-07-18 22:56  Criollo  阅读(35)  评论(0)    收藏  举报