java 按位_Java中的按位运算

一、位运算符简介:

1.按位与&。如果两个整形数据 a、b 对应位都是1,则结果位才为1,否则为0,(int 最大值0x7fffffff ):

1 int a = 0x7fffffff;2 int b = 12;3 int c = 0;4 int aAndB = a&b; //aAndB is 12

5 int aAndC = a&c; //aAndC is 0

2.按位或|。如果两个操作数都是0,则结果为0,否则为1:

1 int a = 0x7fffffff;2 int b = 12;3 int c = 0;4 int aOrB = a|b; //aOrB is 2147483647

5 int aOrC = a|c; //aOrC is 2147483647

3.按位取反~。当操作数的二进制表示相同时,1位为0,0位为1:

1 int a = 0x7fffffff;2 int b = 12;3 int c = 0;4 a = ~a; //result is -2147483648

5 b = ~b; //result is -13;

6 c = ~c; //result is -1;

4.按位异或^。当两个操作位二进制表示相同时结果为0,否则为1:

1 int a = 0x7fffffff;2 int b = 12;3 int c = 0;4 c ^= a; //c is 2147483647

5 b ^= 8; //b is 4

6 a ^= a; //a is 0

5.左移<

1 int a = 0x7fffffff;2 int c = 3;3 c <<= 1; //c is 6

4 a <<= 1; //a is -2

6.右移>>。跟左移不同,如果最高位为0,则右移补0。如果最高位为1,则右移补1:

1 int a = 0x7fffffff;2 int a = 0x7fffffff;3 int b = 0;4 int c = 3;5 int d = -2;6 int e = -1;7 c >>= 1; //c is 1

8 a >>= 1; //a is 1073741823

9 b >>= 1; //b is 0

10 d >>= 1; //d is -1

11 e >>=1; //d is -1

7.无符号右移>>>。无论最高位是0还是1,左侧被移空的高位都填入0。

二、利用按位运算符,在很多情况下,可以进行方便的计算。

将大写字母变为小写,将小写字母变为大写( charArray[i]^= 32, 因为在ASCII码中,大写字母与小写字母差了32,因此使用异或运算符,通过与 0 相异或,原字符的二进制形式在其他位保留原有的值,在第 6 位相异或,如果原有位为 0 则变为 1, 原有位为 1 则变为 0):

1 String tempString ="1a2b3E5F6P7p";2 char [] charArray =tempString.toCharArray();3 for(int i = 0; i < charArray.length; i++)4   if(Character.isLetter(charArray[i])) charArray[i] ^= 32;5 System.out.println(String.valueOf(charArray)); //result is 1A2B3e5f6p7P

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmeter安装包_分布式执行jmeter脚本步骤(非GUI)

备注&#xff1a;【Linux查看服务器是32位还是64位命令】uname -mgetconf LONG_BIT1.Linux环境安装jmeter可参考https://www.cnblogs.com/surewing/p/9271886.html如需要用到3台客户机&#xff0c;分别在三台机器中安装&#xff0c;以下安装之前需安装jdk环境1&#xff09;将jm…

java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...

[TOC]简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行程序源码import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache…

python删除列表一段元素_Python基础--list列表删除元素

列表中删除元素主要分为以下 3 种场景&#xff1a; 根据目标元素所在位置的索引进行删除&#xff0c;可以使用 del 关键字或者 pop() 方法&#xff1b; 根据元素本身的值进行删除&#xff0c;可使用列表&#xff08;list类型&#xff09;提供的 remove() 方法&#xff1b; 将列…

microbit编程_使用图形化编程实现主控板与手机蓝牙通讯(2019.3.25)

本文转自&#xff1a;DFRobot创客社区原文链接&#xff1a;[Mind]使用图形化编程实现主控板与手机蓝牙通讯-Mind论坛-DF创客社区​mc.dfrobot.com.cn本帖最后由 Forgotten 于 2019-3-25 12:58 编辑做项目时我们经常会遇到蓝牙的问题&#xff0c;例如使用appinventor制作一个app…

山海伏妖录java_山海伏妖录攻略大全 剧情结局加点妖兽大全

山海伏妖录是一款非常经典的ARPG游戏&#xff0c;其中有许多的剧情&#xff0c;结局&#xff0c;妖兽以及加点方案。Remilia为大家带来山海伏妖录攻略大全&#xff0c;各种攻略都能在这里查到&#xff0c;助您畅玩山海伏妖录&#xff01;山海伏妖录人物介绍配角介绍山海伏妖录结…

spark环境搭建java_Spark MLlib 环境搭建超详细教程

1、系统及环境版本系统&#xff1a;Win7 旗舰版 64位 sp1JDK&#xff1a;1.8.0Spark&#xff1a;2.3.2Hadoop&#xff1a;2.7Scala&#xff1a;2.11.8文章最后&#xff0c;有所有版本的下载链接&#xff0c;不用再去折腾版本之间的问题。2、环境下载2.1 Spark 下载spark2.2 had…

python自动发邮件附件_python自动发送带附件的邮件(163邮箱,亲测可用)

1.设置发送邮件邮箱的SMTP服务 https://www.360kuai.com/pc/927b9f8da3555bb70?cota4&kuai_so1&tj_urlxz&sign360_57c3bbd1&refer_sceneso_1 设置步骤时&#xff0c;记住设置的邮箱的独立密码&#xff0c;在以下脚本中能够用到2. python脚本 import smtplib f…

