大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。本篇文章通过我和三妹对话的形式来谈一谈“Java 中的操作符”。

教妹学 Java,没见过这么有趣的标题吧?“语不惊人死不休”,没错,本篇文章的标题就是这么酷炫,接受不了的同学就别点进来看了,所谓好奇心害死猫;能够接受的同学我只能说你赚到了,你不仅能在阅读的过程中感受到思维的乐趣,还真的能学习到知识。下面就由我来介绍一下故事的背景吧。

我有一个漂亮如花的妹妹(见上图),她叫什么呢?我想聪明的读者朋友们都能猜得出:沉默王三,没错,年方三六。父母正考虑让她向我学习,做一名正儿八经的 Java 程序员。我期初是想反抗的,因为程序员这行业容易掉头发。但家命难为啊,与其反抗,不如做点更积极的事情,写点有趣的文章,教妹妹如何更快地掌握 Java 这门编程语言。毕竟程序员还算得上高薪(都是拿命换的啊)。

(铺垫结束,正文开始)

“二哥,今天我们来学习‘操作符’,对吧?比如说 +,-,*,/”

“是的,是的。操作符在 Java 中占据着重要的位置,用于程序的执行。除了常见的加减乘除,还有许多其他类型的操作符,我画了一副图,三妹你可以先看一下。”

“是不是还有很多没见过的,不着急啊,三妹,二哥来一一解释下。其中一些在实战中不常用的,暂且略过,免得增加你学习的压力。”

01、一元运算符

一元运算符要求只有一个操作数,我们来看例子。

public class UnaryOperator1 {public static void main(String[] args) {int x = 10;System.out.println(x++);//10 (11)  System.out.println(++x);//12  System.out.println(x--);//12 (11)  System.out.println(--x);//10  }
}

x++ 和 ++x 的主要区别是:x++ 返回原来的值(所以输出 10,后自增为 11),++x 返回加 1 后的值(所以直接输出 12)。

x-- 和 --x 的区别于 x++ 和 ++x 的区别类似。

02、算数运算符

算术运算符就理解起来就很简单了,就是加减乘除(余),这里就不再过多解释,来看一个例子吧。

public class ArithmeticOperator {public static void main(String[] args) {int a = 10;int b = 5;System.out.println(a + b);//15  System.out.println(a - b);//5  System.out.println(a * b);//50  System.out.println(a / b);//2  System.out.println(a % b);//0  }
}

% 就是取余,除法运算后的余数。

03、位运算符

1)按位左移运算符,说起来比较难理解,我们直接来看例子,一看就懂。

public class LeftShiftOperator {public static void main(String[] args) {System.out.println(10<<2);//10*2^2=10*4=40  System.out.println(10<<3);//10*2^3=10*8=80  System.out.println(20<<2);//20*2^2=20*4=80  System.out.println(15<<4);//15*2^4=15*16=240  }
}

10<<2 等于 10 乘以 2 的 2 次方;10<<3 等于 10 乘以 2 的 3 次方。

2)按位右移运算符。

public class RightShiftOperator {public static void main(String[] args) {System.out.println(10>>2);//10/2^2=10/4=2System.out.println(20>>2);//20/2^2=20/4=5System.out.println(20>>3);//20/2^3=20/8=2}
}

10>>2 等于 10 除以 2 的 2 次方;20>>2 等于 20 除以 2 的 2 次方。

04、逻辑运算符

&& 多个条件中只要有一个为 false 结果就为 false。|| 多个条件只要有一个为 true 结果就为 true。

public class LogicalOperator {public static void main(String[] args) {int a=10;int b=5;int c=20;System.out.println(a<b&&a<c);//false && true = falseSystem.out.println(a>b||a<c);//true || true = true}
}

对应的还有 & 和 |,& 不管第一个条件为 true 还是 false,依然会检查第二个,| 也一样。示例如下:

public class LogicalOperator1 {public static void main(String[] args) {int a=10;int b=5;int c=20;System.out.println(a<b&a<c);//false & true = falseSystem.out.println(a>b|a<c);//true | true = true  }
}

05、三元操作符

三元操作符用于替代 if-then-false,可以使用一行代码完成条件判断的要求。来看示例:

public class TernaryOperator {public static void main(String[] args) {int a=2;int b=5;int min=(a<b)?a:b;System.out.println(min);}
}

如果 ? 前面的条件为 true,则结果为 : 前的值,否则为 : 后的值。

06、赋值操作符

赋值操作符恐怕是 Java 中使用最频繁的操作符了,它就是把操作符右侧的值赋值给左侧的变量。来看示例:

public class AssignmentOperator {public static void main(String[] args) {int a=10;int b=20;a+=4;//a=a+4 (a=10+4)  b-=4;//b=b-4 (b=20-4)  System.out.println(a);System.out.println(b);}
}

不过在进行 short 类型的数值赋值时,需要小点心。

编译器之所以提示错误,是因为 = 右侧的算术表达式默认为 int 类型,左侧是 short 类型的时候需要进行强转。

public class AssignmentOperator1 {public static void main(String[] args) {short a = 10;short b = 10;
//a+=b;//a=a+b internally so finea = (short)(a + b);System.out.println(a);}
}

“怎么样,三妹,现在是不是有点豁然开朗的感觉?”

“对对对,就这种感觉。”

07、鸣谢

本篇文章为《教妹学Java》专栏的第十一篇文章,是不是有趣得很?我相信你能感受的到,这可是全网独一份,我看到已经有人在模仿了。现在定价只需 9.9 元,9.9 元你连一杯奶茶都买不到,但却能买下二哥精心制作的专栏,据说 CSDN 已经考虑涨价了,毕竟已经卖出一百多份了。

我知道,购买专栏的同学都是冲着二哥的名声来的,毕竟二哥是 CSDN 的明星博主,哈哈。为表谢意,我再附送上个人微信(qing_gee),你有什么问题都可以来咨询。

上一篇回顾:教妹学Java(十):Unicode字符集简介

PS:本篇文章中的示例代码已经同步到码云,传送门~

原创不易,喜欢就点个赞,因为你一个小小的举动,就会让这个世界多一份美好。

教妹学Java(十一):操作符简介相关推荐

