标签:语句 逻辑 else 运算符 switch true 表达式 分支
一、运算符及表达式
1、一元运算符
只能操作一个值的运算符叫做一元运算符。
2、关系运算符
用于进行比较的运算符称作为关系运算符. 关系运算符有: 小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、相等(==)、不等(!=)、全等(恒等)(===)、不全等(不恒等)(!==)
(1)字符串和数值进行比较
(2)字符串和字符串比较(ASCII码 A65 a97 自动进行ASCII码比较 比较第一位)
(3)boolean类型的值和null进行比较 自动转数值 (出现NaN就是false)
(4)恒等,这俩个内容是一个内容
(5)undefined和0进行比较
(6)null和0进行比较 null是空对象引用 对应的是一个引用类型 引用类型比较的是地址
总结可得:
A、关系运算符的比较规则:
1, 数字和数字比较, 直接比较大小
2, 数字和字符串比较, 字符串转换为数字后再比较
3, 字符串和字符串比较, 进行字符的ASCII码值比较
B、比较注意事项:
1, 布尔值 ture=1, false=0
2, 只要不等于NaN, 就是true,其他有NaN的运算都为false
3, 如果要恒等, 则必须值和类型都要相等;
C、关系运算符 (特殊值)
3、逻辑运算符
逻辑运算符 && 短路与 &断路与 || 短路或 |断路或 !
(1)&& 与
a、&& 所有的同时满足才为真 &&只要前面有一个假后面的就不会看了 &看完全部
b、如果出现了false就直接取false 如果结果是true 就取最后一个
(2)|| 或
a、||有一个true就是true,前面只要出现了true 就不看后面的 |看完全部
b、||常用 有一个true 取true
c、如果两个都是false 取最后一个
d、如果两个都是true的情况下 取第一个为true的
e、相当于将对应的boolean类型表达式解析出对应的值
(3)! 非(取反)
取反的规则如下:
1、操作数是一个空字符串, 返回true;非空字符串, 返回false 操作数是数值0, 返回true;
2、任意非0数值(包括 Infinity),返回false
3、操作数是NaN, 返回true
4、操作数是undefined, 返回true
4、表达式的概念:
由运算符和操作数(变量或常量)组成的式子
(1)算数表达式:1+1
(2)关系表达式:a>1
(3)逻辑表达式: a && b
5、其他运算符:
(1)三目运算: 三木运算和对应的逻辑运算的优先级是一样的
(2)运算符的优先级(从上至下,优先级依次递减)
二、条件控制语句(也叫逻辑分支(所有程序都有的 所有语言都有))
控制程序的执行(利用条件控制 利用循环来控制),条件控制语句只会进入其中一个条件
程序的三大流程结构:
a、顺序:从上朝下执行的代码就是顺序
b、分支(选择):根据不同的情况,执行对应代码
c、循环:重复做一件事情
1、if
if 如果(第一个条件) else if 如果(第二个条件无限加) else 否则(只有一个 上面都不满足的情况)
if条件判断语句的写法:
if(条件表达式(boolean类型的值 如果当前这个不是一个boolean的值他会自动转为boolean类型)){
需要执行的代码
}else if{
需要执行的代码
}else{
//上面的都不满足的情况下
需要执行的代码
}
(if和else同时满足的情况下,他只会进入第一个满足的条件)
示例:
if的嵌套:
2、switch
switch属于对应的值判断 里面的是对应的表达式(产生对应的值) 下面的case就是一个个的值选项
Switch语句的写法:
switch(表达式) {
case 常量1: 语句; break;
case 常量2: 语句; break; …
case 常量n: 语句; break;
default:语句; break;当上面都不满足的情况下才会执行默认的操作
}
表达式的结果等于哪个case的常量,则执行其后的语句,执行完break就跳出switch结构,都不满足则执行default的语句。
break的作用:是跳出switch结构,如果没有break,则继续执行下面分支的的语句(而不进行判断)。 注意case穿透,要加break
三、总结
-
if else else if 如果里面的代码只有一行可以省略{}
-
if后面不一定要带else或者else if
-
if里面的表达式如果不是对应的布尔类型的值会强制转换为布尔类型
-
else一定是最后的,而且是不带条件的
-
if里面可以嵌套if以及相关的内容(else else都可以嵌套的)
-
switch里面填写的表达式是会返回值 这个值一般是常量
-
switch里面有case和对应的default case表示一个个的选项 对应的default表示默认选项
-
多个case可以在一行书写 表示对应的处理语句是一个
-
break用于跳出整个代码块 跳出switch(也可以跳出循环的代码块)
-
switch必须要有规定的值的时候才有 他不会使用到有区间的内容(比对是恒等比对)
-
if是可以使用区间值,也可以使用固定值
-
if效率和switch效率 从一行代码区分对应的来说 if效率会高点 多行代码区分 switch效率会高(用空间换时间)
四、课后练习题:
1、关于if的:
(1)判断一个数是偶数还是奇数:是否能取余2
(2)求两个数的最大值
(3)判断一个年份是闰年还是平年
(4)y={x(x<1);2x+1(1<=x<10);5x-17(x>=10);}
(5)成绩判定:大于85优秀,大于等于75小于等于85良好,大于等于60小于75及格,小于60不及格
(6)判断一个整数,属于哪个范围:大于0;小于0;等于0
(7)开发一款软件,根据公式(身高-108)*2=标准体重,可以有10斤左右的浮动。来观察测试体重是否合适
(8)已知圆的半径r,求出圆的面积s(S=π*(r*r))
(9)输入赵本山的考试成绩,显示所获得的奖励:成绩==100分,爸爸给他买辆车;成绩>=90,妈妈给他买MP4;90分>成绩>=60分,妈妈给他买本参考书 成绩<60分,什么都不买。
(10)会员购物时,根据积分的不同享受不同的折扣,计算会员购物时所获得的的折扣
2、关于switch的:
(1)用switch判断成绩等级
标签:语句,逻辑,else,运算符,switch,true,表达式,分支 来源: https://www.cnblogs.com/lym-2022/p/16520433.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。