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

📄 0100.htm

📁 学习java必备书籍
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>第三章 运算符和表达式</strong></big></p>

    <p><br>    
      运算符指明对操作数所进行的运算。按操作数的数目来分一元(如+-),二元运算符(如+、>)和三元运算符(如?:),它们分别对应于一元运算符来说,可以有前缀表达式(如++i)和后缀表达式(如采用中缀表达式(如a+b)。按照运算符功能来分,基本的运算符分下面几类:<br>
    <br>
    算术运算符(+,-,*,/,%,++,--)<br>
    关系运算符(>,<,>=,<=,==,!=)<br>
    布尔逻辑运算符(!,&amp;&amp;,||)<br>
    位运算符(>>,<<,>>>,&amp;,|,^,~)<br>
    赋值运算符(=,及其扩展赋值运算符如+=)<br>
    条件运算符(?:)<br>
    其它(包括分量运算符·,下标运算符[],实例运算符instance of,内存分配运算符new,强制类型转换运算符(类型),方法调用运算符()等)<br>    
    <br>    
    本章中我们主要讲述前6类运算符。<br>    
    <br>    
    <font color="#008000">§3.1算术运算符</font><br>   
    <br>   
    算术运算符作用于整型或浮点型数据,完成算术运算。<br>   
    <br>   
    <font color="#008000">一、二元算术运算符</font>,如下表所示<br>   
    <br>   
    运算符 用法 描述<br>    
    + op1+op2 加<br>    
    - op1-op2 减<br>    
    * op1*op2 乘<br>    
    / op1/op2 除<br>    
    % op1%op2 取模(求余)<br>    
    <br>    
    Java对加运算符进行了扩展,使它能够进行字符串的连接,如"abc"+"de",得到串"abcde"。我们将在第七章中讲解。<br>    
    <br>    
    与C、C++不同,对取模运算符%来说,其操作数可以为浮点数,如37.2%10=7.2。<br>    
    <br>    
    <font color="#008000">二、一元算术运算符</font>,如下表所示:<br>   
    <br>   
    运算符 用法 描述<br>    
    + +op 正值<br>    
    - -op 负值<br>    
    ++ ++op,op++ 加1<br>    
    -- --op,op-- 减1<br>    
    <br>    
    i++与++i的区别:<br>    
    <br>    
    i++在使用i之后,使i的值加1,因此执行完i++后,整个表达式的?为i,而i的值变为i+1。<br>    
    <br>    
    ++i在使用i之前,使i的值加1,因此执行完++i后,整个表达式和i的值均为i+1。<br>    
    <br>    
    对i--与--i同样。<br>    
    <br>    
    例3.1.下面的例子说明了算术运算符的使用<br>    
    <br>    
    public class ArithmaticOp{<br>    
    public static void main(String args[]){<br>    
    int a=5+4;//a=9<br>    
    int b=a*2;//b=18<br>    
    int c=b/4;//c=4<br>    
    int d=b-c;//d=14<br>    
    int e=-d;//e=-14<br>    
    int f=e%4;//f=-2<br>    
    double g=18.4;<br>    
    double h=g%4;//h=2.4<br>    
    int i=3;<br>    
    int j=i++;//i=4,j=3<br>    
    int k=++i;//i=5,k=5<br>    
    System.out.println("a="+a);<br>    
    System.out.println("b="+b);<br>    
    System.out.println("c="+c);<br>    
    System.out.println("d="+d);<br>    
    System.out.println("e="+e);<br>    
    System.out.println("f="+f);<br>    
    System.out.println("g="+g);<br>    
    System.out.println("h="+h);<br>    
    System.out.println("i="+i);<br>    
    System.out.println("j="+j);<br>    
    System.out.println("k="+k);<br>    
    }<br>    
    }<br>    
    <br>    
    其结果为:<br>    
    <br>    
    C:\>java ArithmaticOp<br>    
    <br>    
    a=9<br>    
    b=18<br>    
    c=4<br>    
    d=14<br>    
    e=-14<br>    
    f=-2<br>    
    g=18.4<br>    
    h=2.4<br>    
    i=5<br>    
    j=3<br>    
    k=5<br>    
    <br>    
    <font color="#008000">§3.2关系运算符</font><br>   
    <br>   
    关系运算符用来比较两个值,返回布尔类型的值true或false? 关系运算符都是二元运算符,如下表所示:<br>    
    <br>    
    运算符 用法 返回true的情况<br>    
    > op1>op2 op1大于op2&nbsp;<br>   
    >+ op1>=op2 op1大于或等于op2&nbsp;<br>   
    < op1<op2 op1小于op2&nbsp;<br>   
    <= op1<=op2 op1小于或等于op2&nbsp;<br>   
    == op1==op2 op1与op2相等&nbsp;<br>   
    != op1!=op2 op1与op2不等&nbsp;<br>   
    <br>   
    Java中,任何数据类型的数据(包括基本类型和组合类型)都可以通过==或!=来比较是否相等(这与C、C++不同)。<br>   
    <br>   
    关系运算的结果返回true或false,而不是C、C++中的1或0。<br>   
    <br>   
    关系运算符常与布尔逻辑运算符一起使用,作为流控制语的判断条件。如<br>   
    <br>   
    if(a>b&amp;&amp;b==c)<br>   
    </p>   

    <p>   
    <font color="#008000">§3.3布尔逻辑运算符</font><br>   
    <br>   
    <font color="#008000">布尔逻辑运算符进行布尔逻辑运算</font>,如下表所示:<br>   
    <br>   
    op1 op2 op1&amp;&amp;op2 op1||op2 !op1&nbsp;<br>   
    false false false false true&nbsp;<br>   
    false true false true true&nbsp;<br>   
    true false false true false&nbsp;<br>   
    true true true true false&nbsp;<br>   
    <br>   
    ·&amp;&amp;、‖ 为二元运算符,实现逻辑与、逻辑或。<br>
    <br>
    ·!为一元运算符,实现逻辑非。<br>
    <br>
    ·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false。<br>
    <br>
    下面的例子说明了关系运算符和布尔逻辑运算符的使用。<br>
    <br>
    public class RelationAndConditionOp{<br>    
    public static void main(Stringargs[]){<br>    
    int a=25,b=3;<br>    
    boolean d=a<b;//d=false<br>    
    System.out.println("a<b="+d);<br>    
    int e=3;<br>    
    if(e!=0&amp;&amp;a/e>5)<br>    
    System.out.println("a/e="+a/e);<br>    
    int f=0;<br>    
    if(f!=0&amp;&amp;a/f>5)<br>    
    System.out.println("a/f="+a/f);<br>    
    else<br>    
    System.out.println("f="+f);<br>    
    }<br>    
    }<br>    
    <br>    
    其运行结果为:<br>    
    <br>    
    C:\>java RelationAndConditionOp<br>    
    <br>    
    a<b=false<br>    
    a/e=8<br>    
    f=0<br>    
    <br>    
    注意:上例中,第二个if语句在运行时不会发生除0溢出的错,因为e!=0为false,所以就不需要对a/e进行运算。<br>    
    <br>    
    <font color="#008000">§3.4位运算符</font><br>   
    <br>   
    位运算符用来对二进制位进行操作,Java中提供了如下表所的位运算符:位运算符中,除 ~ 以外,其余均为二元运算符。操作数只能为整型和字符型数据。<br>
    <br>
    <font color="#008000">3.4.1补码</font><br>
    <br>
    Java使用补码来表示二进制数,在补码表示中,最高位为符号?,正数的符号位为0,负数为1。补码的规定如下:<br>
    <br>
    对正数来说,最高位为0,其余各位代表数值本身(以二进制?示),如+42的补码为00101010。<br>
    <br>
    对负数而言,把该数绝对值的补码按位取反,然后对整个数1,即得该数的补码。如-42的补码为11010110(00101010按位取反11010101+111010110)<br>
    <br>
    用补码来表示数,0的补码是唯一的,都为00000000。(而在原码,反码表示中,+0和-0的表示是不唯一的,可参见相应的书籍)。而且可以用111111表示-1的补(这也是补码与原码和反码的区别)。<br>
    <br>
    <font color="#008000">3.4.2按位取反运算符 ~</font><br>
    <br>
    ~ 是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。例如:<br>
    <br>
    0010101<br>
    ~<br>
    1101010<br>
    <br>
    注意,~运算符与-运算符不同,~21≠-21。<br>
    <br>
    <font color="#008000">3.4.3按位与运算符&amp;</font><br>
    <br>
    参与运算的两个值,如果两个相应位都为1,则该位的结果为1。例如:<br>
    <br>
    0010101<br>
    ~1101010<br>
    <br>
    注意,~运算符与-运算符不同,~21≠-21。<br>
    <br>
    <font color="#008000">3.4.3按位与运算符&amp;</font><br>
    <br>
    参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。即:<br>
    <br>
    0&amp;0=0,0&amp;1=0,1&amp;0=0,1&amp;1=1<br>
    <p>
    (未完,请继续)

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

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