⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java4.htm

📁 Java入门教程《Java入门》.rar
💻 HTM
字号:
<html>

<head>
<title>Java入门</title>
<title>石头教学网</title>
<style>
<!--
        A:link {text-decoration: none; color: "blue"}
        A:visited {text-decoration: none; color: "#000000"}
        A:active {text-decoration: none;color:"black"}
        A:hover {text-decoration: underline; color: ff0000}
-->
</style>
<style type="text/css">

<!--
p{font-size:9pt;line-height;13pt;}
td {   font-size: 9pt ; line-height:13pt;

	    }


	A{text-transform: none;

	  text-decoration: none;font-size: 9pt ; line-height:13pt;}
 -->copyright fangame
</style></head>

<body bgcolor="#FFFFFF">

<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%">

<h3>第三章 运算符和表达式</h3>

<p><br>
运算符指明对操作数所进行的运算。按操作数的数目来分+ -),二元运算符(如+、>)和三元运算符(如?:),它们分别对应于一  
于一元运算符来说,可以有前缀表达式(如++i)和后缀表达式(如  
采用中缀表达式(如a+b)。按照运算符功能来分,基本的运算符?  
下面几类:  
 
<ol> 
  <li>算术运算符(+,-,*,/,%,++,--)</li> 
  <li>关系运算符(>,<,>=,<=,==,!=)</li> 
  <li>布尔逻辑运算符(!,&amp;&amp;,||)</li> 
  <li>位运算符(>>,<<,>>>,&amp;,|,^,~)</li> 
  <li>赋值运算符(=,及其扩展赋值运算符如+=)</li> 
  <li>条件运算符(?:)</li> 
  <li>其它(包括分量运算符&middot;,下标运算符[],实例运算符instance of,内存分配运算符new,强制类  
    型转换运算符(类型),方法调用运算符()等) </li> 
</ol> 
 
<p>本章中我们主要讲述前6类运算符。</p> 
 
<h4>§3.1算术运算符</h4> 
 
<p>算术运算符作用于整型或浮点型数据,完成算术运算。</p> 
 
<p>一、二元算术运算符,如下表所示</p> 
 
<table border="1" width="100%"> 
  <tr> 
    <td width="33%"><p align="center">运算符</td> 
    <td width="33%"><p align="center">用法</td> 
    <td width="34%"><p align="center">描述</td> 
  </tr> 
  <tr> 
    <td width="33%">+</td> 
    <td width="33%">op1+op2</td> 
    <td width="34%">加</td> 
  </tr> 
  <tr> 
    <td width="33%">-</td> 
    <td width="33%">op1-op2</td> 
    <td width="34%">减</td> 
  </tr> 
  <tr> 
    <td width="33%">*</td> 
    <td width="33%">op1*op2</td> 
    <td width="34%">乘</td> 
  </tr> 
  <tr> 
    <td width="33%">/</td> 
    <td width="33%">op1/op2</td> 
    <td width="34%">除</td> 
  </tr> 
  <tr> 
    <td width="33%">%</td> 
    <td width="33%">op1%op2</td> 
    <td width="34%">取模(求余)</td> 
  </tr> 
</table> 
 
<p>Java对加运算符进行了扩展,使它能够进行字符串的连接,如&quot;  
abc&quot;+&quot;de&quot;,得到串&quot;abcde&quot;。我 们将在第七章中讲解。</p> 
 
<p>与C、C++不同,对取模运算符%来说,其操作数可以为浮点数, 如37.2%10=7.2。</p> 
 
<p>二、一元算术运算符,如下表所示:</p> 
 
<table border="1" width="100%"> 
  <tr> 
    <td width="38%"><p align="center">运算符</td> 
    <td width="38%"><p align="center">用法</td> 
    <td width="38%"><p align="center">描述</td> 
  </tr> 
  <tr> 
    <td width="38%">+</td> 
    <td width="38%">+op</td> 
    <td width="38%">正值</td> 
  </tr> 
  <tr> 
    <td width="38%">-</td> 
    <td width="38%">-op</td> 
    <td width="38%">负值</td> 
  </tr> 
  <tr> 
    <td width="38%">++</td> 
    <td width="38%">++op,op++</td> 
    <td width="38%">加1</td> 
  </tr> 
  <tr> 
    <td width="38%">--</td> 
    <td width="38%">--op,op--</td> 
    <td width="38%">减1</td> 
  </tr> 
</table> 
 
<p>i++与++i的区别</p> 
 
<p>i++在使用i之后,使i的值加1,因此执行完i++后,整个表达式的 ?为i,而i的值变为i+1。</p>

<p>++i在使用i之前,使i的值加1,因此执行完++i后,整个表达式和i  
的值均为i+1。</p> 
 
<p>对i--与--i同样。</p>

<p>例3.1.下面的例子说明了算术运算符的使用</p>

<p>public class ArithmaticOp{</p>

<p>public static void main(String args[]){</p>

<blockquote>
  <p>int a=5+4;//a=9</p>
</blockquote>

<blockquote>
  <p>int b=a*2;//b=18</p>
</blockquote>

<blockquote>
  <p>int c=b/4;//c=4</p>
</blockquote>

<blockquote>
  <p>int d=b-c;//d=14</p>
</blockquote>

<blockquote>
  <p>int e=-d;//e=-14</p>
</blockquote>

<blockquote>
  <p>int f=e%4;//f=-2</p>
</blockquote>

<blockquote>
  <p>double g=18.4;</p>
</blockquote>

<blockquote>
  <p>double h=g%4;//h=2.4</p>
</blockquote>

<blockquote>
  <p>int i=3;</p>
</blockquote>

<blockquote>
  <p>int j=i++;//i=4,j=3</p>
</blockquote>

<blockquote>
  <p>int k=++i;//i=5,k=5</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;a=&quot;+a);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;b=&quot;+b);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;c=&quot;+c);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;d=&quot;+d);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;e=&quot;+e);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;f=&quot;+f);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;g=&quot;+g);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;h=&quot;+h);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;i=&quot;+i);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;j=&quot;+j);</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;k=&quot;+k);</p>
</blockquote>

<blockquote>
  <p>}</p>
</blockquote>

<p>}</p>

<p>其结果为:</p>

<p>C:\>java ArithmaticOp</p> 
 
<p>a=9</p> 
 
<p>b=18</p> 
 
<p>c=4</p> 
 
<p>d=14</p> 
 
<p>e=-14</p> 
 
<p>f=-2</p> 
 
<p>g=18.4</p> 
 
<p>h=2.4</p> 
 
<p>i=5</p> 
 
<p>j=3</p> 
 
<p>k=5</p> 
 
<h4>§3.2关系运算符</h4> 
 
<p>关系运算符用来比较两个值,返回布尔类型的值true或false?  
关系运算符都是二元运算 符,如下表所示:</p> 
 
<table border="1" width="100%" height="236"> 
  <tr> 
    <td width="33%" height="20"><p align="center">运算符</td> 
    <td width="33%" height="20"><p align="center">用法</td> 
    <td width="34%" height="20"><p align="center">返回true的情况</td> 
  </tr> 
  <tr> 
    <td width="33%" height="20">></td> 
    <td width="33%" height="20">op1>op2</td> 
    <td width="34%" height="20">op1大于op2</td> 
  </tr> 
  <tr> 
    <td width="33%" height="20">>+</td> 
    <td width="33%" height="20">op1>=op2</td> 
    <td width="34%" height="20">op1大于或等于op2</td> 
  </tr> 
  <tr> 
    <td width="33%" height="20"><</td> 
    <td width="33%" height="20">op1<op2</td> 
    <td width="34%" height="20">op1小于op2</td> 
  </tr> 
  <tr> 
    <td width="33%" height="22"><=</td> 
    <td width="33%" height="22">op1<=op2</td> 
    <td width="34%" height="22">op1小于或等于op2</td> 
  </tr> 
  <tr> 
    <td width="33%" height="20">==</td> 
    <td width="33%" height="20">op1==op2</td> 
    <td width="34%" height="20">op1与op2相等</td> 
  </tr> 
  <tr> 
    <td width="33%" height="20">!=</td> 
    <td width="33%" height="20">op1!=op2</td> 
    <td width="34%" height="20">op1与op2不等</td> 
  </tr> 
</table> 
 
<p>Java中,任何数据类型的数据(包括基本类型和组合类型)都可 以通过==或!=来比较是否  
相等(这与C、C++不同)。</p> 
 
<p>关系运算的结果返回true或false,而不是C、C++中的1或0。</p> 
 
<p>关系运算符常与布尔逻辑运算符一起使用,作为流控制语?  
的判断条件。如</p> 
 
<p>if(a>b&amp;&amp;b==c)</p> 
 
<h4>§3.3布尔逻辑运算符</h4> 
 
<p>布尔逻辑运算符进行布尔逻辑运算,如下表所示:</p> 
 
<table border="1" width="100%"> 
  <tr> 
    <td width="20%">op1</td> 
    <td width="20%">op2</td> 
    <td width="20%">op1&amp;&amp;op2</td> 
    <td width="20%">op1||op2</td> 
    <td width="20%">!op1</td> 
  </tr> 
  <tr> 
    <td width="20%">false</td> 
    <td width="20%">false</td> 
    <td width="20%">false</td> 
    <td width="20%">false</td> 
    <td width="20%">true</td> 
  </tr> 
  <tr> 
    <td width="20%">false</td> 
    <td width="20%">true</td> 
    <td width="20%">false</td> 
    <td width="20%">true</td> 
    <td width="20%">true</td> 
  </tr> 
  <tr> 
    <td width="20%">true</td> 
    <td width="20%">false</td> 
    <td width="20%">false</td> 
    <td width="20%">true</td> 
    <td width="20%">false</td> 
  </tr> 
  <tr> 
    <td width="20%">true</td> 
    <td width="20%">true</td> 
    <td width="20%">true</td> 
    <td width="20%">true</td> 
    <td width="20%">false</td> 
  </tr> 
</table> 
 
<p>&middot;&amp;&amp;、‖ 为二元运算符,实现逻辑与、逻辑或。</p>

<p>&middot;!为一元运算符,实现逻辑非。</p>

<p>&middot;对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表  
达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式  
的值为false,则不必对右边的表达式求值,整个表达式的结果为false。</p> 
 
<p>下面的例子说明了关系运算符和布尔逻辑运算符的使用。</p> 
 
<p>public class RelationAndConditionOp{</p>

<p>public static void main(Stringargs[]){</p>

<blockquote>
  <p>int a=25,b=3;</p>
</blockquote>

<blockquote>
  <p>boolean d=a<b;//d=false</p> 
</blockquote> 
 
<blockquote> 
  <p>System.out.println(&quot;a<b=&quot;+d);</p>
</blockquote>

<blockquote>
  <p>int e=3;</p>
</blockquote>

<blockquote>
  <p>if(e!=0&amp;&amp;a/e>5)</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;a/e=&quot;+a/e);</p>
</blockquote>

<blockquote>
  <p>int f=0;</p>
</blockquote>

<blockquote>
  <p>if(f!=0&amp;&amp;a/f>5)</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;a/f=&quot;+a/f);</p>
</blockquote>

<blockquote>
  <p>else</p>
</blockquote>

<blockquote>
  <p>System.out.println(&quot;f=&quot;+f);</p>
</blockquote>

<blockquote>
  <p>}</p>
