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 ...
随机推荐
- heartbeat 心跳技术
转自:http://blog.csdn.net/keda8997110/article/details/8349049 heartbeat 心跳技术原理: heartbeat (Linux-HA)的工 ...
- wifi的web 认证。
wifi的web 认证.wifidog+authpuppy+php 或者Wiwiz Auth API
- 《Java并发编程实战》第八章 线程池的使用 读书笔记
一.在任务与运行策略之间的隐性解耦 有些类型的任务须要明白地指定运行策略,包含: . 依赖性任务.依赖关系对运行策略造成约束.须要注意活跃性问题. 要求线程池足够大,确保任务都能放入. . 使用线程封 ...
- python MySQLdb在windows环境下的快速安装
python MySQLdb在windows环境下的快速安装.问题解决方式 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下 ...
- xdebug常用配置
;指定xdebug文件 zend_extension = "F:\tools\develop_tools\php\php_xdebug-2.2.2-5.4-vc9.dll" ;xd ...
- 类库服务寄宿到WebHost
1.该Demo中包含一个类库项目.一个空的WebForm项目 2.新建WebForm项目 3.全局路由中注册类库服务 public class Global : System.Web.HttpAppl ...
- tomcat 权限问题
http://blog.csdn.net/testcs_dn/article/details/39252433 chmod -R 755 apache-tomcat-7.0.63 pwd :mac 看 ...
- 各种层次NET人应该知道些什么?
A.任何一个使用.NET的人 1.描述线程与进程的区别? 2.什么是Windows服务,它的生命周期与标准的EXE程序有什么不同 ? 3.Windows上的单个进程所能访问的最大内存量是多少?它与系统 ...
- 合并图片、EUI顺序、CacheAsBitmap对drawcall影响的测试
一 什么是DrawCall Draw Call 理解和优化: http://blog.csdn.net/sakyaer/article/details/44459881 draw call是openG ...
- linux系统安装jdk及配置环境变量
OpenJdk8安装: sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openj ...