最简单常用的运算符

标签: java
13人阅读 评论(2) 收藏 举报
分类:

1. 算术运算符

int a = 10;

int b = 7;

操作符描述举例
+加法a + b,输出17。
-减法a - b,输出3。
*乘法a * b,输出70。
/除法a / b,输出1(即取商)。
%取模a % b,输出3(即取余)。
++自加1a++,输出11。
--自减1b--,输出6。

System.out.println(a++);// ++放后面,先运行后自己加,输出10。自减同理

System.out.println(++a);// ++放前面,先自加后运行,输出11。自减同理


2. 关系运算符

int a = 10;

int b = 20;

操作符描述

举例

==检查左右两边值是否相等,如果相等,那么关系成立,结果为true,否则为false。a == b,输出false。
!=检查左右两边值是否相等,如果不相等,那么关系成立,结果为true,否则为假false。a != b,输出true。
>检查左边的值是否大于右边的值,如果是,那么关系成立,结果为true,否则为false。a > b,输出false。
<检查左边的值是否小于右边的值,如果是,那么关系成立,结果为true,否则为false。a < b,输出true。
>=检查左边的值是否大于或者等于右边的值,如果是,那么关系成立,结果为true,否则为false。a >= b,输出false。
<=检查左边的值是否小于或者等于右边的值,如果是,那么关系成立,结果为true,否则为false。a <= b,输出true。

3. 逻辑运算符

int a = 10;

int b = 11;

int c = 12;

操作符描述举例
&&逻辑与,如果左右两边条件都成立,那么结果为true,否则为false。a == b && b < c,输出false。
||逻辑或,如果左右两边条件有一个成立,那么结果为true,否则为false。a != b || b < c,输出true。
逻辑非,boolean值取反。!(a == b),输出true。

短路逻辑运算符
// 如果有一处条件不成立,直接得到结果false,并且不再继续后面的条件判断。

boolean value0 = a == b && b < c;// 判断得false,绿不再判断。

System.out.println(value);// 输出false

boolean value1 = a != b && b < c;// 判断得yrue,继续判断绿得true

System.out.println(value1);// 输出true

// 如果有一处条件成立,直接得到结果true,并且不再继续后面的条件判断。

boolean value0 = a != b || b < c;// 判断得true,绿不再判断。

System.out.println(value0);// 输出true

boolean value1 = a == b || b == c;// 判断得false,继续判断绿得true。

System.out.println(value1);// 输出true

boolean value2 = a == b || a == c || b > c;// 判断得false,继续判断绿得false,继续判断得false。

System.out.println(value2);// 输出false


4. 赋值运算符

int a = 10;

int b = 11;

操作符描述举例
=最简单的赋值运算符,将右操作数的值赋给左操作数。int c = a + b,输出21。
+=加和赋值操作符,将左操作数与右操作数相加,结果赋给左操作数。a += 5,等价于a = a + 5,输出15。
-=减和赋值操作符,将左侧操作数与右侧操作数相减,结果赋给左操作数。b -= 10,等价于b = b - 10,输出1。
*=乘和赋值操作符,将左侧操作数与右侧操作数相乘,结果赋给左操作数。a *= 2,等价于a = a * 2,输出20。
/=除和赋值操作符,将左侧操作数与右侧操作数相除,结果赋给左操作数。b /= 4,等价于b = b / 4,输出2。
%=取模和赋值操作符,将左侧操作数与右侧操作数取模,结果赋给左操作数。b %= 4,等价于b = b % 4,输出3。
<<=左移位赋值运算符a <<= 2,等价于a = a << 2,输出10。
>>=右移位赋值运算符b >>= 2,等价于b = b >> 2,输出2。
&=按位与赋值运算符a &= 2,等价于a = a & 2,输出2。
^=按位异或赋值运算符a ^= 2,等价于a = a ^ 2,输出8。
|=按位或赋值运算符a |= 2,等价于a = a | 2,输出10。

如果运算符得到一个值,其类型与左侧操作数的类型不同,默认强制类型转换为左侧操作数的类型。

a += 3.14;// 等价于a = (int)(a + 3.14),输出13。


5. 位运算符

应用于byte、short、int、long、char等类型,作用在所有的位上,并且按位运算。

int a = 60;

int b = 13;

