分支和循环(中)
关系操作符
1 > 大于
2 < 小于
3 >= 大于等于
4 <= 小于等于
5 == 判断相等
6 != 不相等
关系表达式通常返回0或1,表示真假
多个运算符不宜连用
下面展示错误案例
上面式子如果要a与b,c比较应该使用&&
条件操作符
条件操作符也叫三目操作符,需要3个操作数
使用表达式计算两数的最大值
逻辑操作符:&& || !
!:改变单个表达式的真假
&&:两侧表达式都为真,则为真,否则为假
||:两侧至少有一个为真,则为真,否则为假
!:
&&:
打印3~5月是春天
||:
练习闰年的判断
短路:
他总是先对左侧表达式求值,再对右侧表达式求值,如果左边的逻辑表达式满足逻辑运算符的条件,就不再对右边的表达式求值.这种情况称为"短路"
&&:
if(month > 3 && month < 5)
对于&&来说,左边操作数的结果为0的时候,右边操作数就不再执行
||:
if(month ==3 || month == 4 || month == 5)
||左侧操作符不为0时,就无需执行右操作数
switch语句
switch语句是用来判断条件有多个结果的情况.
switch(表达式)
{
case 1: ....
case 2: ....
default: ......
}
switch后括号里的必须是整形表达式
case后的值必须是整型常量表达式
//输入一个整数值,计算除3后的余数
字符类型也是归类到整型类型
因为字符的本质是ASCII码值,这个值是整数
//输入一个1~7的数字,打印对应星期几
//判断是否为休息日
在switch语句中default语句和case语句没有顺序要求,只是通常习惯把default放最后
while循环
语法与if相似
while(表达式)
语句;
下面来对比一下
while语句执行流程:
用while在屏幕上打印1~10的值
输入一个正整数,逆序打印他
for循环
for(表达式1;表达式2;表达式3)
语句;
用for打印1~10
计算1~100间3的倍数
do while循环
do
语句;
while(表达式);
do while循环先直接进入循环体,执行循环语句,然后再执行while后的判断表达式
do while执行流程:
(画的不太好hhh)
用do while打印1~10
//输入一个正整数,算下是几位数
break和continue语句
break是永久终止循环
continue是跳过本次循环中后面的代码
下面来感受一下两者的不同: