精华内容
下载资源
问答
  • 假设变量a持有10,变量b持有20,则-序号运算符和说明例1=将值右侧操作数分配给左侧操作数c = a + b assigns value of a + b into c2+ =添加AND将操作数添加到左操作数,并将结果分配给左操作数c += a is ...

    假设变量a持有10,变量b持有20,则-序号运算符和说明例1=将

    值从右侧操作数分配给左侧操作数c = a + b assigns value of a + b into c

    2+ =添加AND

    将右操作数添加到左操作数,并将结果分配给左操作数c += a is equivalent to c = c + a

    3-=减去AND

    如果两个操作数的值不相等,则条件为true。它将从左侧操作数中减去右侧操作数并将结果分配给左侧操作数c -= a is equivalent to c = c - a

    4* =乘以AND

    将右操作数与左操作数相乘并将结果分配给左操作数c *= a is equivalent to c = c * a

    5/ =除以AND

    将左操作数除以右操作数,并将结果分配给左操作数c /= a is equivalent to c = c / a

    6%=模数AND

    使用两个操作数取模并将结果分配给左操作数c %= a is equivalent to c = c % a

    7** =指数AND

    对运算符执行指数(幂)计算并将值分配给左操作数c **= a is equivalent to c = c ** a

    8// =地板除法

    它对运算符执行地板除法并将值赋给左操作数c // = a等效于c = c // a

    示例

    假设变量a持有10,变量b持有20,则-#!/usr/bin/python

    a = 21

    b = 10

    c = 0

    c = a + b

    print "Line 1 - Value of c is ", c

    c += a

    print "Line 2 - Value of c is ", c

    c *= a

    print "Line 3 - Value of c is ", c

    c /= a

    print "Line 4 - Value of c is ", c

    c = 2

    c %= a

    print "Line 5 - Value of c is ", c

    c **= a

    print "Line 6 - Value of c is ", c

    c //= a

    print "Line 7 - Value of c is ", c

    输出结果

    当您执行上述程序时,它将产生以下结果-Line 1 - Value of c is 31

    Line 2 - Value of c is 52

    Line 3 - Value of c is 1092

    Line 4 - Value of c is 52

    Line 5 - Value of c is 2

    Line 6 - Value of c is 2097152

    Line 7 - Value of c is 99864

    展开全文
  • php运算符的优先级PHP运算符优先级,是描述在计算机运算计算表达式时执行...同一行中的运算符具有相同优先级,然后运算符的优先级是运算表达式从左到右。优先级结合方向运算符附加信息1非结合clone newclone和new2...

    3386507c47f138adb1e2df429a0449a4.png

    php运算符的优先级

    PHP运算符优先级,是描述在计算机运算计算表达式时执行运算的先后顺序。 先执行具有较高优先级的运算,然后执行较低优先级的运算。 例如,我们常说的先执行相乘和除,再执行加减运算。

    php运算符优先级的顺序

    下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,然后运算符的优先级是运算表达式从左到右。优先级结合方向运算符附加信息

    1非结合clone newclone和new

    2左[array()

    3非结合++ --递增/递减运算符

    4非结合~-(int)(float)(string)(array)(object)(bool)@类型

    5非结合instanceof类型

    6右结合!逻辑操作符

    7左*/ %算术运算符

    8左+ -.算术运算符和字符串运算符

    9左<<>>位运算符

    10非结合<<=>>=<>比较运算符

    11非结合==!====!==比较运算符

    12左&位运算符和引用

    13左^位运算符

    14左|位运算符

    15左&&逻辑运算符

    16左||逻辑运算符

    17左?:三元运算符

    18右=+=-=*=/= .= %= &= |= ^= <<= >>=赋值运算符

    19左and逻辑运算符

    20左xor逻辑运算符

    21左or逻辑运算符

    22左,多处用到

    举例说明

    对具有相同优先级的运算符,左结合方向意味着将从左向右求值,右结合方向则反之。对于无结合方向具有相同优先级的运算符,该运算符有可能无法与其自身结合。

    举例说,在 PHP 中 1 < 2 > 1 是一个非法语句,而 1 <= 1 == 1 则不是。因为<=比==优先级高。<?php

    $a = 3 * 3 % 5; // (3 * 3) % 5 = 4

    $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

    $a = 1;

    $b = 2;

    $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5

    // mixing ++ and + produces undefined behavior

    $a = 1;

    echo ++$a + $a++; // may print 4 or 5

    ?>

    所以在我们非常清楚PHP运算优先级的前提下,最好运算符的书写的时候,还是要以圆括号来标记优先级,这样可读性强,也是一个良好的编程习惯。

    更多PHP相关知识,请访问php中文网!

    展开全文
  • 逻辑运算符有哪些? 运算符 含义 结合方向 实例 结果 && 逻辑与 从左到右 2 == 2 && 1 == 1 true II 逻辑或 从左到右 1!=2 II 2 == 4 true ! 逻辑非 ...

    什么是逻辑运算符

    逻辑运算符有哪些?

    运算符 含义 结合方向 实例 结果
    && 逻辑与 从左到右 2 == 2 && 1 == 1 true
    II 逻辑或 从左到右 1!=2 II 2 == 4 true
    逻辑非 从左到右 !(2==4) true

    要注意的是,逻辑运算符只能对布尔型(Boolean)数据进行运算。

    例如:

    public class Test{
    
    	public static void main(String [] args){
    		System.out.println(2>1 && 3<1);
    	}
    }
    

    运行结果为

    D:\Works\JAVA>java Test
    false
    

    逻辑运算符的优先级
    !(逻辑非)运算级别最高,&&(逻辑与)优先级高于||(逻辑或);
    !(逻辑非)运算符高于算术运算符
    &&(逻辑与)和||(逻辑或)低于关系运算符

    什么是位运算符

    位运算符是先将数据转化为二进制补码形式,再逐位运算。

    运算符 含义 规则
    & 按位与 全1则1,否则为0
    I 按位或 全0则0,否则为1
    ~ 按位非 遇1则0,遇0则1
    ^ 按位异或 相同为0,不同为1

    要注意的是,位运算符既可以对布尔型(Boolean)数据运算,也可与对数值型数据运算。
    例如:

    public class Test{
    
    	public static void main(String [] args){
    		System.out.println(2 & 1);
    	}
    }
    

    运行结果为

    D:\Works\JAVA>java Test
    0
    

    再例如:

    public class Test{
    
    	public static void main(String [] args){
    		System.out.println(true & false);
    	}
    }
    

    运行结果为

    D:\Works\JAVA>java Test
    false
    

    逻辑运算符与位运算符的区别在哪?

    ①逻辑运算符只能针对布尔(Boolean)类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。

    ②逻辑运输算符有“短路”情况,即前面的表达式可以得到最终结果时,后面的表达式不会被执行。

    对比实例
    

    逻辑型(代码1)

    public class Test{
    
    	public static void main(String [] args){
    		int a = 10;
    		int b = 10;
    		if (((a = 0) == 0) || ((b = 20) == 20)) {
    		/*
    		 *(a = 0) == 0的值为true,逻辑或中有一为真即成立,java不执行下一句(b = 20) == 20,故b的值为10。
    		 */
    			System.out.println("b=" + b);
    		}
    	}
    }
    

    运行结果

    D:\Works\JAVA>java Test
    b=10
    

    位运算型(代码2)

    public class Test{
    
    	public static void main(String [] args){
    		int a = 10;
    		int b = 10;
    		if (((a = 0) == 0) | ((b = 20) == 20)) {
    		/*
    		 *要进行按位或运算,java会先计算两边的值,即true|true,运算结果依然为true,但此时java已经进行了(b = 20)的运算,因此输出的b的值为20。
    		 */
    			System.out.println("b=" + b);
    		}
    	}
    }
    

    运行结果

    D:\Works\JAVA>java Test
    b=20
    

    在代码段1中,(a = 0) == 0的值为true,逻辑或中有一为真即成立,java不执行下一句(b = 20) == 20,故b的值为10。
    而再代码段2中,要进行按位或运算,java会先计算两边的值,即true|true,运算结果依然为true,但此时java已经进行了(b = 20)的运算,因此输出的b的值为20。

    展开全文
  • 在Java中,运算符是不可缺少的一份子,它支撑着Java的各种算法操作,与Java不可分离。...大多数运算是从至右计算,只有三个优先级是从右结合的,它们是单目运算符、条件运算符、赋值运算符。基本的优先级...

    在Java中,运算符是不可缺少的一份子,它支撑着Java的各种算法操作,与Java不可分离。但在Java运算符中也有优先级分别,你知道都是谁先谁后吗?跟小编一起来看看吧。

    Java中的优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

    相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

    基本的优先级需要记住:

    指针最优,单目运算优于双目运算。如正负号。

    先乘除,后加减。

    先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))

    & 7.

    逻辑运算最后计算。

    例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。

    再如,x = 7 + 3 * 2,这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。

    下面具有最高优先级的运算符在最上面,最低优先级的在底部。类别              操作符                关联性

    后缀             () [] . (点操作符)    左到右

    一元             + + - !?             右到左

    乘性          * /%                    左到右

    加性          + -                      左到右

    移位          >> >>>  <

    关系          >> = <

    相等          ==  !=                   左到右

    按位与         &                      左到右

    按位异或     ^                         左到右

    按位或         |                       左到右

    逻辑与         &&                      左到右

    逻辑或         | |                     左到右

    条件            ?:                   右到左

    赋值    = + = - = * = / =%= >> = <

    逗号    ,                             左到右

    优先级顺序看完了,我们来通过代码,加强一下:int n = 3>4 ? 100 : 200;

    这行的代码运算执行顺序我们来写一下:

    1.执行 3>4操作,得到布尔类型false的结果

    2.通过结果false,将对应的表达式2的结果200,作为运算的最终结果

    3.把200 赋值给变量n

    接下来,我们看一个比较复杂的代码:int a = 5;

    int b = 3;

    int c = 1;

    int n2 = (a>b && b>c) ? (c++) : (++c);

    这段代码运算执行顺序我们也写一下:

    1.小括号优先级高,我们先运算第一组小括号中的代码

    1.1. 比较运算符”>” 优先级大于 逻辑运算符”&&”

    先执行 a>b,得到结果true;

    再执行 b>c,得到结果true;

    最后执行 a>b的结果 && b>c的结果,即 true && true, 结果为true

    2.三元运算符中的条件判断结果为true,返回表达式1的结果 c++

    先将变量c的原有值赋值给变量n2,即n2值为1;

    再将变量c的值自增1,更新为2。

    以上就是今天的所有内容了,更多有关Java入门的知识请持续关注本网站了解吧。

    展开全文
  • 运算符的优先级和结合性

    千次阅读 2011-06-10 17:58:00
    首先表达式从左到右看都有哪些运算符优先级最高的运算符开始以运算符为界把表达式换分为两个子式,每个子式可以用括弧分开以明确各个部分2.然后遇到相同优先级的运算符时候就要考虑其结合性了,看是先运算左边...
  • 答:列表List(列表):是Python中使用最频繁的数据...尾下标],就可以截取相应的列表,从坐到右索引默认0开始,从右到左默认-1开始,下标可以为空表示渠道头或尾。加号(+)是列表链接运算符,星号(*)是重复操作。元...
  • 答:列表List(列表):是Python中使用最频繁的数据...尾下标],就可以截取相应的列表,从坐到右索引默认0开始,从右到左默认-1开始,下标可以为空表示渠道头或尾。加号(+)是列表链接运算符,星号(*)是重复操作。元...
  • [] == ![] 结果是什么?

    2014-05-16 17:48:00
    拿到这道题,首先你要知道,运算是从左到右,还是从右到左。 参照上图(优先级从高到底),我们得到! 优先级高于==。所以[]==![]的运算顺序是从右向左。到此第一个坑,跨过去了。 第二坑:Boolean隐式转换规则 !...
  • 注:面试过程中整理的学习资料,如有侵权联系我...函数调用时参数的压栈顺序为什么是从右到左? 数组和vector相比,使用上如何选择? 顺序容器有哪些? 关联容器有哪些? C++中局部变量和全局变量可以重名吗? ...
  • 同一级别的运算符从左到右运算。不同级别优先级的,按照优先级的优先顺序来进行计算。2、python更适合数据分析。本节知识视频教程以下开始文字讲解:一、基础知识补充计算机中常用进制有哪些?二进制binary 简写 ...
  • sql语句的调优

    2016-03-02 19:35:21
    )在Oracle9I以前的版本,当读取的时候,首先要在对应的表里面查 询有哪些列,然后再做查找,不管表包含列的多少,都需要时间where语句中,使用逻辑运算符过滤的时候:是从右解析的, 所以在面对and过滤的 ...
  • 14.9 运算符的优先级总能起作用吗(从至右,从右)? 14.10 函数参数的类型必须在函数头部或紧跟在其后说明吗?为什么? 14.11 程序应该总是包含main()的一个原型吗? 14.12 main()应该总是返回一个值吗? ...
  • C语言编程要点

    2017-09-18 00:10:37
    14.9. 运算符的优先级总能起作用吗(从至右,从右)? 206 14.10. 函数参数的类型必须在函数头部或紧跟在其后说明吗?为什么? 207 14.11. 程序应该总是包含main()的一个原型吗? 207 14.12. main()应该总是返回一个...
  • LINGO软件的学习

    2009-08-08 22:36:50
    因此,派生集的索引个数是最终原始父集的个数,索引的取值是原始父集当前派生集所作限制的总和。 总的来说,LINGO可识别的集只有两种类型:原始集和派生集。 在一个模型中,原始集是基本的对象,不能再被拆分成...
  • SQL语法大全

    2014-03-30 11:00:11
    COUNT(*|字段名) 对数据行数的统计或对某一栏值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum...
  • flash shiti

    2014-03-14 10:32:41
    11. 全等(===)运算符和相同运算符基本相似,但是它们一个很重要的区别 □ A. 全等(===)运算符执行数据类型的转换 □ B. 全等(===)运算符不执行数据类型的转换 □ C. 全等(===)运算符永远返回...
  • MySQL命令大全

    2018-01-15 11:19:17
     此后就创建了一个新用户叫:testuser,这个用户只能localhost连接数据库并可以连接test 数据库。下一步,我们必须指定testuser这个用户可以执行哪些操作:  mysql> GRANT select, insert, delete,update ...
  • MYSQL常用命令大全

    2011-05-30 13:31:24
     此后就创建了一个新用户叫:testuser,这个用户只能localhost连接数据库并可以连接test 数据库。下一步,我们必须指定testuser这个用户可以执行哪些操作:  mysql> GRANT select, insert, delete,update ...
  • 数据结构课设

    2013-01-03 02:51:25
    假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。 ...
  • 2009达内SQL学习笔记

    2010-02-10 19:46:58
    (从左到右执行排序,先排price) ORDER BY子句中使用的列将是为显示所选择的列,但是实际上并不一定要这样,用非检索的列排序数据是完全合法的。 为了按多个列排序,列名之间用逗号分开。 2、支持按相对列位置...
  •  24、说明:选择1015的记录 select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc 随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)  对存储在...
  • 8.3.6 获取字符串最和最部分 224 8.3.7 检测字符串中的字符数或者字节数 225 8.3.8 把字符串的一部分替换成另一个字符串 226 8.3.9 把字符串填充字符串中 226 8.3.10 在小写和大写之间进行转化 227 ...
  • o 6.13 考虑有关空指针的所有这些困惑, 难道把要求它们内部表达都必须为 0 不是更简单吗? o 6.14 说真的, 真机器用非零空指针吗, 或者不同类型用不同的表达? o 6.15 运行时的 ``空指针赋值" 错误是什么意思...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    79 <br>0115 如何判断是否为数字 79 <br>0116 如何在字符串中查找指定字符 79 <br>0117 如何在字符串中用一子串替换另一子串 80 <br>0118 将新字符串添加字符串中 80 <br>0119 如何在...
  • 1-2 面向对象的编程语言有哪些特点? 解: 面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作...
  • 2.9 怎样/向数据文件读/写结构? . . . . . . . . . . . . . . . . . . . 9 2.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外 部数据文件进行”二进制” 读写。能否关掉填充, 或者控制结构域 的...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    2.9 怎样/向数据文件读/写结构? . . . . . . . . . . . . . . . . . . . 9 2.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外 部数据文件进行”二进制” 读写。能否关掉填充, 或者控制结构域 的...
  • c++ 面试题 总结

    2009-09-16 08:44:40
    哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存(物理内存)中。这个就是内存管理所要做的事。内存管理还有另外一件事需要做:计算程序片段在主存中的物理位置,以便CPU调度。 内存管理...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

从右到左运算符有哪些