Java编程基础元素-运算符
1 前言
运算符就是在用变量或常量进行运算时,经常需要用到的运算符,Java 提供了丰富的运算符,可分为4类:算术运算符、关系运算符、逻辑运算符和位运算符。
2 算术运算符
2.1 四则运算
算术运算符的用途类似一般数学运算中的加(+)、减(-)、乘(×)和除(/)四则运算,是经常使用的数学运算符。这些算术运算符在Java语言中的用法及功能与它们在传统的数学中的用法及功能相同。四则运算符和数学上的功能一模一样。而求余数运算符“%”用于计算两数相除后的余数,这个运算要求参与运算的两个操作数都必须是整数类型。
public static void main(String[] args) { int a = 13+5; int b = 19-2; int c = 3*5; int d = 20/2; System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); }
输出结果:
a=18
b=17
c=15
d=10
2.2 字符串运算符
不过,我们要注意的是加法运算符,在Java
中,它除了可以执行数值加的运算,还具有“字符串串接”的功能。
public static void main(String[] args) { int x = 6; int y = 9; String z = "xy"; System.out.println(z + x + y); }
输出结果:
xy69
2.3 一元运算符
对于很多表达式而言,运算符前后都会有操作数。但有一类操作符比较特别,它只需要一个操作数。这类运算符称为一元运算符。常见的一元运算符有:+(正号)、 -(负号)、++(自增)、(–)自减
一元减号可以得到数据的负值。一元加号的作用相反,不过它唯一能影响的就是把较小的数值类型自动转换为 int
类型。
public static void main(String[] args) { int x = +5; int y = -3; x++; y--; }
输出结果:
x=6
y=-4
3 关系运算符
关系运算符会通过产生一个布尔(boolean
)结果来表示操作数之间的关系。如果关系为真,则结果为 true,如果关系为假,则结果为 false
。常见的关系运算符有:==(等于)、!=(不等于)<(小于)、>(大于)、<=(小于等于)和>=(大于等于)
public static void main(String[] args) { int a = 10; int b = 11; boolean result = a == b; System.out.println(result); }
输出结果:
false
4 逻辑运算符
每个逻辑运算符根据参数的逻辑关系生成布尔值 true 或 false。常见的逻辑运算符有3个,即与(&&)、或(||)、非(!)
public static void main(String[] args) { boolean a = true; int b = 0; boolean result = a || b++>0; System.out.println(result); }
输出结果:
true
5 位运算符
位运算符允许我们操作一个整型数字中的单个二进制位。位运算符会对两个整数对应的位执行布尔代数,从而产生结果。位运算符有&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)。
左移运算符(<<)规则
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
语法格式:需要移位的数字 << 移位的次数。例如: 3 << 2,则是将数字3左移2位
计算过程:首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12。
右移运算符(>>)规则:
按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
语法格式:需要移位的数字 >> 移位的次数。例如11 >> 2,则是将数字11右移2位
计算过程:
11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。
6 码农洞见
6.1 运算符思维导图
6.2 运算符优先级
运算符的优先级决定了存在多个运算符时一个表达式各部分的运算顺序。Java 对运算顺序作出了特别的规定。其中,最简单的规则就是乘法和除法在加法和减法之前完成。程序员经常都会忘记其他优先级规则,所以应该用括号明确规定运算顺序。运算符的优先顺序:
- 分隔符:
[] () ; ,
- 从右到左结合:
++ – + - ~ !
- 从左到右结合:
* / %
- 从左到右结合:
+ -
- 从左到右结合:
<< >> >>>
- 从左到右结合:
< > <= >=
- 从左到右结合:
== !=
- 从左到右结合:
&
- 从左到右结合:
^
- 从左到右结合:
|
- 从左到右结合:
&&
- 从左到右结合:
||
- 从右到左结合:
?:
- 从右到左结合:
= *= /= %= += -= <<= >>= >>>= &= ^= |=
同样优先级的运算符是从左到右计算还是从右到左计算称为运算符的结合性。
到此这篇关于Java编程基础元素-运算符的文章就介绍到这了,更多相关Java元素-运算符内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
原文出处:https://blog.csdn.net/pangpengshuai/article/details/12219788
相关文章
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
iPhone6怎么激活?两种苹果iPhone6激活教程图文详解
iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
C# WinForm多线程解决界面卡死问题的完美解决方案,使用BeginInvoke
问题描述:当我们的界面需要在程序运行中不断更新数据时,当一个textbox的数据需要变化时,为了让程序执行中不出现界面卡死的现像,最好的方法就是多线程来解决一个主线程来创建界...2020-06-24- 今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
- 支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
- 今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
- 今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
- 今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
- Create Procedure AtoC @ChangeMoney Money as Set Nocount ON Declare @String1 char(20) Declare @String2 char(30) ...2016-11-25
- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
- 存储过程在数据库的应用中我们用到的非常的多了,下面我们来看一篇关于PHP操作MSSQL存储过程修改用户密码的例子,具体的如下所示。 mssql2008 存储过程 下面可以直接...2016-11-25
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
- 这篇文章主要介绍了C#停止线程的方法,实例分析了C#正确停止线程的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 今天小编就为大家分享一篇关于C#开启线程的四种方式示例详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-06-25
- 这篇文章主要介绍了C# 线程相关知识,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
- 联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24