运算符和优先级

作者: Monkey_zhou | 来源:发表于2018-02-22 09:37 被阅读34次

运算符优先级

题:foo()@foo() 的区别?

考点:
  • 运算符中的错误控制符@的使用和作用;
  • 所有PHP运算符的考点;
  1. 运算符的优先级;
  2. 比较运算符;
  3. 递增减运算符;
  4. 逻辑运算符;

运算符中的错误控制符@:

PHP中支持一个错误控制符@,当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都会被忽略掉;

运算符的优先级: 参考手册

常用的优先级考点:

递增减 > ! > 算数运算符 > 大小比较 > (不)相等比较 > 引用 > 位运算符(^) > 位运算符(|) > 逻辑与 > 逻辑或 > 三目运算 > 赋值 > and > xor > or

括号的使用可以增加代码的可读性,推荐使用!


比较运算符:

== 和 === 的区别:
  • ===是恒等计算符 同时检查表达式的值与类型
  • ==是比较运算符号 不会检查条件式的表达式的类型
注意: 等值判断(false的七种情况):false的七种情况都是等值的(==);

递增减运算符:

  • 递增减运算符不会影响布尔值;true++, true-- 都还是true;false++,false--都还是false;
  • 递减都NULL没有效果;递增NULL会变成 1;
  • 递增和递减在前是先运算后赋值返回,如果在后就先赋值返回,后运算;

逻辑运算符:

  1. 短路作用:
  2. || 和 && 与 and 和 or 的优先级不同;
    示例:
//短路作用
$a = true || $b == 3; // $b 不会执行;
$b = false && $a == 1; // $b 为false 此表达式不会执行
//优先级问题:
$a = false || true;  // $a = true;
$b = false or true; //  $b = false,整体是true;

解题方法:

重点记忆递增减运算符的运算规则,逻辑运算符的短路效果;遇到逻辑运算符要多考虑优先级的问题;

优先级的问题放在逻辑运算符中测试的!

例题:写出下列程序打印输出的结果:

$a = 0;
$b = 0;
if($a = 3 > 0 || $b = 3 > 0){
    $a++;
    $b++;
    echo $a;   //$a = 1 (true);
    echo $b;   //$b = 1;
}

相关文章

  • python条件控制语句

    运算符优先级 运算符优先级 运算符优先级从上往下逐渐变低**指数 (最高优先级)~ + -按位翻转, 一元加号和减...

  • 运算符优先级和结合性

    运算符优先级和结合性 运算符的优先级使得一些运算符优于其他运算符,高优先级的运算符会被先计算。 结合性定义了具有相...

  • 03-基本运算

    运算符分为:算术运算符、比较运算符和逻辑运算符优先级是:算术运算符>比较运算符>逻辑运算符 注意:没记住优先级的话...

  • 运算符

    运算符的优先级及结合方向 不知道优先级的时候最直接的办法就是——查表!上图 算术运算符 注意: %运算符优先级和*...

  • 04-运算符

    算数运算符 1.什么是算数运算符?- + - * / % 2.算数运算符的优先级和结合性* / % 优先级要高...

  • Swift 4.0 编程语言(九)

    139.优先级和关联性 运算符优先级给一些运算符提供更高的优先级; 这些运算符首先起作用。 运算符关联性确定相同优...

  • JS笔记8:运算符及优先级

    1. 运算符 2. 运算符优先级 优先级运算符优先级 口诀括号一, //括号运算符[] ()单目二;...

  • C/C++学习笔记

    C/C++运算符优先级 简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符同优先级...

  • PLSQL:查询语句简述

    运算符优先级,算术运算符>比较运算符>not>and>or,()提升优先级。 查询语句,基本语句结构: SELEC...

  • C程序设计语言 2.6 关系运算符与逻辑运算符

    关系运算符包括以下几个运算符: 其中,==,!=比> >= < <=优先级低,关系运算符的优先级比算术运算符低。因...

网友评论

    本文标题:运算符和优先级

    本文链接:https://www.haomeiwen.com/subject/vypatftx.html