java是一门强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
java的数据类型分为两大类
-
基本类型(primitive type)
-
引用类型(reference type)
整数拓展
二进制0b
八进制0
十进制
十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
System.out.println(i);//10
System.out.println(i2);//8
System.out.println(i3);//16
浮点数拓展
float 有限 离散 舍入误差 接近但不等于
最好完全避免使用浮点数进行比较
float f = 0.1f;
double d = 1.0/10;
System.out.println(f);//0.1
System.out.println(d);//0.1
System.out.println(f==d);//false
float d1 = 11111111111111f;
float d2 = d1+1;
System.out.println(d1==d2);//true
字符拓展
所有字符本质是数字
编码 Unicode 2字节 0-65535 Excel
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
转义字符
\" 双引号
\' 单引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
字符比较
String sa= new String("hello");
String sb= new String("hello");
System.out.println(sa == sb);//false
System.out.println(sa.equals(sb));//true
String sc = "hello";
String sd = "hello";
System.out.println(sc == sd);//true
布尔值拓展
if(flag == true) 精简为 if(flag)