操作符描述举例
&如果相对应位都是1,则结果为1,否则为0。a & b,得12,即00001100。
|如果相对应位都是0,则结果为0,否则为1。a | b,得61,即00111101。
^如果相对位值相同,则结果为0,否则为1。a ^ b,得49,即00110001。
~按位补运算符,翻转操作数的每一位,即0变1,1变0。~a,得-61,即11000011。
<<按位左移运算符,左操作数按位左移右操作数指定的位数。a << 2,得240,即11110000。
>>按位右移运算符,左操作数按位右移右操作数指定的位数。a >> 2,得15,即1111。
>>>按位右移补零操作符,左操作数的值按右操作数指定的位数右移,移动得到的空位以0填充。a >>> 2,得15,即00001111。


6. 三元运算符。

int a = 10;

int b = 11;

// ?左边是条件判断,右边是取值。如果条件成立,就取:左边的值;不成立,就取:右边的值。

int value = a == b ? 100 : 200;// 判断是否成立,为true就取绿值,否则就取值。

System.out.println(value);// 输出200


7. 运算符优先级

运算符结合性
[]  .  () (方法调用)从左往右
!  ~  ++  --  +  (一元运算)  -  (一元运算)  ()  (强制类型转换)  new从右往左
*  /  %从左往右
+  -从左往右
<<  >>  >>>从左往右
<  <=  >  >=  instanceof从左往右
==  !=从左往右
&

从左往

^从左往右
|从左往右
&&从左往右
|| 从左往右
?:从右往左
=  +=  -=  *=  /=  %=  &=  |=  ^=  <<=  >>=  >>>=从右往左
查看评论

线性表是最基本、最简单、也是最常用的一种数据结构。

线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单,便于实现和操作。因此,...
  • sun6223508
  • sun6223508
  • 2011-07-20 17:35:49
  • 2023

C语言基础:最简单的程序

        基本功无论在什么领域内都有着不容忽视的地位,想要学好编程,并将程序运动到实际当中去一定要学好基础,学好C语言基础,打下扎实的编程基本功,我们将带你走进编程的世界。        我是先...
  • walle2018
  • walle2018
  • 2018-02-20 07:52:15
  • 35

qt5简单倒数 timer

  • 2016年09月10日 17:49
  • 4KB
  • 下载

T-SQL 语言基础(三)—— 运算符

T-SQL 语言基础(三)—— 运算符运算符一、算术运算符 运算符 说明 + 加法 - 减法 * 乘法 / 除法 % 取模 二、赋值运算符 =三、位运算符...
  • wuxinwudai
  • wuxinwudai
  • 2017-02-11 14:12:59
  • 386

最常用的10000个英文单词

1 - 10000[edit] Frequencies listed here are per billion. Fractions are limited to two decimal places...
  • csdn_0_001
  • csdn_0_001
  • 2018-03-22 12:27:58
  • 140

T-SQL中的运算符

--算数运算符 SELECT 3+4 AS  加的结果 GO SELECT 5/2 AS 除的结果 --2.5 左右两边都是整数,结果是整数 GO SELECT 5.0/2 AS 除的结果 ...
  • CCCrunner
  • CCCrunner
  • 2017-10-25 20:25:45
  • 235

最简单的JS模版引擎

出于某些原因,比方说学习JS模版引擎的工作原理,相信下边来自 John Resig 的一个JS function能帮助到我们。// Simple JavaScript Templating // Jo...
  • wxqee
  • wxqee
  • 2017-07-26 02:36:21
  • 369

【C语言简单说】五:常用运算符

其实。。。这一节我我猜大家几分钟就会了()…(⊙_⊙;)… ○圭~○列~~怎麼酱?因为我相信大家的智商,我就随便给大家提一下就好了。我们看以下的代码:#include #include int mai...
  • A757291228
  • A757291228
  • 2017-02-18 09:41:09
  • 225

几种简单的设计模式

先来说说最简单最常用的单例, 单例(Single),顾名思义,就是一个类只能有一个实例,他必须自行创建这个唯一的实例,必须自行向这个系统提供这个实例,在连接数据库的时候,我们可以通过单例产生唯一的连...
  • Sober0808
  • Sober0808
  • 2016-09-07 21:02:36
  • 241

实现一个最简单图片列表所引发的问题

前一阵看了些Universal-Image-Loager的源码。我觉得看源码很累的一个原因就是除了看怎么实现,就是去揣测为什么这么实现。这个揣测的过程很容易走马观花,看到后面似懂非懂。 人懒到一个地步...
  • Bossgirls
  • Bossgirls
  • 2015-07-21 13:59:43
  • 1192
    个人资料
    等级:
    访问量: 93
    积分: 64
    排名: 161万+
    文章分类
    文章存档
    最新评论