JAVA-2.1-逻辑运算符、关系运算符、if语句及switch语句
来源:互联网 发布:南极属于哪个国家 知乎 编辑:程序博客网 时间:2024/05/29 12:26
写出下面程序的运行结果
1、
int x = 1,y = 1;//定义变量x,y,并对其分别进行初始值化if(x++==2 & ++y==2)/** x++先取值操作,再自增 ++y先自增,后取值操作 ①x值为1 ②判断x==2是否成立,false ③x值自增1,即x值为2 ④运行到到&,继续执行++y==2 ⑤y自增1,即y值为2 ⑥判断y==2是否成立,true ⑦if(比较表达式)中比较表达式结果(false & true),结果为false,则不执行循环体*/{ x =7;}//不执行循环体System.out.println("x="+x+",y="+y);//x=2,y=2
2、
int x = 1,y = 1;//定义变量x,y,并对其分别进行初始值化if(x++==2 && ++y==2)/** ①x值为1 ②判断x==2是否成立,false ③x值自增1,即x值为2 ④运行到到&&,发现只要x++==2为false就不再执行++y==2(即短路效果),直接得出if(比较表达式)中比较表达式结果为false,则不执行循环体*/{ x =7;}//不执行循环体System.out.println("x="+x+",y="+y); //x=2,y=1
3、
int x = 1,y = 1;//定义变量x,y,并对其分别进行初始值化if(x++==1 | ++y==1)/** x++先取值操作,再自增 ++y先自增,后取值操作 ①x值为1 ②判断x==1是否成立,true ③x值自增1,即x值为2 ④运行到到|,继续执行++y==1 ⑤y自增1,即y值为2 ⑥判断y==1是否成立,false ⑦if(比较表达式)中比较表达式结果(true | false),结果为true,则继续执行循环体*/{ x =7;//把7赋值给x}System.out.println("x="+x+",y="+y);//x=7,y=2
4、
int x = 1,y = 1;//定义变量x,y,并对其分别进行初始值化if(x++==1 || ++y==1)/** ①x值为1 ②判断x==1是否成立,true ③x值自增1,即x值为2 ④运行到到||,发现只要x++==2为true就不再执行++y==2(即短路效果),直接得出if(比较表达式)中比较表达式结果为true,则继续执行循环体*/{ x =7;//把7赋值给x}System.out.println("x="+x+",y="+y);//x=7,y=1
总结1 关系运算符:
==,!=,>,>=,<,<=
注意:
A:比较运算符的结果肯定是boolean。
B:你到底是使用”=”还是使用”==”,你自己要清楚。
总结2 逻辑运算符:
&,|,!,^
&&,||
注意:
逻辑运算符用于连接关系表达式
结论:
&: 有false则false
|: 有true则true
!:改变结果,取反
^:相同false,不同true
记忆:情侣关系(男男,男女,女男,女女)
最常用的逻辑运算符 !,&&,||
&&和&:结果一样,但是&&具有短路效果,左边如果是false,右边不执行。
||和|:结果一样,但是||具有短路效果,左边如果是true,右边不执行。
5、
boolean b = true;//定义布尔型变量b,并初始化为trueif(b=false)//把false赋值给b,比较表达式结果为false,不执行循环体 { System.out.println("a"); }else if(b)//比较表达式结果为false,不执行循环体 { System.out.println("b"); }else if(!b)//b为false,!b为true,比较表达式结果为true,执行循环体 { System.out.println("c");//输出c }else//不再执行 System.out.println("d");//不再执行
总结3 if语句
if语句格式1:
if(比较表达式) {
语句体
}
执行流程:
首先判断比较表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
if语句格式2:
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
if语句格式3:
if(比较表达式1) {
语句体1;
}else if (比较表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程:
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1。
if语句的三种格式:
格式1:适合做一种情况的判断
格式2:适合做二种情况的判断
格式3:适合做多种情况的判断
if语句的注意事项:
A:比较表达式无论简单还是复杂,结果必须是boolean类型
B:一般来说:有左大括号就没有分号,有分号就没有左大括号
6、
int x = 2,y=3;//定义变量x,y,并对其分别进行初始值化switch(x){ default: y++; case 3: y++; break; case 4: y++;}/** ①x的值为2,寻找case中的对应值 ②发现并没有case 2,那么执行default语句y++,此时y的值变作4 ③default语句的最后没有break,则继续往下执行 ④进行到case 3执行y++,此时y的值变作5,遇到break,switch语句结束*/System.out.println("y="+y);//y=5
总结4 switch语句:
switch语句的格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式解释:
A:switch表示这是switch语句
B:表达式
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
C:case后面跟的是要和表达式进行比较的值
D:语句体部分可以是一条或多条语句
E:break表示中断,结束的意思,可以结束switch语句
F:default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
首先计算出表达式的值。
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
switch语句的注意事项:
A:case后面只能是常量,不能是变量。
B:多个case后面的值不能出现相同的。
C:default可以省略吗?
可以。但是不建议。
D:break可以省略吗?
可以。但是不建议。容易出现case穿透。
E:default的位置一定要在最后吗?
可以在任意位置,建议在最后。
F:switch语句的结束条件
a:遇到break
b:执行到末尾
- JAVA-2.1-逻辑运算符、关系运算符、if语句及switch语句
- 《IOS_C语言》BOOL布尔类型、关系运算符、逻辑运算符、if语句、枚举类型、switch语句
- 作业《IOS_C语言》BOOL布尔类型、关系运算符、逻辑运算符、if语句、枚举类型、switch语句
- Java--day03 运算符 if、switch语句
- 【学习ios之路:C语言】布尔类型,关系运算符、逻辑运算符、if 、switch..case.语句
- [TwistedFate]bool类型,关系运算符,逻辑运算符,程序的三种结构,条件表达式,枚举类型,if,switch语句
- 3第三天预习(比较运算符 条件语句if else switch 逻辑运算符多 循环)
- Lesson_for_java_day05--java的三目运算符、if语句、switch语句、while循环、for循环
- 第二讲 :● 关系运算符、逻辑运算符、if 、条件运算符、switch..case..
- 前期C语言回顾 关系运算符、逻辑运算符、if 、条件运算符、switch..case
- 2-常量变量及逻辑运算符(if语句)
- 04:运算符、分支语句if-else和switch-case
- if语句、三元运算 、switch
- 2.Java之if语句及三目运算符
- java Switch语句 和 各运算符
- java基础学习二(三元运算符,if,switch,循环语句)
- 黑马程序员-----Java基础知识---常量---进制----变量---运算符(算术--赋值--比较--逻辑--位--三元)----if语句---switch语句
- JavaScript基础学习笔记(三)——JavaScript 比较和逻辑运算符、JavaScript If...Else 语句、JavaScript Switch 语句
- 银行家算法
- Angular2 学习笔记
- Myeclipse常用快捷键及其它(转)
- 虚拟存储器(虚存)
- Linux启动bootargs参数分析
- JAVA-2.1-逻辑运算符、关系运算符、if语句及switch语句
- 获取并编译最新的Notepad++源码
- Adams打开出现错误提示:MSC_LICENSE_FILE=27500@hostname
- HDU 2539 点球大战
- RabbitMQ详细介绍
- SSH注解方式开发
- 如何让input文本框和图片对齐
- text段,data段,bss段,堆和栈
- 欢迎您在新浪博客安家