逻辑运算符
逻辑运算符包括 &(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
逻辑运算符的使用
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
&&与& ||与|的区别
&我们知道只要有false则为false
&&与&结果相同,但是如若左边是false,右边则不执行。同理||与|相同。如若左边为ture右边则不执行。
位运算符
位运算符有哪些
&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)位运算符是对二进制补码 进行运算且计算完成后要再转换为原码。
正整数的原码反码补码是其本身,负整数的则最高置位为符号为是1,反码为其原码逐位取相反但是符号位除外,补码为反码末置位加1。
^的特点一个数据被另一个数据位异或两次,该数本身不改变。
<<与>>
<<空位补0,被移除的高位丢弃
>>被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1。
>>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。
三元运算符
表达式运算符的格式
(关系表达式)?表达式1:表达式2;
如果关系表达式的值为true则运行表达式1否则运行表达式2。
举例子:
int a =(10>20)?30:40;
结果 int a =40
键盘的录入格式
调用scanner方法new 一个对象进行调用
Scanner 变量名=new scanner(System.in);
通过对象获取数据
int x =变量名.nextInt();
选择语句
if else
格式if( 比较表达式或者是boolean类型的值){
语句;
}
流程
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
对应还有else
else if (比较表法式)
{
语句体
}
如果if语句不执行则下一步执行else if
格式else{
}
如若if 不执行且else if 也不执行则只剩下else时执行else。
switch语句
语法格式
switch (表达式)
{
case值1:
语句1 ;
break;
case2:
语句 2 ;
break;
…
default:
语句;
breake;
}
表达式式子中的值去对应case中的值,如若对应上则执行语句,应注意如若语句下没有break则顺序执行下一条语句直到遇到break执行完毕跳出语句,如若没有遇到对映的case值则执行default。
if与switch合适选用问题
if语句针对boolean类型的判断
针对一个范围判断
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断