Java——运算符那些事
&& 逻辑与
&&先运算&&左边的算式,如果为假,则直接停止,后面不管有多少运算式都不再运算,如果为真则继续判断后面的式子,只有所有的条件全部成立,才会执行下面的程序
int a=5;
int b=10;
if(a>6&&b++>10) {
System.out.println("全部都为真");
}
System.out.println("a="+a+";b="+b);
运行结果:
a=5;b=10
这里的b=10,因为a>6不成立,所以后面的语句b++>10不再进行判断
& 按位与
(1)、&的运算规则为是先将两边的数转化为二进制,然后运算最终值,运算规则全都为真则结果为真,否则结果为假,1&1=1 , 1&0=0 , 0&1=0 , 0&0=0

3&5的结果为1
(2)、不短路与,作用和&&相同,但不会短路
int a=5;
int b=10;
//这里将&&替换成&
if(a>6&b++>10) {
System.out.println("全部都为真");
}
System.out.println("a="+a+";b="+b);
运行结果:
a=5;b=11
这里的b=11,因为a>6虽然不为真,但是后面的b++10任然会进行判断,所以b=11
|| 逻辑或
逻辑或运算规则是一个为真则为真,后续不需要再计算,一个为假再计算右边的表达式
int a=5;
int b=10;
if(a>4||b++>10) {
System.out.println("a="+a+";b="+b);
}
运行结果:
a=5;b=10
这里的b=10,因为a>4已经为真,而逻辑或只要有一个为真则为真,所以不需要再进行后面的语句判断,直接执行下一步
| 按位或
(1)、|按位或和&按位与计算方式都是转化为二进制再计算,不同的是运算规则(一个为真则为真),1|0=1, 1|1=1, 0|1=1, 0|0=0
6|2:6的二进制位0000 0110 , 2的二进制位0000 0010 , 110|010为110,最终值0000 0110,故6|2等于6
(2)、不短路或,作用和||相同,但是不会短路
int a=5;
int b=10;
//这里将||替换成|
if(a>4|b++>10) {
System.out.println("a="+a+";b="+b);
}
运行结果:
a=5;b=11
这里的b=11,因为虽然a>4为真,整个表达式已经为真,但是仍然会进行后面b++>10的判断,所以最终输出结果为b=11
^ 异或
异顾名思义就是不同,^运算规则是相同为0,不同为1,1^0 = 1 , 1^1 = 0 , 0^1 = 1 , 0^0 = 0
5^9:5的二进制位是0000 0101 , 9的二进制位是0000 1001,也就是0101 ^ 1001,结果为1100 , 00001100的十进制位是12
<< 左移运算符
5<<2:5<<2的意思是5的二进制左移2位,右边补0,5的二进制数是0000 0101,左移两位后是0001 0100,正数左边第一位补0,负数左边第一位补1
>> 右移运算符
5>>2:5>>2的意思是5的二进制右移2位,左边补0,5的二进制数是0000 0101,左移两位后是0000 0001,正数左边第一位补0,负数左边第一位补1
Java——运算符那些事的更多相关文章
- java运算符那些事
&& 逻辑与 &&先运算&&左边的算式,如果为假,则直接停止,后面不管有多少运算式都不再运算,如果为真则继续判断后面的式子,只有所有的条件全部成立,才会 ...
- Java的哪些事
Java的哪些事--------------------------------------------------Java学习分2个方面: Java语法与Java类库 Java: A simple, ...
- Java笔记2-数据类型,变量,Java运算符
我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...
- Java运算符优先级(转)
转自:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 ...
- 【转】Java运算符优先级
原文网址:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 ...
- java运算符优先级与流程控制
1. Java 的方法Method (函数 Function), 功能, 动作 1) 方法就是函数: y=f(x)=3x+6; 2) 方法的语法 (修饰词)(返回值类型)(方法名)(参数列表){ ...
- Java基本语法-----java运算符的优先级与结合性
这是本人以前的上学期间java 运算符这块知识的总结的,截图存到了word里,大家将就看下吧(不会用Markdown的表格 不然就在写一遍了 T T). [正在看本人博客的这位童鞋,我看你气度不凡,谈 ...
- Java 基本语法---Java运算符
Java 基本语法---Java运算符 0. 概述 Java中的运算符主要分为以下几种: 算术运算符 赋值运算符 关系运算符 逻辑运算符 条件运算符 位运算符 其他运算符 1. 算术运算符 操作符 描 ...
- [转]Java 运算符的优先级
Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...
随机推荐
- Python中关于字符串你应该知道这些...
# Python中字符串的常见用法### 定义:带有双引号/单引号/三引号### 双引号:适用于所写的字符串里没有双引号的.例如:"凡是“辛苦”必是礼物"报错### 单引号:适用 ...
- 解决xcode ***is missing from working copy
这是由于SVN置顶文件导致的,cd 至项目根目录 命令行 输入 find . -type d -name .svn | xargs rm -rf
- 编写高质量Python程序(三)基础语法
本系列文章为<编写高质量代码--改善Python程序的91个建议>的精华汇总. 关于导入模块 Python的3种引入外部模块的方式:import语句.from ... import ... ...
- 用Python介绍了企业资产情况的数据爬取、分析与展示。
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:张耀杰 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...
- 机器学习新手项目之N-gram分词
概述 对机器学习感兴趣的小伙伴,可以借助python,实现一个N-gram分词中的Unigram和Bigram分词器,来进行入门, github地址 此项目并将前向最大切词FMM和后向最大切词的结果作 ...
- linux通过进程名查看其占用端口
1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 参考: https://blog.csdn.net/sinat ...
- cwyth(自动核销代码)
财务一体化系统,自动核销大数据代码: import pymysql import random import time #指定数据库地址.用户.密码.端口,使用connect()方法声明一个Mysql ...
- 4. git log的常见用法
git log ======见https://blog.csdn.net/daguanjia11/article/details/73823617 +++++++++++++++++++++++ 使用 ...
- Spring5:事务管理【整合Mybatis】
Spring 整合Mybatis 1:导入依赖 <dependencies> <!--测试依赖--> <dependency> <groupId>jun ...
- 使用 PyHamcrest 执行健壮的单元测试
在 测试金字塔 的底部是单元测试.单元测试每次只测试一个代码单元,通常是一个函数或方法. 通常,设计单个单元测试是为了测试通过一个函数或特定分支的特定执行流程,这使得将失败的单元测试和导致失败的 bu ...