2、数据类型
强类型语言:Java是一种强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义才能使用
弱类型语言:
Java的数据类型分为两大类:
-
基本数据类型:primitive type
六种数字类型:四种整数、两种浮点数
整数类型: byte:-128~127 8位有符号整数,默认值0
short:-32768~32767 16位有符号整数,默认值0
int: -231 ~ 231-1 32位有符号整数,默认值0
long:-263 ~ 263-1 64位有符号整数,默认值0L
浮点型 float:单精度32位浮点数,默认值0.0f
double:双精度64位浮点数,默认值0.0d
一种布尔型: boolean:1位布尔型数值,true和false,默认值false
一种字符型: char:16位Unicode字符, 最小值\u0000,最大值\uffff,char数据类型可以储存任何字符
-
引用数据类型:reference type
除了基本数据类型外,其他的都属于引用数据类型,有接口、类、数组等等
数据进制的表示方法:
- 二进制:0b开头
- 十进制:
- 八进制:0开头 0~7
- 十六进制:0x开头 0~9A~F
浮点数的表示法
- float:有限、离散的性质,存在舍入误差,表示大约数,接近但不等于
- double:
所以:最好完全不用浮点数进行比较
银行业务用什么表示?使用数学工具类:BigDecimal
float f=0.1f;
double d=1.0/10;
System.out.println(f==d); //f==d,判断f与d是否相等,结果是false
System.out.println(f);
System.out.println(d);
float f1 = 2525252525f;
float f2 = f1 + 1;
System.out.println(f1==f2); //结果居然是true
System.out.println(f1);
System.out.println(f2);
//所以,应完全避免使用浮点数进行数值比较
字符类型的拓展
//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(c2);
System.out.println((int)c1); //(int)c1,将char型变量c1强制转换成int
System.out.println((int)c2);
//所有的字符本质还是数字
//char编码使用Unicode,是2字节的,0~65536范围
//范围实质是u0000~uffff
char c3 = '\u0061';
System.out.println(c3);
//转义字符
// \t 制表符
// \n 换行
// .....
System.out.println("Hello\tworld!\n");
字符串与对象
//对象的比较,需后期从内存分析。。。。。。
String sa = new String("Hello world");
String sb = new String("Hello world");
String sc = "Hello world";
String sd = "Hello world";
System.out.println(sa==sb); //结果是false
System.out.println(sc==sd); //结果是true
布尔型数值扩展
//布尔值的扩展
boolean flag = true;
if (flag) {
} //老手
if (flag == true) {
} //新手
//代码精简易读 Less is more!
------------------------------“笔记整理自跟着《狂神说Java》”----------------------------------