Java基础语法10、boolean类型变量/常量及运算符

一、boolean类型

boolean类型有两个常量值,true和false,在内存中占一位(注意不是一字节),不可以使用0或非0的整数来替代true和false(注意与C++不同)。
boolean类型用来判断逻辑条件,一般用于程序流程控制。
在逻辑判断是尽量避免使用==(非常容易误写成=赋值)

二、运算符

##运算符分类:
1)算术运算符
2)赋值运算符
3)扩展运算符
4)关系运算符
5)逻辑运算符
6)位运算符
7)条件运算符
8)字符串运算符
1.算术运算符
算术运算符包括一元运算符和二元运算符
一元和二元分别指的是需要的操作数。
二元运算符的运算规则
整数运算:
1)如果两个操作数有一个为Long,则结果为Long
2)没有long时,结果为int。即使操作数全为short,byte。
浮点运算符:
1)如果两个操作数有一个为double,则结果为double
2)只有两个操作数都是float,结果才是float
取模运算:
1)操作数可以是浮点数,一般为整数,结果为“余数’”,余数符号与左操作数符号相同。例,7%3=1,7%-3=1,-7%3=-1.
一元运算符++与–
一元运算符只需一个操作数
注意区分a++和++a
++在前先自增在进行其他操作
++在后先进行其他操作在自增
2、赋值运算符与拓展运算符
+= ,-=,*=,/=,%=
a+=b<=>a=a+b
a-=b<=>a=a-b
以此类推。
注意运算顺序
a/=b+3<=>a=a/(b+3)
3、关系运算符
关系运算符用于比较运算,结果是布尔值,true/false
1.== 含义等于
2.!=含义不等于
3.<含义小于
4.>含义大于4
5.>=含义大于或等于
6.<=含义小于或等于
注意:
1.=是赋值运算符,而==是关系运算符
2. ==、!=是所有(基本和引用)数据类型都可以使用的
3. >,>=,<,<=仅针对数值类型(byte/short/int/long ,float/double,char)
4. 逻辑运算符
作用:用来操作布尔值;
逻辑与 &(与) (左右两侧的都是布尔值类型)两操作数都是true结果才为true否则为false;
逻辑或 | (或)两个操作数有一个为true,结果就是true
逻辑非 !(非)取反 !false为true,!true为false
逻辑异或 ^(异或)布尔值类型相同为true不同为false
短路与 && 只要有一个false直接返回,不再进行运算
短路或 || 只要有一个true直接返回,不再进行运算
短路与和短路或可以提高效率;
短路与,第一个操作数的值为false,则不需要再计算后面的操作
短路或,第一个操作数的值为true,则不需要在计算后面的操作
5.位运算符
位运算指的是进行二进制位运算
1.~ 取反
2.&按位与
3.|按位或
4.^按位异或
5.<<(左移运算符,左移一位相当于乘2)
6.>>(右移运算符,右移一位相当于除2取商)
注意:
&和|即使逻辑运算符,也是位运算符,如果两侧都为Boolean类型,就作为逻辑运算符,如果两侧的操作数是整形,就是位运算符。
6.字符串连接符
字符串连接符 +
3+4=7 //+作为算数运算符
3+“4” =34 //+作为字符串连接符
7.条件运算符
语法格式:
x?y:z
x为Boolean类型表达式,先计算x的值,若为true,则整个运算的结果为表达式y的值;否则整个运算结果为表达式z的值。

三、运算符的优先级

Java基础语法10、boolean类型变量/常量及运算符_第1张图片
注意:
逻辑与,逻辑或,逻辑非的优先级(非>与>或)

你可能感兴趣的:(java)