运算符与逻辑分支

一、运算符及表达式

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判断成绩等级

posted @   木木子夕  阅读(129)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示