Java 运算符及优先级
运算符
- 分割符: , ; [] ()
- 算数运算符: + - * / % ++ --
- 关系运算符: > < >= <= == !=
- 逻辑运算符: ! & | ^ && ||
- 赋值运算符: =
- 扩展赋值运算符: += -= *= /=
- 三目运算符: ? :
- 字符串连接运算符: +
“+” 和 “-” 运算符还可以作为数据的正负符号。
&&:短路与,只要其中一个表达式或方法的值为false,那么结果就为false,且不执行之后的操作。
||:短路或,只要其中一个表达式或方法的值为true,那么结果就为true,且不执行之后的操作。
short s = 10;
//错误,s为short,1默认为int,先把右边s转换为int再相加,结果为int
//s = s + 1; //错误
s = (short)(s + 1); //正确
s += 1; //正确,等同于 s = (short)(s + 1);
三目运算符:
x ? y : z x为boolean类型,若x为true,则表达式结果为y,否则为z
字符串连接符:只要“+”任意一边出现字符串,“+”就表示字符串连接符
- 运算符“+”用于数值类型数据,是加法运算符
例:"abd" + "de" 结果:"abcde"
- 用于字符串李类型(String),是连接符
- 字符串+数值,Java会自动将数值转换成字符串,然后连接成新字符串
例:"12" + 34 结果:"1234"
System.out.println(12+34+""); //"46"
System.out.println(""+12+34); //"1234"
运算符的优先级
- 除了单目运算符、赋值运算符和条件运算符,其他的运算符都是从左到右结合的。
- 运算符优先级口诀:非、算、关、与或、赋
- 下表为优先级顺序,优先级高的在上部,同一行优先级相同
|
运算符说明 |
Java运算符 |
|
分割符 |
. [] () , ; |
|
单目运算符 |
+ - ~ ! ++ -- |
|
创建或类型转换 |
new (type) |
|
乘法/除法 |
* / % |
|
加法/减法 |
+ - |
|
关系 |
< <= >= > instanceof |
| 等价 |
== != |
|
按位与 |
& |
| 按位异或 |
^ |
| 按位或 |
| |
| 条件与 |
&& |
| 条件或 |
|| |
|
条件 |
? : |
| 赋值 |
= |
Java 运算符及优先级的更多相关文章
- [转]Java 运算符的优先级
Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...
- Java运算符及优先级(全)
运算符是一种特殊的符号,用以表示数据的运算.赋值和比较等. Java运算符分为以下几种: • 算术运算符:+,-,*,/,%,++,-- • 赋值运算符:= • 扩展后的赋值运算符:+=,-=,*=, ...
- Java运算符的优先级(从高到低)
运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 << ...
- Java基本语法-----java运算符的优先级与结合性
这是本人以前的上学期间java 运算符这块知识的总结的,截图存到了word里,大家将就看下吧(不会用Markdown的表格 不然就在写一遍了 T T). [正在看本人博客的这位童鞋,我看你气度不凡,谈 ...
- java运算符的优先级
Java 编辑 运算符 结合性 [ ] . ( ) (方法调用) 从左向右 ! ~ ++ -- +(一元运算) -(一元运算) 从右向左 * / % 从左向右 + - 从左向右 << & ...
- java运算符的优先级和详解
优先级 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目 ( ) 圆括号 从左到右 [ ] 方括号 从左到右 2 + 正号 从右到左 单目 - 负号 从右到左 单目 ++ ...
- JAVA运算符和优先级
1.算术运算符: ++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同,如: ①int a=5: int b=a++: #先把a赋给b,a再自增 ②int a=5: int b=+ ...
- java 运算符的优先级比较
口诀:淡云一笔安洛三福 单目>算数运算符>移位>比较>按位>逻辑>三目>赋值 单目运算符:+,-,++,-- 算数运算符:+,-,*,/,% 移位运算符:&l ...
- java中运算符的优先级
所谓优先级,就是在表达式中的运算顺序.Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最低.譬如,x = 7 + 3 * 2 得到的结果是 13 &quo ...
随机推荐
- linux使用ip能ping通,但使用域名却不能访问的解决方法
使用命令:yum -y update进行更新测试,一般测试结果为couldn't resolve hostmirrors.aliyun.com 解决方式参考博客couldn't resolve hos ...
- 浅析 Hadoop 中的数据倾斜
转自:http://my.oschina.net/leejun2005/blog/100922 最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一 ...
- 小结:A* & IDA* & 迭代深搜
概要: 在dfs中,如果答案的深度很小但是却很宽,而且bfs还不一定好做的情况下,我们就综合bfs的优点,结合dfs的思想,进行有限制的dfs.在这里A*.IDA*和迭代深搜都是对dfs的优化,因此放 ...
- 转载:基于Redis实现分布式锁
转载:基于Redis实现分布式锁 ,出处: http://blog.csdn.net/ugg/article/details/41894947 背景在很多互联网产品应用中,有些场景需要加锁处理,比如 ...
- MySQL的innodb_flush_log_at_trx_commit配置值的设定
MySQL的innodb_flush_log_at_trx_commit配置值的设定 mysql的配置文件中innodb_flush_log_at_trx_commit的默认值是1,修改成0或者2,速 ...
- erlang的汉字字符串和二进制的相互转换,并还原成汉字打印
19> Hanzi = <<"汉字"/utf8>>. <<230,177,137,229,173,151>> 20> i ...
- linux grub启动密码验证设置
1.认识启动配置选项 [root@server5 ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Not ...
- 剑指 offer set 18 数组中只出现一次的数字
题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字 思路 1. 思路是先将数组分成两个部分, 两个单个数字分别分到两部分中, 并且数组中其他数字都成 ...
- axios如何进行跨域以及对返回格式为回调函数字符串的处理
自从vue2.0开始不对vue-resouce进行维护了,转而用axios进行代替,axios的官方文档写的很详细,附上链接一枚:http://www.jianshu.com/p/df464b26ae ...
- you *might* want to use the less safe log_bin_trust_function_creators variable
报错:you *might* want to use the less safe log_bin_trust_function_creators variable 解决方法如下: 1. mysql&g ...