一 赋值运算符

/*
* 赋值运算符
* +=, -=, *=, /=, %= :
* 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的
* 注意:赋值运算符左边必须是变量
*/
public class OperatorDemo2 {
public static void main(String[] args) {
byte x = 10;
x += 20;// 相当于 x = (byte)(x+20);
System.out.println(x);
}
}

二 比较运算符

比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的

比较运算符的结果是布尔值,即true或者false。

赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:

赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;

比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。

int a = 3;
int b = 4;
System.out.println( a=b );
System.out.println( a==b );

结果第一个值是4,第二个值是true。

三 逻辑运算符

逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。

逻辑运算符通常连接两个其他表达式计算后的布尔值结果

当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。

boolean b = 100>10;
boolean b2 = false;
System.out.println(b&&b2); // 打印结果为 false
System.out.println(b||b2); //打印结果为 true
System.out.println(!b2); //打印结果为 true
System.out.println(b && 100>10); //打印结果为 true

短路与&&:参与运算的两边数据,有false,则运算结果为false;

短路或||:参与运算的两边数据,有true,则运算结果为true;

逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。

这里要注意一下短路与和与,短路或和或的区别:

短路与是指在与的判断语句里如果代码执行了一半就知道最后的结果,那么后面的代码就不在继续执行。

与 是要一直执行完毕。

短路或也是如果代码执行了一半就知道最后的结果,那么后面的代码就不在继续执行

或 是要一直执行完毕。

四 三元运算符

格式:

(条件表达式)?表达式1:表达式2;

表达式:通俗的说,即通过使用运算符将操作数联系起来的式子。

三元运算符运算规则:

先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。

方式一:
System.out.println( 3>2 ? “正确” : “错误” );
// 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印 方式二:
int a = 3;
int b = 4;
String result = (a==b) ? “相等” : “不相等”;
//三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result 方式三:
int n = (3>2 && 4>6) ? 100 : 200;
//三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n

五 运算符优先级

最新文章

  1. TCP的拥塞控制
  2. 纪念逝去的岁月——C/C++二分查找
  3. 在AD转换中的过采样和噪声形成
  4. B/S与C/S区别
  5. 操作系统和Python的发展历程
  6. 灵光一闪-VS设计界面能访问到private修饰的各种控件
  7. Android LCD(三):Samsung LCD接口篇
  8. 【留念贴】Android开发——计算器
  9. 转:js闭包
  10. deeplearning.ai 卷积神经网络 Week 2 深度卷积网络:实例研究 听课笔记
  11. http_build_query()函数使用方法
  12. poj 1811 随机素数和大数分解(模板)
  13. 用golang chromedp 操作已经打开的chrome浏览器
  14. Java体系基本概念
  15. webpack中loader和plugin的概念理解
  16. CStringArray error C2248: 'CObject::CObject' : cannot access private member declared in class
  17. Python Socket编程初探
  18. SPOJ:SUBLEX - Lexicographical Substring Search
  19. NOIP 解题有感
  20. cocos2d js 利用texture packer生成sprite

热门文章

  1. linux $* 和$@例子
  2. 第一章:Activity的生命周期和启动模式
  3. Ethical Hacking - GAINING ACCESS(11)
  4. 使用 Github Actions 自动部署 Angular 应用到 Github Pages
  5. Puppeteer爬虫实战(三)
  6. 常用CSS颜色表
  7. leetcode题库练习_两数之和
  8. python基础--闭包、装饰器
  9. Spring Security 实战干货:从零手写一个验证码登录
  10. python beautifulsoup基本用法-文档搜索