Java_运算符
一、算术运算符
加 减 乘 除 取余 自增 自减(+ - * / % ++ --)
前缀自增自减 ++a, --a 先进行自增或者自减运算,再进行表达式运算。
后缀自增自减 a++, a--先进行表达式运算,再进行自增或者自减运算。
public class AddSub {
public static void main(String [] args){
int i =5, j = 8;
int a = i++; // a=i=5 ; i= i+1. 结果为 a=5; i=6
int b = --j; // j =j-1; b=j=6. 结果为 b=7; j=7
System.out.println("a:" + a + " , b:" +b);
System.out.println("i:" + i + " , j:" +j);
/*结果:
a:5 , b:7
i:6 , j:7
*/
}
}
二、关系运算符
大于 小于 大于等于 小于等于 恒等于 非等于 (> < >= <= == !=)
三、位运算符
int i =5, j = 8; // 二进制 i = 0101 ; j = 1000
System.out.println(i & j); // 同位都为 1 则 1, 否为0 . 结果:0000 -> 0
System.out.println(i | j); // 同位都为 0 则 0, 否为1 . 结果:1101 -> 8+4+1=13
System.out.println(i ^ j); // 同位相同 则 0, 否为1 . 结果:1101 -> 8+4+1=13
System.out.println( ~ i); // 按位取反,0变为1, 1变0 . 结果:-1010 -> -8-(-2)=-6 (默认为+ 取反为-)
System.out.println(i >>2); // 按位右移 2 位 结果:0001 -> 1
System.out.println(i <<2); // 按位左移 2 位 结果:0001 0100 -> 16+4=20
实例
用最有效的方法算出2的3次方的结果
// 左移多少位就相当于乘以2的多少次方, 右移则是除以2的多少次方
System.out.println(1<<3); // 相当于 1*2^3 = 8
System.out.println(2<<3); // 相当于 2*2^3 = 16
System.out.println(5<<1); // 相当于 5*2^1 = 10
四、赋值运算符
基本是算术运算符、位运算符与等于号的组合。-= += *= /= ......
五、条件运算符
也称三目运算符(?:)
语法格式:variable x = (expression) ? value if true : value if false
六、instanceof 运算符
用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
语法格式:( Object reference variable ) instanceof (class/interface type)
七、逻辑运算符
短路与,短路或 && ||
a && b 当a和b同时都为真时,则结果为真。(只要a不满足条件,则不判断b)
a || b 当a或b有一为真时,则结果为真。(只要a满足条件,则不判断b)
扩充: a & b 或 a | b 会对所有条件都进行判断
Java_运算符的更多相关文章
- day03 Java_运算符_分支结构
列表: 运算符的练习:算术.关系.逻辑.赋值.字符串连接.条件 分支结构的练习:if结构 分支结构的练习:if...else结构 参考 运算符的练习:算术 输出几个整数取模,验证结果 声明两个整型变量 ...
- Java_按位与&,按位或,取反,左移,右移运算符
//按位与运算& System.out.println(0&0);//0 System.out.println(0&1);//0 System.out.println(1&am ...
- java_数据类型转换、运算符
数据类型转换 Java程序中要求参与计算的数据,必须要保证数据类型一致,如果数据类型不一致将发生类型的转换. 1.1 自动转换 一个 int 类型变量和一个 byte 类型变量进行加法运算,运算结果, ...
- shell运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...
- SQL Server-聚焦APPLY运算符(二十七)
前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...
- java中的移位运算符:<<,>>,>>>总结
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- .NET 基础 一步步 一幕幕[运算符、占位符、转义符]
运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...
- ECMASCript2015 提案 stage-3的对象展开运算符
看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...
随机推荐
- Python——模块——随机模块
1.引用模块 import random 2.随机整数 random.randint(a,b) 3.随机浮点数 random.uniform(a,b) 4.从列表中随机取元素 random.choic ...
- Python——爬虫——数据提取
一.XML数据提取 (1)定义:XML指可扩展标记语言.标记语言,标签需要我们自行定义 (2)设计宗旨:是传输数据,而非显示数据,具有自我描述性 (3)节点关系: 父:每个元素及属性都有一个父. ...
- Python学习之路——函数的参数分类
今日内容 '''实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合*****形参:定义函数,在括号内声明的变量名,用来接受外界传来的值''''''注:形参随着函数的调用 ...
- 使用System.out.printf()输出日志重定向到文件后显示混乱问题
写了一个小工具,使用System.out.printf()输出日志,以方便使用者查看,在终端显示没有问题,但重定向到文件就有问题了,会出现一些很奇怪的乱序现象. 上网查询资料,判断应该是跟重定向和Li ...
- Go语言的通道(2)-缓冲通道
有缓冲的通道相比于无缓冲通道,多了一个缓存的功能,如下图描述的一样: 从图上可以明显看到和无缓冲通道的区别,无缓冲必须两个Goroutine都进入通道才能进行数据的交换,这个不用,如果数据有,直接就能 ...
- wireshark分析dhcp过程
---恢复内容开始--- DHCP DHCP(Dynamic Host Configuration Protocol)是一个用于主机动态获取IP地址的配置解 析,使用UDP报文传送,端口号为67何68 ...
- 【bfs】最少转弯问题
题目描述 给出一张地图,这张地图被分为n×m(n,m<=100)个方块,任何一个方块不是平地就是高山.平地可以通过,高山则不能.现在你处在地图的(x1,y1)这块平地,问:你至少需要拐几个弯才能 ...
- Matlab常用函数集锦
ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素 ...
- 解决mysql表不能查询修改删除等操作并出现卡死
问题现象1:进程wait卡住 测试环境mysql出现了一个怪表:select查询表卡死,alter修改表卡死,甚至我不想要这个表了,delete.truncate.drop表都卡死卡主了...... ...
- css实现文本两端对齐
display:inline-block; text-align:center; text-align-last:justify;