Java语法细节(2)
1、逻辑运算符 &和&&,|和||的区别
&&:和&的结果是一样的,但运算过程有区别
&&:只要左边结果为假,就不再执行右边的,结果为假
& :无论左边的运算结果是什么,右边的都参与运算
||:和|的结果是一样的,但运算过程有区别
||:只要左边结果为真,就不再执行右边的,结果为真
| :无论左边的运算结果为什么,右边的都参与运算
2、逻辑运算符^(异或)的用法
^ : 符号两边的结果如果相同,则结果为假。符号两边的结果如果不同,则结果为真。
异或运算特点:一个数据对同一个数异或两次,结果仍是原本的数。
需求:实现两个整数的互换,不能引入第三个变量。
int a = 10, b = 2;
a = a^b; //a = 10^2
b = a^b; //b = (10^2)^2=10
a = a^b; //a = (10^2)^10=2
3、<<、>>和>>>运算符的使用
用<<和>>运算符可以实现对2的倍数运算的优化。向左移几位就代表着乘以2的几次方,向右移几位代表着对2的几次方取余。
需求:用最有效率的方式算出2乘以8等于几?
2<<3;
(1)在使用<<运算符时,数据向高位移动,低位补0,高位被移出数据有效位的舍弃。此处注意符号位一起移动
(2)在使用>>运算符时,数据向低位移动,高位用符号位补位。
(3)在使用>>>(无符号右移)运算符时,数据向低位移动,高位用0补位。
注意:负数的二进制是对应正数的二进制取反加1。
Java语法细节(2)的更多相关文章
- Java语法细节 - 可见性
目录 JAVA访问和修饰符的关系一览表 JAVA访问和修饰符的关系一览表 Modifier Class Package Subclass World public Y Y Y Y protected ...
- JAVA语法细节(1)
1.变量的作用域 变量的作用域从变量定义的位置开始,到变量所在的那对大括号结束.变量定义内存开辟一块空间用于该变量,变量到达作用域时,该变量从内存中消失. 2.变量的数据类型 变量基本数据类型:byt ...
- Java语法细节 - synchronized和volatile
目录 synchronized关键字 关键字volatile synchronized关键字 synchronized关键字锁住方法和this的不同之处: public synchronized vo ...
- Java语法细节 - 内存和枚举
目录 Java申请DirectBuffer ByteBuffer的position,limit,capacity,flip操作之间的关系 枚举实现单例模式 Java申请DirectBuffer /*- ...
- Java语法细节 - try_finally和set相关
目录 try-catch-finally的关系 TreeSet和HashSet的实现原理和区别 BigDecimal中的一些坑 当BigDecimal在HashSet/HashMap和TreeSet/ ...
- Java语法知识总结
一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: ...
- java优化细节记录
此处是为了记录一些优化细节,从网上收集而来,仅供后续代码开发参考使用,如发现更好的,会不断完善 首先确认代码优化的目标是: 减小代码的体积 提高代码运行的效率 代码优化细节 1.尽量指定类.方法的fi ...
- 【Java】这 35 个 Java 代码优化细节!
前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没 ...
- Java语法
java语法: 一个java程序可以说是一系列对象的集合,而这些对象都要通过调用彼此的方法来协同工作. 对象: 对象是一个实例,例如:一只猫,它是一个对象,有状态和行为.它的状态状态有:颜色,名字,品 ...
随机推荐
- OAF_VO系列4 - Row Imp的分析(概念)
20150706 Created By BaoXinjian
- python(21)实现多进程
参考链接:http://www.cnblogs.com/kaituorensheng/p/4445418.html python多进程:multiprocessing python中的多线程其实并不是 ...
- python(6)时间戳和北京时间互转,输出当前的时间和推到七天前的日期
项目发展的需要:(包含时间函数)time datetime 时间戳和北京时间互转 import time import datetime s = '2015-04-17 11:25:30' d = d ...
- [物理学与PDEs]书中出现的符号及其意义汇总
1. 标量 $\ve_0$: $=8.85419\times 10^{-2}C^2/(N\cdot m^2)$ 真空中的介电常数 $\ve$: 介电常数 $\ve_r$: $=1+\chi_e$ 相对 ...
- Spring MVC 中文乱码的解决
对于POST方法提交的中文乱码 , 可在web.xml中添加如下代码 : <filter> <filter-name>encodingFilter</filter-nam ...
- sql server异地备份数据库
--注意:异地备份数据库,需要先开启备份文件夹的网络共享,数据库选择master --打开允许执行xp_cmdshell exec master..xp_cmdshell 'net use \\192 ...
- 解决脱离rails使用activerecord报错 NameError: uninitialized constant ActiveRecord::Migrator::Zlib
上下文说明 原本系统是15.10,无奈只支持1年,所以今天升级16.04,环境答好后运行rake migratte报错 task :default => :migrate desc 'Run m ...
- EF中使用SQL语句或存储过程
EF中使用SQL语句或存储过程 1.无参数查询var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoe ...
- tony_linux下网站压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装:wget http:// ...
- [ActionScript 3.0] AS3.0 水面波纹效果
import flash.geom.Point; import flash.display.BitmapData; import flash.filters.DisplacementMapFilter ...