一、变量基本知识点*
变量指程序运行时可变的量,不同类型的变量具有不同的特点,数据类型分为基本数据类型和引用数据类型,基本数据类型有以下八种:整数类型:byte、short、int、long;浮点类型:float、double;字符类型:char;布尔类型:boolean。
1.字节型变量:byte
byte类型占用的储存空间为一个字节,储存范围为 -128~127,包装类是Byte,基本语法格式:byte 变量名=初始值
2.短整型变量:short
short类型占用的储存空间为两个字节,储存范围是 -2^15 ~2^15-1,包装类是Short,基本语法格式:short 变量名=初始值
3.整型变量:int
int类型占用的储存空间为四个字节,储存范围是-2^31~ 2^31-1,包装类是Integer,基本语法格式:int 变量名=初始值
注意:Java中默认整数类型为int类型
4.长整型变量:long
long类型占用的储存空间为八个字节,储存范围是-2^63~ 2^63-1,包装类是Long,基本语法格式:long 变量名=初始值L
5.单精度浮点类型:float
float类型占用的储存空间为四个字节,储存范围精确到小数点后六位,包装类为Float,基本语法格式:float 变量名=初始值F
6.双精度浮点类型:double
double类型占用的储存空间为八个字节,储存范围精确到小数点后十六位,包装类为Double,基本语法格式:float变量名=初始值
注意:在Java中,浮点类型的值默认为double类型
7.字符类型:char
在java中使用Unicode表示字符,char类型一次只能存放一个字符,一个字符占两个字节,16bit,要用单引号引起来,包装类是Character,基本语法格式:char变量名=初始值
8.布尔类型:boolean
JVM中并未明确规定布尔类型所占字节,布尔类型只有两个取值,true 和 false,基本数据类型中,除布尔类型之外,其余七种数据类型之间是可以相互转换的
二、运算符
1.算术运算符
基本运算符:+(加法) -(减法) *(乘法) /(除法) %(取余)
注意:运用除法时,除数不能为0,%不仅能对int求模,也能对double求模。
增量赋值运算符:+= -= *= /= %=
举例:a += 1 等价于 a = a+1,其余运算符用法相同。
自增/自减运算符:++ –
注意:1. 如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别.
2. 如果取表达式的返回值, 则前置自增的返回值是自增之后的值, 后置自增的返回值是自增之前的值
2.关系运算符
关系运算符主要有六个:== != < > <= >=
注意:关系运算符的表达式返回值都是布尔类型
3.逻辑运算符
逻辑与(短路与):&&
两个操作数都为true,结果为true,否则结果为false。
若前一个操作数为false,则不执行下一操作,直接判定为false。
逻辑或(短路或):||
两个操作数都为false,结果为false,否则结果为true。
若前一个操作数为true,则不执行下一操作,直接判定为true。
逻辑非:!
操作数为true,结果为false;操作数为false,结果为true。该运算符为单目运算符,只有一个操作数。
&与|也表示逻辑与、逻辑或,但与&&、||相比,不支持短路求值,不推荐使用。
4.位运算符
按位与:& 如果两个二进制位都是1,则结果为1,否则结果为0。
按位或:| 如果两个二进制位都是0,则结果为0,否则结果为1。
按位取反:~ 如果该位为0,则转为1;如果该位为1,则转为0。
按位异或:^ 如果两个数字的二进制位相同,则结果为0,相异则结果为1。
5.移位运算符
左移:<< 最左侧位不要了, 最右侧补 0。
右移:>> 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)。
无符号右移:>>> 最右侧位不要了, 最左侧补 0。
注意:1. 左移 1 位,相当于原数字 * 2.。左移 N 位,相当于原数字 * 2 的N次方。
2. 右移 1 位,相当于原数字 / 2。右移 N 位,相当于原数字 / 2 的N次方。
3. 由于计算机计算移位效率高于计算乘除,当某个代码正好乘除 2 的N次方的时候可以用移位运算代替。
4. 移动负数位或者移位位数过大都没有意义。
6.条件运算符
条件运算符也叫三目运算符,是条件判断语句的简化写法。语法格式:条件 ?代码1:代码2
条件为真,执行代码1;条件为假,执行代码2。