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 ...
随机推荐
- js实现小功能 动态赋值
- 控制结构(8): 线性化(linearization)
// 上一篇:管道(pipeline) // 下一篇:程序计数器(PC) "编程语言不过是一个工具,什么语言都一样","编程语言能改变人的思维,不同的语言会带给你不同的思 ...
- 开发神器之PHPstorm配置及使用
之前文章对于PHPstorm有了简单的介绍,作为一名合格的PHPer,一定要定制一个适合自己的IDE,然后开始我们的路途吧... 1. 为不同的项目选定PHP版本 我们经常会遇到这样的场景,不同的项目 ...
- 【LOJ6074】【2017 山东一轮集训 Day6】子序列 DP
题目描述 有一个由前 \(m\) 个小写字母组成的串 \(S\),有 \(q\) 个询问,每次给你 \(l,r\),问你 \(S_{l\ldots r}\) 有多少个非空子序列. \(m=9,n=\l ...
- nginx的location配置root、alias用法和区别
root & alias区别root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上root的处理结果是:root路径 ...
- Linux基本命令总结(五)
接上篇: 21,在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是chang ...
- 一个故事讲清楚BIO NIO 异步
转载请引用:一个故事讲清楚NIO 假设某银行只有10个职员.该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟): 2) 职员审核(1分钟): 3) 职员叫保安去金库取钱(3分钟): 4) ...
- springboot+mybatis+cucumber
import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucu ...
- crm 数据展示 和分页思想(一)
1. 数据的展示 数据通过ORM查询出来 对象列表 QuerySet 1. 普通的字段 对象.字段名 ——> 数据库中的值 <td>{{ customer.phone }}</ ...
- 第二节:如何正确使用WebApi和使用过程中的一些坑
一. 基本调用规则 1. 前提 WebApi的默认路由规则为:routeTemplate: "api/{controller}/{id}", 下面为我们统一将它改为 routeTe ...