Java学习之运算符、表达式
来源:互联网 发布:淘宝上的gucci是真的吗 编辑:程序博客网 时间:2024/05/17 02:40
一、算术运算符和算术表达式
(1)加减运算符
加、减运算的运算符号分别为+和-,是双目运算符,即连接两个操作元的运算符。加、减运算的结合性是从左到右。例如,2+3-8,先计算2+3,再将得到的结果减8。加减运算的操作元时整型或浮点型数据,加减运算符的优先级是4。
(2)乘、除和求余运算符
乘、除和求余运算的运算符号分别为*、/、%,是双目运算符。*、/、%运算符的结合性是从左到右。例如,2*3/8,先计算2*3,再将得到的结果除以8。操作元时整型或浮点型数据,优先级是3。
(3)自增、自减运算符
自增、自减运算符分别为++、--,是单目运算符,优先级是2级。自增、自减运算符可以放在操作元之前,也可以放在操作元之后,但操作元必须是一个整型或浮点型变量(不能是常量或表达式)。自增、自减运算符的作用是使变量的值加1或减1。如:
++x,--x表示在使用x之前,先将x的值加1或减1。
x++,x--表示在使用x之后,将x的值加1或减1。
(4)算术表达式
用算术符号和操作元连接起来的、符合Java语法规则的式子,称为算术表达式,如:
x+2*y-30+3*(y+5)-12+n+(--n)
(5)算术混合运算的精度
精度由低到高排列的顺序是:byte、short、int、long、float、double。Java将按运算符两边的操作元的最高精度保留结果的精度,如5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。
char类型数据和整型数据运算结果的精度是int。
二、关系运算符和关系表达式
关系运算符用来比较两个值的关系,运算结果是boolean类型数据。当运算符对应的关系成立时,运算结果是true,否则是false。
(1)大小关系运算符
大小关系运算符的符号分别为>、>=、<、<=,是双目运算符,操作元是数值型的常量、变量或表达式。
(2)等与不等
等与不等关系运算符的符号分别是==和!=,双目运算符,优先级7级。==和!=都是由2个字符组成的一个完整的符号,书写时不要有空格。
(3)关系表达式
结果为数值型的变量或表达式可通过关系运算符形成关系表达式。
三、逻辑运算符和逻辑表达式
逻辑运算用来实现boolean类型数据的逻辑“与”、“或”、“非”运算,结果是boolean类型。
(1)逻辑“与”和逻辑“或”
逻辑“与”和逻辑“或”运算的符号是&&和||,操作元是boolean类型的变量或求值结果是boolean类型的表达式。
&&的运算法则是:当两个操作元的值都是true时,运算结果是true,否则为false。
||的运算法则是:当两个操作元的值都是false时,运算结果是false,否则为true。
&&和||也称为短路逻辑运算符。进行op1&&op2运算时,如果op1的值是false,运算时不再去计算op2的值,直接得出结果为false。当op1的值是true时,运算符||在运算时不再去计算op2的值,直接得出结果为true。
(2)逻辑“非”
逻辑“非”的符号为!,操作元在左。当操作元的值是true时,运算结果是false,反之为true。
(3)逻辑表达式
结果为boolean类型的变量或表达式可以通过逻辑运算符形成逻辑表达式。
四、赋值运算符和赋值表达式
赋值运算符“=”,左边的操作元必须是变量,不能使常量或表达式。赋值表达式的值就是“=”左边变量的值。
五、移位运算符
移位运算符用来对二进制进行操作,分为左移位和右移位。
(1)左移位
左移位符号是<<,左移位运算符左边的操作元称为被移位数,右边的操作数称为移位量,操作元必须是整型类型的数据。
假设a是一个被移位的整型数据,n是位移量。a<<n运算的结果是通过将a的所有位都左移n位,每移一位,左边的高阶位上的0或1被移出,并用0填充右边的低位。
对于byte或short类型的数据,a<<n的运算结果是int类型。
(2)右移位
右移位运算符是>>。a>>n运算的结果是通过将a的所有位都右移n位,每移一位,右边的低位被移出,并用0或1填充左边的高位。
对于byte或short类型的数据,a>>n的运算结果是int类型。
六、位运算符
(1)“按位与”运算符
&是双目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位都是1,则c的该位是1,否则是0。如果b的精度高于a,那么结果c的精度和b相同。
(2)“按位或”
|是双目运算符,对两个整型数据a、b按位进行计算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位都是0,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。
(3)“按位非”
~是单目运算符,对一个整型数据a按位进行运算,运算结果是一个整型数据c。运算法则是:如果a对应位是0,则c的该位是1,否则是0。
(4)“按位异或”
^是双目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位相同,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。
由异或运算法则可知:
a^a=0,0^a=a
位运算符也可以操作逻辑型数据,法则是:
当a、b都是true时,a&b是true,否则a&b是false;当a、b都是false时,a|b是false,否则是true;当a是true时,~a是false,当a时false时,~a是true。
七、条件运算符
条件运算符是一个三目运算符,符号是“?:”,需要连接3个操作元,用法如下:
op1?op2:op3
要求第一个操作元op1的值必须是boolean类型数据。运算法则是:当op1的值是true时,op1?op2:op3运算的结果是op2的值;当op1的值是false时,op1?op2:op3运算的结果是op3的值。
八、instanceof运算符
instanceof,左边的操作元是一个对象,右边是一个类。当左边的对象是右边的类创建的对象时,该运算的结果是true,否则是false。
- Java学习之运算符、表达式
- 【JAVA学习笔记】02 运算符、表达式
- java学习笔记02--运算符、表达式 .
- java学习 表达式语言的运算符
- java基础之运算符表达式,语句
- java学习之运算符
- java 从零开始,学习笔记之基础入门<运算符表达式和流程控制>(六)
- Java学习基础:运算符和表达式(算数运算、关系运算、逻辑运算、位运算、条件运算、赋值运算)
- Java运算符、表达式
- 【知识点】Java学习之Java运算符
- J2SE学习笔记之运算符、表达式与语句
- Python 学习笔记之运算符与表达式
- C#学习之语句、表达式和运算符
- 学习Linux C编程之运算符、表达式
- Java:java运算符,表达式
- 18天Java学习---3.运算符与表达式
- java学习 第七节 运算符和表达式
- 变量、JAVA基本类型 、 运算符和表达式的学习
- struct _TBBUTTON 结构;在win32和win64下进行条件编译
- Mysql 按照日、周、月、季度、年统计数据
- webservice的使用
- WEB前端之HTML5[5]~HTML5增强的页面元素
- lintcode,子树
- Java学习之运算符、表达式
- 项目 1 - 验证算法之(3)冒泡排序
- 51nod 1087 1 10 100 1000【递推】
- medalRecorder录制音频。
- 【Unity】扒一扒Profiler中这几个“占坑鬼”
- HDU 1253 胜利大逃亡(BFS)
- AS项目转到eclipse中方法(好用的方法)
- structs2 项目开发总结
- intellij idea 部署项目