</blockquote>

<p>}</p>

<p>其运行结果为:</p>

<p>C:\>java RelationAndConditionOp</p> 
 
<p>a<b=false</p> 
 
<p>a/e=8</p> 
 
<p>f=0</p> 
 
<p>注意:上例中,第二个if语句在运行时不会发生除0溢出的错 ,因为e!=0为false,所以就不需  
要对a/e进行运算。</p> 
 
<h4>§3.4位运算符</h4> 
 
<p>位运算符用来对二进制位进行操作,Java中提供了如下表所  
的位运算符: 位运算符中,除 ~ 以外,其余均为二元运算符。  
操作数只能为整型和字符型数据。</p> 
 
<h4>3.4.1补码</h4> 
 
<p>Java使用补码来表示二进制数,在补码表示中,最高位为符号 ?,正数的符号位为0,负数  
为1。补码的规定如下:</p> 
 
<p>对正数来说,最高位为0,其余各位代表数值本身(以二进制? 示),如+42的补码为  
00101010。</p> 
 
<p>对负数而言,把该数绝对值的补码按位取反,然后对整个数 1,即得该数的补码。如  
-42的补码为11010110(00101010按位取反11010101+111010110)</p> 
 
<p>用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,  
反码表示中,+0和-0的表示 是不唯一的,可参见相应的书籍)。而且可以用111111表示-1的补  
(这也是补码与原码和反 码的区别)。</p> 
 
