- 1、本文档共113页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章java运算符、表达式与语句
第三章 Java实用技术 ;运算符的作用是与一定的运算数据组成表达式来完成相应的运算。对不同的数据类型,有着不同的运算符。对运算符,有运算对象(操作数)个数及类型、运算优先级、结合性等特性。
Java语言对运算符的优先级、结合性和求值顺序有明确的规定,从根本上消除了运算符运算过程的二义性以及结果不统一的弊端。;运算符的优先级是指不同运算符在混合运算中执行的先后顺序。在Java语言中共有17种优先级,每个运算符分属确定的一个优先级别。Java语言严格按照运算符的优先级由高到低地顺序执行各种运算。
运算符的结合性确定同级运算符的运算顺序。左结合性规定,运算数据先与左边的运算符结合,然后与右边的运算符结合。右结合性正好相反。;3. 1 算术运算符
算术运算符按操作数的多少可分为一元(或称单目)和二元(或称双目)两类,一元运算符一次对一个操作数进行操作,二元运算符一次对两个操作数进行操作。算术运算符的操作数类型是数值类型。
1.一元算术运算符
;运 算 符;;2.二元算术运算符
算术运算符的第二种类型是二元运算符,这种运算符并不改变操作数的值,而是返回一个必须赋给变量的值。表3-2列出了二元算术运算符。二元算术运算符具有左结合性。;运 算 符;;;3.2 关系运算符
关系运算符用于确定一个数据与另一个数据之间的关系,即进行关系运算。所谓关系运算是比较运算,将两个值进行比较。关系运算的结果值为true或false(布尔型)。表3-3列出了Java语言提供的6种关系运算符,它们都是双目运算符。
在这里要指出的是,等于运算符==不要与赋值运算符=混淆,以至于关系运算变成了赋值运算。;运 算 符;;3.3 逻辑运算符
逻辑运算符可以对布尔类型的数据(布尔常量、布尔变量、关系表达式和逻辑表达式等)进行运算,结果也为布尔类型。表3-4列出了Java语言的逻辑运算符,逻辑运算规则如表3-5所示。;运 算 符;a;逻辑运算符:!(非),(与),||(或)
逻辑运算符要求的操作数和结果值都是布尔型,即返回布尔类型的值true或false。
短路运算:若左边表达式的值为false,则不对运算符右边的表达式再进行运算,表达式的结果为false。
||的短路运算:若||左边的表达式的值为true,则不对运算符右边的表达式再进行运算,表达式的结果为true.例:
boolean x = false;
(35) (x=53) //表达式结果为false, x为false;
boolean x = true;
(53) || (x=35) //表达式结果为true, x为true.;;3.4 赋值运算符
赋值运算符都是二元运算符,具有右结合性。
1.简单赋值运算符(=)
2.复合赋值运算符
① 复合赋值运算符的右边是一个整体。
② 表3-6中的表达式是等价的。 ;运 算 符;3.5 位运算符
位运算符用来对二进制位进行运算,运算操作数应是整数类型,结果也是整数类型。表3-7列出了Java的位运算符。 ;运 算 符;a;;(4)位运算符(续一);(4)位运算符(续二);(4)位运算符(续三);(4)位运算符(续四);(4)位运算符(续五);(4)位运算符(续六);3.6 条件运算符
条件运算符是一种三元运算符,它的格式如下:
Operand? Expression1:Expression2
在这个式子中,先计算Operand的真假,若为真,则计算并返回Expression1,若为假,则计算并返回Expression2。例如;
(ab)?a:b;
这个表达式将返回a和b中较大的那个数值。;3.7 字符串运算符
运算符“+”可以实现两个或多个字符串的连接,也可实现字符串与其他类对象的连接,在连接时,其他类对象会被转换成字符串。另外,运算符“+=”把两个字符串连接的结果放进第一个字符串里。
; 3.8 表 达 式 ;1.自动类型转换;2.强制类型转换;3.表达式求值中的自动类型提升
Java语言对表达式求值的自动类型提升规则如下。
① 所有byte和short类型提升为int类型。
② 若一个操作数是long类型,则整个表达式提升为long类型。
③ 若一个操作数是float类型,则整个表达式提升为float类型。
④ 若有double类型,则表达式值为double类型。
自动类型提升对数据的运算带来了方便,但也容易引起编译错误。;3.8.2 优先级;优 先 次 序;3.9 语句和块;(1)表达式语句
① 赋值表达式,包含赋值运算符=或复合赋值运算符之一。
② ++或??的前后缀形式。
③ 方法调用(无论它是否有返回值)。
④ 对象创建表达式,用new来创建一个对
文档评论(0)