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.pswp.cn/news/534907.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534907.shtml
英文地址,請注明出處:http://en.pswp.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…