<h4>3.4.2按位取反运算符 ~</h4>

<p>~ 是一元运算法,对数据的每个二进制位取反,即把1变为0 ,把0变为1。  
例如:</p> 
 
<p>0010101</p> 
 
<p>~</p> 
 
<p>1101010</p> 
 
<p>注意,~运算符与-运算符不同,~21≠-21。</p> 
 
<h4>3.4.3按位与运算符&amp;</h4> 
 
<p>参与运算的两个值,如果两个相应位都为1,则该位的结果为1例如:</p> 
 
<p>0010101</p> 
 
<p>~ 1101010</p> 
 
<p>注意,~运算符与-运算符不同,~21≠-21。</p> 
 
<h4>3.4.3按位与运算符&amp;</h4> 
 
<p>参与运算的两个值,如果两个相应位都为1,则该位的结果为1 ,否则为0。即:</p> 
 
<p>0&amp;0=0,0&amp;1=0,1&amp;0=0,1&amp;1=1</p> 
 
<p><a href="grade2.asp.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/grade2.asp.htm">目录</a>   
  
<ul>  
  <li><a HREF="java1.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java1.htm">Java入门(一)</a></li>  
  <li><a HREF="java2.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java2.htm" >Java入门(二)</a></li>  
  <li><a HREF="java3.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java3.htm">Java入门(三)</a></li>  
  <li><a HREF="java4.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java4.htm">Java入门(四)</a></li>  
  <li><a HREF="java5.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java5.htm">Java入门(五)</a></li>  
  <li><a HREF="java6.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java6.htm">Java入门(六)</a></li>  
  <li><a HREF="java7.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java7.htm">Java入门(七)</a></li>  
  <li><a HREF="java8.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java8.htm">Java入门(八)</a></li>  
  <li><a HREF="java9.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java9.htm">Java入门(九)</a></li>  
</ul>  
    </td> 
  </tr> 
</table> 
</body> 
</html> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -