《第5章运算符.ppt》由会员分享,可在线阅读,更多相关《第5章运算符.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5 5章章 运算符运算符前一章讲了前一章讲了Java的数据类型,通过对这些数据进行有效的数据类型,通过对这些数据进行有效的计算来完成程序,如何准确高效的进行运算,就需要了解的计算来完成程序,如何准确高效的进行运算,就需要了解Java的运算符。的运算符。Java提供了相当丰富的运算符系统,主要分提供了相当丰富的运算符系统,主要分为以下四类:算术运算符、位运算符、关系运算符、逻辑运为以下四类:算术运算符、位运算符、关系运算符、逻辑运算符。这些运算符之间有优先级的关系,通过括号的组合而算符。这些运算符之间有优先级的关系,通过括号的组合而成的表达式可以完成复杂的计算。成的表达式可以完成复杂的计算。
2、5.1 5.1 算术运算符算术运算符 算术运算符一般在数学表达式中使用,使用方法和代数算术运算符一般在数学表达式中使用,使用方法和代数中的使用方法相同,表中的使用方法相同,表5.1列出了各种算术运算符。列出了各种算术运算符。5.1.1 5.1.1 基本算术运算符基本算术运算符基本算术运算符包括加、减、乘、除,可以对所有数字基本算术运算符包括加、减、乘、除,可以对所有数字类型进行操作。注意一点,如果整数进行除法运算,得到的类型进行操作。注意一点,如果整数进行除法运算,得到的结果也是整数,小数部分会被抛弃掉。结果也是整数,小数部分会被抛弃掉。5.1.2 5.1.2 模运算符模运算符模运算符模运算符
3、“%”是求两个整数相除的余数,它可以应用是求两个整数相除的余数,它可以应用于整数类型。如果在浮点类型上使用该运算,编译器并不会于整数类型。如果在浮点类型上使用该运算,编译器并不会报错,但是产生的结果是不准确的,这根底层的数据表示有报错,但是产生的结果是不准确的,这根底层的数据表示有关,在此不再详述。关,在此不再详述。5.1.3 5.1.3 算术赋值运算符算术赋值运算符在程序编写中,经常使用到对该变量加上一个值,例如让在程序编写中,经常使用到对该变量加上一个值,例如让int型变量型变量i加加5,用程序语言表达就是:,用程序语言表达就是:i=i+5;在在Java中有一种简单的表达方式,如下所示:中
4、有一种简单的表达方式,如下所示:i+=5;该语句是用运算符该语句是用运算符+=将加法运算和赋值运算合为一步完成,因此这将加法运算和赋值运算合为一步完成,因此这里把该运算符称为算术赋值运算符。同理还可以有以下运算符的使用:里把该运算符称为算术赋值运算符。同理还可以有以下运算符的使用:i-=5;i/=5;i%=5i*=5;它们分别相当于:它们分别相当于:i=i-5;i=i/5;i=i%5;i=i*5;5.1.4 5.1.4 自增自减运算符自增自减运算符在程序中对数字变量最常用的操作是加在程序中对数字变量最常用的操作是加1或者减或者减1,在,在Java中中有专门的操作符来表示这个运算,有专门的操作符
5、来表示这个运算,+和和-运算符。下面三条语句运算符。下面三条语句的效果是相同的:的效果是相同的:i=i+1;i+=1;i+;同样对于自减运算符也是如此。同样对于自减运算符也是如此。自加自减运算符可以用作前缀也可以用作后缀,这两种情况自加自减运算符可以用作前缀也可以用作后缀,这两种情况下所起的作用是不同的。前缀表达式中,编译器会首先对该操作下所起的作用是不同的。前缀表达式中,编译器会首先对该操作数进行加数进行加1或减或减1,然后将其用于表达式中。后缀表达式中,会先,然后将其用于表达式中。后缀表达式中,会先将操作数的值进行计算,然后对操作数进行加将操作数的值进行计算,然后对操作数进行加1或减或减1
6、。5.2 5.2 位运算符位运算符位运算符用来对二进制位进行操作位运算符用来对二进制位进行操作,Java中定义的为运中定义的为运算符适用于整数类型算符适用于整数类型(long、int、short、char、byte),),主主要的位运算符如表要的位运算符如表5.2所示所示:5.2.1 5.2.1 按位取反运算按位取反运算在计算机中所有的整数类型都用二进制数来表示。例如在计算机中所有的整数类型都用二进制数来表示。例如11的的二进制表达式就是二进制表达式就是00001011,其中每个位置都表示,其中每个位置都表示2的幂,右边的幂,右边第一位表示第一位表示20,第二位表示,第二位表示21,以此类推。
7、所以,以此类推。所以11的二进制表示的二进制表示就是就是20+21+23=11。Java中整数类型都是有符号类型,可以表示正数,也可以表中整数类型都是有符号类型,可以表示正数,也可以表示负数。在示负数。在Java中负数的是用补码来表示的。中负数的是用补码来表示的。5.2.2 5.2.2 位逻辑运算符位逻辑运算符位运算符有位运算符有&、|、。如表。如表5.3表示了位逻辑运算符表示了位逻辑运算符的运算结果。的运算结果。5.2.3 5.2.3 位移运算位移运算位移运算是数据在二进制位上的操作。一共有三种形式的位位移运算是数据在二进制位上的操作。一共有三种形式的位移操作,分别是左移运算、右移运算以及无
8、符号位移。下面依次移操作,分别是左移运算、右移运算以及无符号位移。下面依次讲解这三种形式的位移操作。讲解这三种形式的位移操作。1左移运算(左移运算()3无符号右移(无符号右移()5.3 5.3 关系运算符关系运算符关系运算符用来比较两个数,确定两个操作数之间的关系。关关系运算符用来比较两个数,确定两个操作数之间的关系。关系运算的返回值是一个系运算的返回值是一个boolean类型,仅有类型,仅有true和和false两种情况。关两种情况。关系运算符一般用在系运算符一般用在if语句和循环语句的判断中。语句和循环语句的判断中。在在Java中,任何类型包括整型、浮点型、字符型和布尔型都可中,任何类型包
9、括整型、浮点型、字符型和布尔型都可以进行关系运算。在以进行关系运算。在Java中用中用“=”运算符比较两个数是否相等,运算符比较两个数是否相等,用运算符用运算符“!=”测试两个数是否不等。测试两个数是否不等。5.4 5.4 逻辑运算符逻辑运算符在在Java中提供一些简单的运算符,可以把简单的条件合中提供一些简单的运算符,可以把简单的条件合并在一起,从而构成复杂的条件。这些符号包括并在一起,从而构成复杂的条件。这些符号包括“&”(短(短路与运算)、路与运算)、“|”(短路或运算)以及(短路或运算)以及“!”(非运算)。(非运算)。通过这些运算得到的值是通过这些运算得到的值是boolean类型(类
10、型(true或或false)。如表)。如表5.5是所有的逻辑运算符的列表:是所有的逻辑运算符的列表:5.5 5.5 三元运算符三元运算符Java中有一个特殊的三元运算符,它支持条件表达式,当中有一个特殊的三元运算符,它支持条件表达式,当需要进行条件判断是可用它来替代需要进行条件判断是可用它来替代if-else语句。它的语法稍微一语句。它的语法稍微一点麻烦,但是它能非常高效的完成功能,让代码看起来简洁,优点麻烦,但是它能非常高效的完成功能,让代码看起来简洁,优雅。它的一般形式是:雅。它的一般形式是:expression?statement:statement2其中,其中,expression是一
11、个可以计算出是一个可以计算出boolean值得表达式。值得表达式。如果如果expression的值为真,则执行的值为真,则执行statement1的语句,否则执行的语句,否则执行statement2的语句。的语句。5.6 5.6 运算符优先级运算符优先级在一个表达式中可能含有多个运算符,它们之间是有优在一个表达式中可能含有多个运算符,它们之间是有优先级关系的,这样才能有效的把它们组织到一起进行复杂的先级关系的,这样才能有效的把它们组织到一起进行复杂的运算,如表运算,如表5.6是是Java中运算符的优先级。中运算符的优先级。5.7 5.7 小结小结前一章已经介绍过前一章已经介绍过Java中的各种数据类型,在这一章中,中的各种数据类型,在这一章中,主要学习了各种表达式的使用。在实际运用中这些表达式是主要学习了各种表达式的使用。在实际运用中这些表达式是十分有用的。通过表达式将各种数据合理有效的结合在一起,十分有用的。通过表达式将各种数据合理有效的结合在一起,是程序高效、简洁的秘诀所在。希望读者认真阅读这两章,是程序高效、简洁的秘诀所在。希望读者认真阅读这两章,为以后的学习打下良好的基础。为以后的学习打下良好的基础。