java 导出bcp文件格式_使用BCP导出导入数据

bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。 使用 bcp 实用工具可以将大量新行导入 SQL Server 表&#xff0c;或将表数据导出到数据文件。 除非与 queryout 选项一起使用&#xff0c;否则使用该实用工具不需要了解 Transact-SQL…

learnpythonthehardway下载_LearnPythonTheHardWay学习笔记1:学习环境搭建

觉得学习这本书应该有笔记&#xff0c;所以就从这里开始吧。 学习资料&#xff1a; 1.《笨办法学Python》&#xff08;承德-至阳整理 2013/7/19&#xff09; 2.《Learn Python The Hard Way,3rd Edition》 &#xff08;Zed A. Shaw 2010&#xff09; 一、准备学习环境 &#xf…

java ajax多文件上传插件_ajaxFileUpload.js插件支持多文件上传的方法

前提条件&#xff1a;ajaxFileUpload.js插件多文件上传步骤&#xff1a;1、修改源码&#xff0c;(源码只支持单个文件的上传)&#xff1a;//修改前代码-------//var oldElement jQuery(# fileElementId);//var newElement jQuery(oldElement).clone();//jQuery(oldElement).…

鱼骨图分析法实际案例_会用“鱼骨图”的项目经理无难题

项目经理在遇到一些瓶颈问题时&#xff0c;如何突破这些难题&#xff1f;答案就是鱼骨图&#xff01;项目经理,广州深圳PMP培训,PMP认证考试培训机构,圣略PMP培训考试1、鱼骨图分析法介绍鱼骨图的由来及含义鱼骨图是由日本管理大师石川馨先生所发明出来的&#xff0c;故又名石川…

mysql5.6.msi 百度云_如何安装Mysql数据库类型msi(5.6)

首先让大家看下我下载的数据库有多少哈&#xff0c;还不包括我删除的一些数据库。光是8.0.17.0的数据库我就下载了四五个&#xff0c;经常安装数据报错&#xff0c;我一直找不到是啥原因&#xff0c;所以我就把所有的全部给删掉了&#xff0c;然后一遍一遍的安装。现在想想还真…

pythonwhile循环怎么修改数据类型_python开发学习day05 (while循环; for循环; 数字类型操作)...

2020-06-05 目录&#xff1a; 一、流程控制之while循环 1.1 什么是while循环&#xff1f; 1.2 为什么要用while循环&#xff1f; 1.3 怎么用while循环&#xff1f; 1.3.1 基本用法 1.3.2 死循环 1.3.3 while循环的结束 1.3.4 while循环的嵌套 1.3.5 whilecontinue 1.3.6 whilee…

mysql如何下载msi_2、Windows下MySQL数据库下载与安装详细教程 MSI方式

做者&#xff1a;叁念mysql写在前言&#xff1a;本文篇幅比较长&#xff0c;可是整体分为三大部分&#xff1a;下载部分、安装部分、环境配置与测试部分 &#xff1b;读者能够自行选择阅读web1、下载部分MySQL数据库下载与安装详细教程sql1.如何下载MySQL?(本文章以5.6版本实际…

python词云乱码_python词云库wordCloud使用方法详解(解决中文乱码)

文章中的例子主要借鉴wordColud的examples&#xff0c;在文章对examples中的例子做了一些改动。 一、wordColud设计中文词云乱码 使用wordColud设计词云的时候可能会产生乱码问题&#xff0c;因为wordColud默认的字体不支持中文&#xff0c;所以我们只需要替换wordColud的默认字…

easyui java管理系统_EasyUI 后台管理系统

ASP&period;NET MVC5&plus;EF6&plus;EasyUI 后台管理系统(1)-前言与目录(持续更新中&period;&period;&period;)开发工具:VS2015(2012以上)SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 任务调度…

linux同时安装python2和python3_linux-Centos7安装python3并与python2共存

1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。 使用 python -V 命令查看一下是否安装Python 然后使用命令 which python 查看一下Python可执行文件的位置可见执行文件在/usr/bin/ 目录下&#xff0c;切换到该…

opencv获取模板旋转角度_OpenCV入门之获取图像的旋转角度

在我们的日常生活中&#xff0c;所碰到的图像往往都有一定的倾斜。那么&#xff0c;如何用OpenCV来获取图像的旋转角度呢&#xff1f;   我们以下面的图片为例&#xff0c;简单介绍如何用OpenCV来获取图像的旋转角度。可以看到&#xff0c;该图像存在着许多噪声&#xff0c;且…

后台使用orm多还是直接sql_Django应用app创建及ORM

Django应用app创建及ORM一.重要知识点回顾:1. form表单提交数据的注意事项&#xff1a;1. 是form不是from,必须要有method和action (action用来指定你的数据提交到后台哪个地方&#xff0c;method用来指定你提交数据的方式)2. 所有获取用户输入的表单标签要放在form表单里面&am…

java ruby脚本_Java 程序中直接执行 Ruby 脚本 (JRuby)

1.[代码]MainClass.javaimport java.io.BufferedReader;import java.io.FileReader;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;public class MainClass {public static void main(String[] args) throws Excep…