﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-tt0356</title><link>http://www.blogjava.net/tt0356/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 06 May 2026 23:12:46 GMT</lastBuildDate><pubDate>Wed, 06 May 2026 23:12:46 GMT</pubDate><ttl>60</ttl><item><title>java运算符1</title><link>http://www.blogjava.net/tt0356/archive/2014/08/31/417539.html</link><dc:creator>小华灬打酱油</dc:creator><author>小华灬打酱油</author><pubDate>Sun, 31 Aug 2014 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/tt0356/archive/2014/08/31/417539.html</guid><wfw:comment>http://www.blogjava.net/tt0356/comments/417539.html</wfw:comment><comments>http://www.blogjava.net/tt0356/archive/2014/08/31/417539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tt0356/comments/commentRss/417539.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tt0356/services/trackbacks/417539.html</trackback:ping><description><![CDATA[<div style="margin-bottom: 15px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 12px; line-height: 18px;"><h3><a href="http://wangwei3.iteye.com/blog/1399340" style="color: #006699;">JAVA 位运算符和位移运算符</a><em></em></h3><ul style="margin: 0px; padding: 0px; list-style-type: none;"><strong>博客分类：</strong>&nbsp;<li style="margin: 0px 5px 0px 0px; padding: 0px; list-style-type: none; display: inline;"><a href="http://wangwei3.iteye.com/category/117621" style="color: #006699;">Java综合</a></li></ul><div style="clear: both; margin: 10px 0px 5px; line-height: 20px;"></div></div><div id="blog_content" style="line-height: 1.8em; font-family: Helvetica, Tahoma, Arial, sans-serif;">java位运算符包括&nbsp;<br />&amp;（与）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND&nbsp;<br />|（或）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OR&nbsp;<br />^（异或）&nbsp;&nbsp;&nbsp;&nbsp; XOR&nbsp;<br />~（非）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOT&nbsp;<br /><br />位移运算符包括&nbsp;<br />&gt;&gt;（右移）&nbsp;<br />&lt;&lt;（左移）&nbsp;<br />&gt;&gt;&gt;（右移，左边空出的位以0填充）&nbsp;<br />顾名思义，位运算符用于位运算，那就只能对整型或者字符型进行运算。而除了~（非）是一元运算符之外其他的都为二元运算符。&nbsp;<br /><br />所有位运算都会把值转为二进制进行运算&nbsp;<br /><br /><strong>&amp;（与）</strong>&nbsp;<br />&nbsp; 运算规则：0&amp;0=0&nbsp;&nbsp; 0&amp;1=0&nbsp; 1&amp;0=0&nbsp;&nbsp; 1&amp;1=1&nbsp;<br />&nbsp; 即：两位同时为1时，结果为1，否则为0&nbsp;<br /><br />&nbsp;&nbsp;<div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码&nbsp;&nbsp;<a title="收藏这段代码" style="color: #006699; text-decoration: underline;"><img src="http://wangwei3.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">int</span>&nbsp;a=(<span style="color: #c00000;">3</span>&amp;<span style="color: #c00000;">5</span>);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(a);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">3</span>));&nbsp;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">5</span>));&nbsp;&nbsp;&nbsp;</li></ol></div><br /><br />&nbsp;&nbsp; 结果打印为&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 011&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 101&nbsp;<br />&nbsp;&nbsp;&nbsp; 解析：3的二进制为011，5的二进制为101，与操作结果为001。转为十进制是1。&nbsp;<br /><br /><br /><strong>|（或）</strong>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运算规则： 0|0=0&nbsp;&nbsp; 0|1=1&nbsp; 1|0=1&nbsp;&nbsp; 1|1=1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 即：参加运算的两个对象只要有一个为1，其结果就为1&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;<div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码&nbsp;&nbsp;<a title="收藏这段代码" style="color: #006699; text-decoration: underline;"><img src="http://wangwei3.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">int</span>&nbsp;a=(<span style="color: #c00000;">3</span>|<span style="color: #c00000;">5</span>);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(a);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">3</span>));&nbsp;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">5</span>));&nbsp;&nbsp;&nbsp;</li></ol></div><br /><br />&nbsp;&nbsp; 结果打印为&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;<br />&nbsp;&nbsp;&nbsp; 011&nbsp;<br />&nbsp;&nbsp;&nbsp; 101&nbsp;<br /><br />&nbsp;&nbsp;&nbsp; 解析：3的二进制位011，5的二进制位101。或操作结果为111。转为10进制为7&nbsp;<br /><br /><br /><strong>^（异或）</strong>&nbsp;<br />&nbsp;&nbsp;&nbsp; 运算规则：1^0=0&nbsp;&nbsp; 0^1=1&nbsp;&nbsp; 1^0=1&nbsp;&nbsp; 1^1=0&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 即：参加运算的两个对象，如果两个个相应位为&#8220;异&#8221;（值不同），则该位结果为1，否则为0&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;<div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码&nbsp;&nbsp;<a title="收藏这段代码" style="color: #006699; text-decoration: underline;"><img src="http://wangwei3.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">int</span>&nbsp;a=(<span style="color: #c00000;">3</span>^<span style="color: #c00000;">5</span>);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(a);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">3</span>));&nbsp;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">5</span>));&nbsp;&nbsp;&nbsp;</li></ol></div><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; 结果打印为&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 011&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 101&nbsp;<br /><br />&nbsp;&nbsp;&nbsp; 解析：3的二进制位011，5的二进制位101。或操作结果为110。转为10进制为6&nbsp;<br /><br /><br />~（非）&nbsp;<br />&nbsp;&nbsp;&nbsp; 运算规则：~1=0&nbsp;&nbsp; ~0=1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 即：对一个二进制数按位取反，即0变为1，1变为0&nbsp;<br /><br />&nbsp;&nbsp;&nbsp; ~运算符的优先级比算数运算符、关系运算符、逻辑运算符和其他运算符都高&nbsp;<br /><br /><strong>&lt;&lt;(左移)</strong>&nbsp;<br />&nbsp;&nbsp;&nbsp; 将一个运算符对象的各二进制位全部左移诺干位（左边的二进制位丢弃，右边补0）&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 操作数每左移一位，相当于该数乘以2&nbsp;<br />&nbsp;&nbsp;&nbsp;<div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码&nbsp;&nbsp;<a title="收藏这段代码" style="color: #006699; text-decoration: underline;"><img src="http://wangwei3.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">int</span>&nbsp;a=(<span style="color: #c00000;">3</span>&lt;&lt;<span style="color: #c00000;">2</span>);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(a);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">3</span>));&nbsp;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">12</span>));&nbsp;&nbsp;&nbsp;</li></ol></div><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; 结果打印为&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1100&nbsp;<br /><br />&nbsp;&nbsp;&nbsp; 解析：此运算符的意思就是把3的二进制位全部左移两位，右边补2个0。3的二进制位11，左移两位后，右边补2个0就是1100。1100转为10进制为12。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp; 说到底左移操作就相当于2的2次方&#215;3。 每左移1位次方就增1&nbsp;<br /><br /><br /><strong>&gt;&gt;(右移)</strong>&nbsp;<br />将一个数的各二进制位全部右移诺干位，正数左补0，负数左补1，右边丢弃。&nbsp;<br />操作数每右移一位，相当于该数除以2&nbsp;<br /><br /><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java代码&nbsp;&nbsp;<a title="收藏这段代码" style="color: #006699; text-decoration: underline;"><img src="http://wangwei3.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">int</span>&nbsp;a=(<span style="color: #c00000;">9</span>&gt;&gt;<span style="color: #c00000;">1</span>);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(a);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">9</span>));&nbsp;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">System.out.println(Integer.toBinaryString(<span style="color: #c00000;">4</span>));&nbsp;&nbsp;&nbsp;</li></ol></div><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; 结果打印为&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1001&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; 解析：9的二进制为1001，右移1位后，左正数补0，右边丢弃。结果为 0100。转为10进制后为4。</div><img src ="http://www.blogjava.net/tt0356/aggbug/417539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tt0356/" target="_blank">小华灬打酱油</a> 2014-08-31 23:16 <a href="http://www.blogjava.net/tt0356/archive/2014/08/31/417539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>