FreeMarker中的运算符优先级

FreeMarker中的运算符优先级如下(由高到低排列):
1,一元运算符:!
2,内建函数:?
3,乘除法:*, / , %
4,加减法:- , +
5,比较:> , < , >= , <= (lt , lte , gt , gte)
6,相等:== , = , !=
7,逻辑与:&&
8,逻辑或:||
9,数字范围:..

实际上,我们在开发过程中应该使用括号来严格区分,这样的可读性好,出错少。

时间: 2024-10-12 02:47:28

FreeMarker中的运算符优先级的相关文章

C语言中的运算符优先级

C语言中的运算符优先级问题,一般是不要求我们记的,但如果能记住,对快速理解代码和编程是有很大帮助的:若能快速记住,何乐而不为呢? 如果你喜欢,建议先下载我整理的运算符优先级pdf文档(http://download.csdn.net/detail/n289950578/7964209),对照一起看,更有助于理解. 1.优先级: 为了理解方便,将优先级分为六大类,速记为<非123赋>: 非运算符  () [] . ->: 单目运算  (!&* 右->左): 双目运算  (左-

C++中的运算符优先级

1   ()  []  .  ->2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   * / % 4   + - 5   >> <<  6   > >= < <= 7   == !=   8   &  9   ^   10  |   11  &&12  ||13  ?:14   =  +=  -=  *=  /=   %=  |=   ^=  

C语言运算符优先级及结合性

今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () [] -> . 自左向右 ! ~ ++ -- - (type) * & sizeof 自右向左 * / % 自左向右 + - 自左向右 << >> 自左向右 < <= > >= 自左向右 == != 自左向右 & 自左向右 ^ 自左向右

第五天总结 运算符 职业化 运算符优先级 职业精神

什么是运算符? 运算符包括算数运算符+-*/,关系运算符><==,逻辑运算符 & | !...还有很多 为什么需要运算符呢? 因为就像数学一样,有了运算符才能进行复杂的计算和操作. 为什么需要运算符优先级? 因为很多的式子都是带多个运算符的.如果没有优先级,那么式子的计算过程不能确定, 计算的结果也不一致,这就会导致很多的问题. 是不是C++,C语言,Java中的运算符优先级是一样的? 大致是一样的,就算有区别也很小. 为什么现在的招聘难和就业难的现象如此严重? 因为学校培养的学生的能

PHP中运算符优先级

运算符优先级指定了两个表达式绑定得有多“紧密”.例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高.必要时可以用括号来强制改变优先级.例如:(1 + 5) * 3 的值为 18. 如果运算符优先级相同,那运算符的结合方向决定了该如何运算.例如,"-"是左联的,那么 1 - 2 - 3 就等同于 (1 - 2) - 3 并且结果是 -4. 另外一方面,"="是右联的,所以 $a = $b = $c 等同于 $

java中运算符优先级

首先不需要专门记忆,也没有必要.因为作为初学者,哪个优先级高.哪个优先级低我们很难记住.就算死记硬背记住了,时间长不用也会忘记.所以当一个表达式中有多个运算符时,如果不知道哪个优先级高哪个优先级低就查一下优先级表,附录E有一个运算符优先级表.此外用的时间长了自然而然就记住了,这样记才会记得深刻. 而且事实上在编程的时候也不需要考虑优先级的问题.因为如果不知道优先级高低的话,加一个括号就可以了,因为括号( )的优先级是最高的.比如前面的程序中: k = (j>i) && (8==i);

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

运算符优先级问题

设计一个函数计算2n+1: int func(int n) { return n << 1 + 1; } 这个函数得到的结果是4*n. 使用左移一位代替乘以2的运算,是很好的方法,但在C/C++中"+"运算符优先级高于"<<",因此会先进行加法运算再左移两位,得到结果4*n. 正确写法是: int func(int n) { return (n << 1) + 1; }

Java运算符优先级(转)

Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目   ( ) 圆括号 从左到右     [ ] 方括号 从左到右     2 + 正号 从右到左 单目   - 负号 从右到左 单目   ++ 自增 从右到左 单目 前缀增,后缀增 - - 自减 从右到左 前缀减,后缀减 ~ 按位非/取补运算 从右到左 单目   ! 逻辑非 从右到左 单目 “!”不可以与“=”联用 3 * 乘 从左到右 双目   / 除 从左到右 双目 整数除法:取商的整数部分,