大家好,我是平凡郭先生。
一、逻辑运算符有哪些
&,|,^,!
&&,||
1.&(逻辑与)
这个&符号可以理解为咱们中国通俗易懂的中国话就是"与",就好比你要去商店买东西,要了辣条"与"方便面,这个时候店主必须给你这两个东西你才高兴("高兴"就好比java中的true),只要两种东西没给够或给错了,你会不高兴("不高兴"就好比java中的false);解释再多,不如来个列子,如下:
(5>3)&(5>2)
在Java中5>3与5>2都会返回true,则上面的结果为true
(5<3)&(5>2) (5>3)&(5<3) (5<3)&(5<2)
如上,只要有一个条件不符合(也就是说&两边只要有一个返回值为false),则表达式最终的结果为false
2.|(逻辑或)
这个就是或的意思,咱们再举一个贴近与生活的栗子(例子),好比咱们又去商店买东西,这次去买洗发水,洗发水的牌子可以是飘柔"或"清扬,这时店主只要给你拿其中的一个你就高兴("高兴"就好比java中的true);代码如下:
(5>3)|(5>2) (5>3)|(5<2) (5<3)|(5>2)
只要"|"两边有一个符合条件(只要有一个返回true),则表达式最终的结果为true
(5<3)|(5<2)
只有两边都是false时,表达式最终的结果为false
3.^(逻辑异或)不经常用
两边返回的结果都一样(要不都是false,要不都是true),则结果为false;两边结果不同时则返回true
4.!(逻辑非)
意思就是去相反的值
!(5>3)
5>3返回的是ture,则结果为false;非flase则true
5.&&(短路与)
&&和&的结果是一样的
&&具有短路的效果,左边为false,右边就不在执行;
&无论左边是flase还是true,右边都会执行
6.||(短路或)
||和|的结果都一样
||也具有短路的效果,左边为true,右边就不在执行
|无论左边是false还是true,右边都会执行
二、三元运算符
格式:(关系表达式)?表达式1:表达式2
如果关系表达式值为true则取表达式1,如果为false,则取表达式2
举个栗子(栗子说:干嘛老举我):
(a>b)?a:b
如果a>b,则取a;如果a
三、键盘输入
1.导包:import java.util.Scanner
2.创建键盘录入对象
格式:Scanner scan = new Scanner(System.in);
3.通过对象获取数据
int x = scan.nextInt();
String str = scan.next();
四、选择结构语句
(一)if
格式一:
if(比较表达式){
语句体;
}
解释:这个if就好比咱们中国话中的如果,如果比较表达式成立(也就是比较表达式返回true),则执行语句体,不成立(也就是false)则就不执行语句体
格式二:
if(比较表达式){
语句体1;
}else{
语句体2;
}
解释:这个if的意思还和上面的if意思一样,else就是否则怎么样,也就是当if后面的比较表达式不成立(也就是说返回false)时,执行else中的语句体2;
格式三:
if(比较表达式1){
语句1;
}else if(比较表达式2){
语句2;
}else if(比较表达式3){
语句3;
}
...
else{
语句n+1;
}
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。(二)switch
格式:
switch(表达式) {
case 值1:}
执行流程
先计算表达式的值
然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
注: a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
b:default可以省略吗?
* 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
* 特殊情况:
* case就可以把值固定。
* A,B,C,D
c:break可以省略吗?
* 最后一个可以省略,其他最好不要省略
* 会出现一个现象:case穿透。
* 最终我们建议不要省略
d:default一定要在最后吗?
* 不是,可以在任意位置。但是建议在最后。
e:switch语句的结束条件
* a:遇到break就结束了
* b:执行到switch的右大括号就结束了