  1. 教妹学Java(二十一):一文带你了解面向对象编程的所有概念

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个 ...

  2. 教妹学Java(十九):continue 关键字详解

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 2019 年度的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我 ...

  3. 教妹学Java(二十二):来吧,一文彻底搞懂Java命名约定

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个知 ...

  4. 教妹学Java(二十):一文带你彻底了解 Java 中的注释,干货了

    你好呀,我是沉默王二,一枚颜值与才华俱在的程序员.本篇教程通过我和三妹对话的形式来谈一谈"Java 中的注释". 教妹学 Java,没见过这么有趣的标题吧?"语不惊人死不 ...

  5. 教妹学 Java:动态伴侣 Groovy

    点击上方"程序员小明",选择"星标" 今晚可以不加班! 00.故事的起源 "二哥,听说上一篇<多线程>被 CSDN 创始人蒋涛点赞了?&q ...

  6. 教妹学Java(十四):switch 语句详解

    大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.本篇文章通过我和三妹对话的形式来谈一谈"switch 语句". 教妹学 Java,没见过这么有趣的标题吧?&q ...

  7. 教你学java_教妹学Java:Spring 入门篇

    你好呀,我是沉默王二,一个和黄家驹一样身高,刘德华一样颜值的程序员(管你信不信呢).从两位偶像的年纪上,你就可以断定我的码龄至少在 10 年以上,但实话实说,我一直坚信自己只有 18 岁,因为我有一颗 ...

  8. 教妹学 Java:大有可为的集合

    本篇通过一种趣味化的形式来讲述 Java 的集合. 00.故事的起源 "二哥,上一篇<泛型>的反响效果怎么样啊?"三妹对她提议的<教妹学 Java>专栏很是 ...

  9. 教妹学Java:接口,抽象的另一种表现方式

    接口 "哥,我看你朋友圈说<教妹学 Java>专栏收到了第一笔赞赏呀,虽然只有一块钱,但我也替你感到开心."三妹的脸上洋溢着自信的微笑,仿佛这钱是打给她的一样. &qu ...

  10. 教妹学Java(九):一文搞懂Java中的基本数据类型

    大家好,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.本篇文章通过我和三妹对话的形式来谈一谈"Java 中的数据类型". 教妹学 Java,没见过这么有趣的标题吧? ...

最新文章

  1. MyBatis——Java API
  2. C++文件输入和输出
  3. Python Train_机器学习--基于Python的简单线性回归
  4. boost::range模块实现map_values相关的测试程序
  5. pyqt2_官网教程
  6. LED驱动电路设计及原理分析
  7. MySQL视图(view)基本用法
  8. Python爬虫 之 异步爬虫
  9. PS怎么快速把多个图层形状以中心点缩放
  10. Exception in thread main java.sql.SQLException: Access denied for user ''@'localhost' (using passw
  11. Android阅读器——FolioReader
  12. 白云机场查获具有充电宝功能的时尚女包
  13. 华为网络设备维护手册
  14. 离线地图开发瓦片数据详解
  15. 计算混响时间的意义_混响时间的计算——
  16. Linux文件已删除,引用未释放(deleted)
  17. Python之父Guido推荐的规范
  18. SerenityOS 操作系统类 Unix 操作系统
  19. z9mini超频_努比亚Z9 min仍为1499性价比之王 nubia Z9 mini评测
  20. 能力跃迁体系:如何系统化提升自己的能力

热门文章

  1. 单片机基础知识大总结
  2. Linus 没空实现的功能,开发者做到了:苹果 M1 Mac 成功运行原生 Linux!
  3. fedora 11 配置 thinkpad trackpoint 中键
  4. MySQL 日期时间加减
  5. 津津乐道播客网络 实习生/志愿者 招募
  6. 微信网页授权流程 时序图
  7. Android 开发横屏App或创建横屏布局
  8. apkg格式怎么打开_干货:pdf转换器简单、好用,还能在线互转文件格式!
  9. ADNI静息态功能核磁共振成像数据预处理总流程
  10. 分享一种写代码的字体~大写i和小写l和1,大写O和数字0区别明显