网站首页 > java教程 正文
要想学好java,java运算符是必须要掌握的,数学中的运算符有“+、-、*、/、<、>等等”,但是我们今天要重点说的是java中的运算符,虽然和数学中的类似,但还是有很大不同的。
java运算符可以大致分为:算数运算符、关系运算符、逻辑运算符、三元运算符、位运算符五类。下面小编为大家详细介绍。
算数运算符:+、-、*、/、%、++、--
加(+):计算两个数之和或者将较小的数据类型提升为int;
减(-):计算两个数的差或者转变数据的符号;
编译器会自动识别是两个数之间的计算还是其他。
比如:x = -a; x= a +b;
乘(*):计算两个数的积;
除(/):计算两个数之商。注意a/b,b不能为0,要不然编译不过;整数的除法如果除不尽会直接把小数部分抹掉而不是四舍五入。
取余(%):还叫取模,取的是两个数的余数。
自动递增/减(--、++):++a相当于a=a+1;注意这两个操作符分前缀(++a)和后缀(a++),前缀会先进行运算,再使用这个变量,后缀是先使用变量再进行计算;
关系运算符:<、>、<=、>=、==、!=
关系运算符的结果是boolean值,要么是正确的true,要么是错误的false
大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==),不等于(!=)。
在基本数据类型之间使用关系运算符很容易理解,就是比较两个数的大小关系,随着学习的深入会详细讲解关系运算符。
逻辑运算符:与(&&),或(||),非(!)
逻辑运算符的结果是boolean值,要么是正确的true,要么是错误的false
a&&b,a和b全为true时结果才是ture;
a||b,a或者b有一为true结果就是true;
这里a和b可能是两个boolean变量,也可能是两个结果为boolean的表达式。
注:说一下短路问题,这个在实际编程中也会遇到,短路是在进行逻辑运算时,如果通过前面的判断已经能够明确的知道整个表达式的值,就不会再进行后面表达式的逻辑判断。例如:表达式a || 表达式b || 表达式c 在知道表达式a是true时就已经能够知道整个表达式的值为true,所以表达式2和3 都不会再进行判断。
4、位运算符:&、|、^、~、<<、>>、>>>
位运算符就是用来操作整数基本数据类型的每一个位,也就是把整数按照二进制进行计算。
& 按位与操作符,当且仅当两个操作数都为1时结果才为1。
| 按位或操作符,只要两个操作数的某一位是1结果就为1。
^ 按位异或操作符,两个操作数不相同时则结果为1。
? 按位补运算符翻转操作数的每一位,0翻转为1,1翻转为0。
<< 按位左移运算符。左操作数按位左移右操作数指定的位数,低位补0。左移几位等于乘2的几次幂。
>> 按位右移运算符。左操作数按位右移右操作数指定的位数,高位补0或者1,取决于操作数正负,正则补0,负则补1。右移几位等于除2的几次幂。
>>> 按位右移补零操作符(无符号右移)。左操作数的值按右操作数指定的位数右移,移动得到的空位以0填充。
下面通过一个实例带大家了解一下什么是位运算符:
先定义两个整型变量a和b
int a = 50;
int b = 30;
System.out.println(Integer.toBinaryString(a));// 110010
System.out.println(Integer.toBinaryString(b));// 011110
System.out.println(Integer.toBinaryString(a & b));// 010010
System.out.println(Integer.toBinaryString(a | b));// 111110
System.out.println(Integer.toBinaryString(a ^ b));// 101100
System.out.println(Integer.toBinaryString(a << 2));// 11001000
System.out.println(Integer.toBinaryString(a >> 2));// 1100
5.三元运算符:
三元操作符也叫条件操作符。表达式如下:
boolean-expression ? value0 : value1;
如果boolean-expression 是true则就计算value0,并且作为整个表达式的值返回,如果为false则计算value1,并作为结果返回。
有关运算符就介绍到这里,下一篇我们来聊聊关于运算符的优先级问题,期待与大家共同学习!
猜你喜欢
- 2024-10-21 java培训教程分享:java基础运算符
- 2024-10-21 JAVA快速入门——算数运算符(java的算术运算)
- 2024-10-21 「景哥java」搞懂java的运算符(java运算符运算方法)
- 2024-10-21 “全栈2019”Java第十八章:一元运算符
- 2024-10-21 第三章:Java运算符、表达式练习(java运算符和表达式程序题)
- 2024-10-21 Java编程思想:使用 Java 运算符(java?:运算符)
- 2024-10-21 「Java」运算符优先级(java运算符优先级由高到低)
- 2024-10-21 都这年头了不会还有人不知道「java」运算符吧?
- 2024-10-21 学习笔记——java基本语法(运算符「算数运算符」)
- 2024-10-21 【java】运算符基础 【java】运算符基础 #运算符
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)