一、数据类型:
1、8大基本数据类型:数据类型的默认值需要结合类来观察,主方法中变量必须先赋值再使用,不存在默认值
1.1 数值型
1.1.1 整型:byte(-128-127)1字节、short、int 4字节(-231—231-1)、long在java中,任何一个整型常量均为int型(默认值为0)
注意点:
- 整型常量若要声明为long类型,需要在数字后加上l或者L
- java中小的数据类型与大的数据类型做数值运算时,小的数据类型会自动提升为大的数据类型
- 大的数据类型转为小的数据类型必须强转,强转可能会丢失数据
特殊点:byte与int之间转换
- 整型常量 若在byte(-128-127)类型的保存范围之内,可以直接赋值给byte变量,无须强转
- 若整型常量值超出byte范围,必须强转
- 整型变量无论值是否在byte范围中,都需要强转
eg: byte b1 = (byte)300;
System.out.println(b1);
分析:结果输出是44,不是300,因为byte是1个字节,8个比特位,300转换为二进制有12位,但byte只有8个比特位,取低8位,00101100,因此是44
1.1.2 浮点型::float、double(默认值为0.0)
注意点:
- 小数常量默认是double类型,若要定义float变量,需要在小数后追加f或F eg:float f1 = 10,2F;
- 描述整数就用int,描述小数用double; long一般用于描述日期,时间,内存,文件大小; IO处理使用byte
1.1.3 字符型
注意点:
- 字符型用’ ’ 表示,char与int可以相互转换
- char转int直接赋值,int转char需要强转
- 字符型数字与整型数字绝对不相等(eg:'0’与0不相等)
- char一般用于描述中文(基本忽略)(默认值\u0000)
1.1.4 布尔类型
- boolean(默认值false),返回要么是true,要么是false
二、三大引用类型
数组、类、接口(默认值为null)
三、运算符
- 自增自减(++ --) a++(先赋值,在++)++a(先自增,再赋值)
eg:int a = 10;System.out.println(a++)——>10 ++a——>11
-
三目运算符 布尔表达式?数值1:数值2
-
比较运算符(其结果是布尔类型)
-
位运算符(&、|、^、~)
-
逻辑运算符:与(& &&)、或(| ||)、非(!)
注意:在if语句中使用’|'时,表示多个条件都需要判断,即便有表达式返回 true,剩余条件仍然需要判断短路非:使用"||",只要有条件返回true,剩余条件不再判断
& 与&&同上