一.数据类型
1.浮点类型(float和double):默认double型,声明float型需在后面加上f或F,有两种表示形式,十进制形式和科学计数法
2.字符型(char):采用16位unicode字符编码,一个字符常量要用一对英文半角格式的单引号引起来,字符串常量用于一连串字符,一个字符串常量要用一对英文半角格式的双引号引起来,可以是英文字母,数字,标点符号以及转义序列来表示的特殊字符
3.布尔常量(Boolean):用于逻辑计算,区分一个事物的真与假,只允许取值true和false,不能用0和1(java虚拟机中没有任何提供布尔值专用的字节码指令)
4.null常量:只有一个null值,表示对象的引用为空
5.特殊字符:\r回车符 \n换行符 \t制表符,将光标移到下一个制表符的位置 \b退格符号
2.3.2引用类型
一.引用类型变量中的值是指内存堆中的指针,即该变量中所表示的数据地址
二.引用类型与基本类型在内存中存储的区别
1.栈:放基本的数据类型,给值不给地址
2.堆:给地址不给值
3.栈内存:临时开的空间,每次给一个空间
4.堆内存:运行效率高,每次给一段空间
三.常用引用类型
1.数组:相同数据类型的变量的集合
2.类:变量和方法的集合
3.接口:方法特征的集合
4.枚举:将变量或对象可能存在的情况一一列举
2.3.3类型转换
一.方式:自动类型转换,强制类型转换
1.自动类型转换:将某种基本类型变量的值直接赋给另一个基本变量(图1)注意:char和short 不能互换
2.容量小的自动转为容量大的,数据类型按容量大小排序
3.混合运算时都换成容量最大的
二.
1.强制类型转换:容量大转为容量小,加上强制转换符,会造成精度降低溢出
2.4操作符
一.类型:一元、二元、三元
二.一元操作符:自增,自减:++,−− 逻辑非:! 按位非:~ 强制类型转换:()
三.二元操作符:算数运算:+,−,×,/,% 位运算:&,|,^,<<,>>,>>> 关系运算:>,>=,<,<=,==,!= 逻辑运算:&&,||
四.三元操作符:表达式?value1:value2(快速找到最大值与最小值)
五.运算符优先级:图2