第二章:Java数据与数据运算

上传人:新** 文档编号:585123803 上传时间:2024-09-01 格式:PPT 页数:26 大小:1.09MB
返回 下载 相关 举报
第二章:Java数据与数据运算_第1页
第1页 / 共26页
第二章:Java数据与数据运算_第2页
第2页 / 共26页
第二章:Java数据与数据运算_第3页
第3页 / 共26页
第二章:Java数据与数据运算_第4页
第4页 / 共26页
第二章:Java数据与数据运算_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《第二章:Java数据与数据运算》由会员分享,可在线阅读,更多相关《第二章:Java数据与数据运算(26页珍藏版)》请在金锄头文库上搜索。

1、JavaJava程序设计程序设计第二章:第二章:JavaJava的数据与数据运算的数据与数据运算本章教学内容:本章教学内容:1 1:JavaJava基本数据类型;基本数据类型;2 2:JavaJava类型转换;类型转换;3 3:JavaJava运算符;运算符;4 4:JavaJava表达式表达式第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava的基本数据类型:的基本数据类型:数据用于表示对象的状态,每一个数据都属于某种类型,类型规定了数据的性质,数据用于表示对象的状态,每一个数据都属于某种类型,类型规定了数据的性质,取值范围以及在其上可以进行操作行为。取值范围以及

2、在其上可以进行操作行为。 整整 型型 byte short int long byte short int long 浮点型浮点型 float double float double 基本基本类类形形 字符型字符型 char char 布尔型布尔型 boolean boolean数据类型数据类型 类类 (包括嵌入类,泛型,枚举类型)(包括嵌入类,泛型,枚举类型) class class 复合类型复合类型 接口(包括标注类型)接口(包括标注类型) abstractabstract 数组数组 arrayarray基本数据类型:基本数据类型:是指不能再分解的数据类型;【系统内置,用户无法重新定义】是

3、指不能再分解的数据类型;【系统内置,用户无法重新定义】复合数据类型:复合数据类型:是指可以分解成基本类型的数据类型;【用户根据需要自行创建是指可以分解成基本类型的数据类型;【用户根据需要自行创建】第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava语言的基本类型:语言的基本类型:基本类型包括整形,浮点型,字符型,布尔型四类。基本类型包括整形,浮点型,字符型,布尔型四类。整形又可以具体分为:整形又可以具体分为:bytebyte(字节型)(字节型),short,short(短整型)(短整型),int,int(整型)(整型),long,long(长(长整型)整型)基本整型

4、的特性如下表:基本整型的特性如下表:类型名类型名字节数字节数位长位长取值范围取值范围bytebyte1 18 8-128127-128127shortshort2 21616-3276832767-3276832767intint4 43232-21474836482147483647-21474836482147483647longlong8 86464-2-26363-2-26363-1-1第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava语言的基本类型:语言的基本类型:浮点型可以分为浮点型可以分为:floatfloat(单精度浮点型)(单精度浮点型),dou

5、ble,double(双精度浮点型);(双精度浮点型);浮点型除了包括正的和负的有限制值外,还包括浮点型除了包括正的和负的有限制值外,还包括 NaN NaN值,值,NaNNaN值用于表示(零被零值用于表示(零被零相除)的运算结果。相除)的运算结果。类型名类型名字节数字节数位长位长取值范围取值范围floatfloat4 432321.4*101.4*10-45-453.4*103.4*103838doubledouble8 864644.9*104.9*10-324-3241.8*101.8*10308308第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava语言的基

6、本类型:语言的基本类型:字符型:字符型:用单引号括起来的单个字符叫做字符型,关键字用:用单引号括起来的单个字符叫做字符型,关键字用:charchar字符型数据是一个字符型数据是一个UnicodeUnicode字符,在计算机内存中存放该字符的字符,在计算机内存中存放该字符的1616位位UnicodeUnicode码,码,取值范围是:取值范围是:02021616-1-1;字符型数据虽然不是整型,但可以把它转化为整型数处理,因为字符型的字节码字符型数据虽然不是整型,但可以把它转化为整型数处理,因为字符型的字节码都是用十进制的整型数据来表示的。都是用十进制的整型数据来表示的。布尔型:布尔型用布尔型:布

7、尔型用booleanboolean来表示,这种类型的数据只有两个值:来表示,这种类型的数据只有两个值:truetrue(真)或(真)或falsefalse(假);(假); 布尔型与其他任何数据类型都不能相互转换!布尔型与其他任何数据类型都不能相互转换!第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava语言的基本类型细节总结:语言的基本类型细节总结:1 1:intint型可以用二进制,八进制,十进制和十六进制数来表示;型可以用二进制,八进制,十进制和十六进制数来表示; 二进制就是二进制就是0-10-1这两个数字来表示这两个数字来表示intint型型 八进制就是由八进

8、制就是由0-70-7这这8 8个数字来表示个数字来表示intint型;型; 十进制就是由十进制就是由0-90-9这这1010个数字来表示个数字来表示intint型;型; 十六进制是由十六进制是由0-90-9以及以及A-F/a-fA-F/a-f共共1616个字符来表示个字符来表示intint型,其中超过型,其中超过1010用用A A或小写或小写a a来表示来表示2 2:doubledouble只有十进制表形式,但有:只有十进制表形式,但有:标准记数法标准记数法和和科学记数法科学记数法两种表示方法两种表示方法 标准记数法:标准记数法:由整数部分和小数部分组成,两者可以省略其一,但必须有小数由整数部

9、分和小数部分组成,两者可以省略其一,但必须有小数点;点; 例子:例子:12.512.5,-123. -123. ,.23.23. 科学记数法科学记数法: :E E或或e e前面必须有数字(可以是整数),但是后面必须是整数(正前面必须有数字(可以是整数),但是后面必须是整数(正号可以省略)号可以省略) double double型数据结尾处可以添加大写的型数据结尾处可以添加大写的D D或是小写的或是小写的d d。第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava语言的基本类型细节总结:语言的基本类型细节总结:3:float3:float 单精度数据结尾处可加单精度数

10、据结尾处可加F F或或f f,用科学记数法时候,可以在,用科学记数法时候,可以在E E或或e e的后面添加负号,的后面添加负号,表示负的多少次方:表示负的多少次方: 例子:例子:-12e-10 = -12*10-12e-10 = -12*10-10104 4:charchar charchar型表示一个型表示一个UnicodeUnicode字符,该字符用单引号括起来;字符,该字符用单引号括起来; 转义字符如下:【键盘上找不到的字符,可以通过其他其他字符来代替功能】转义字符如下:【键盘上找不到的字符,可以通过其他其他字符来代替功能】 转义字符转义字符说明说明转义字符转义字符说明说明rr回车回车单

11、引号单引号nn换行换行双引号双引号ff换页换页反斜杠反斜杠tt水平制表符水平制表符bb退格退格第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava语言的基本类型细节总结:语言的基本类型细节总结:5 5:StringString型型 StringString型表示一串型表示一串UnicodeUnicode字符,这串字符要用双引号括起来;字符,这串字符要用双引号括起来; 1:String 1:String内部可以出现转义字符。内部可以出现转义字符。 例子:例子: Strntsssbb Strntsssbb 2:String 2:String必须在一行内写完;必须在一行内

12、写完; 例子:例子: String s1=sdenbjkn; String s1=sdenbjkn;【正确】【正确】 String s2=sds+ String s2=sds+ 【正确】【正确】 sdwqww; sdwqww; String s3=sds String s3=sds 【错误】【错误】 sdwqww; sdwqww; 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava基本类型转换:基本类型转换:每一个基本类型总是持有它的类型的一个值。当把某种类型的值赋值给一个不同类型时,每一个基本类型总是持有它的类型的一个值。当把某种类型的值赋值给一个不同类型时,就

13、需要进行类型转换。就需要进行类型转换。基本类型转换有两中情况:基本类型转换有两中情况:1 1:自动转换;:自动转换;2 2:强制转换:强制转换1 1:自动转换【指由系统自动完成的类型转换,包括赋值转换,单目算数提升,双目算术提:自动转换【指由系统自动完成的类型转换,包括赋值转换,单目算数提升,双目算术提升】升】 (1 1):赋值转换【把表达式的值赋给变量的时候,由系统自动完成】):赋值转换【把表达式的值赋给变量的时候,由系统自动完成】 注意情况:(注意情况:(1 1):低位到高位自动提升):低位到高位自动提升 (2 2):基本类型与复合类型不能相互赋值):基本类型与复合类型不能相互赋值 (3

14、3):布尔型值不能赋值给其他任何类型变量):布尔型值不能赋值给其他任何类型变量 (4 4):):charchar型赋值转换成其他类型时,将型赋值转换成其他类型时,将UnicodeUnicode码值当做正数看码值当做正数看待待. . (2 2):单目算数提升):单目算数提升【单目运算的操作数的类型是【单目运算的操作数的类型是byte,short,charbyte,short,char型时自动提升为型时自动提升为intint型;否则保持原有类型,不进行转换】型;否则保持原有类型,不进行转换】 (3 3):双目算数提升【双目运算符作用于两个操作时,按照谁的范围大就转为谁的类):双目算数提升【双目运算

15、符作用于两个操作时,按照谁的范围大就转为谁的类型进行输出结果,同类型就按照同样类型进行输出结果】型进行输出结果,同类型就按照同样类型进行输出结果】第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava基本类型转换:基本类型转换: 2 2:强制转换【是指通过代码要求对系统进行的类型转换】强制转换【是指通过代码要求对系统进行的类型转换】 语法格式如下:语法格式如下: (类型)表达式;(类型)表达式; 例子:例子: int b=123; int b=123; byte s=(byte)b; byte s=(byte)b; 注意情况:注意情况:(1 1):除了布尔型,其他任何

16、基本类型的值都可以强制转为):除了布尔型,其他任何基本类型的值都可以强制转为其他的基本类型。其他的基本类型。 (2 2):高位向低位进行强转。):高位向低位进行强转。 (3 3):同类型可以进行强转。):同类型可以进行强转。第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava中的变量:中的变量: 变量是内存中的存储区域,存储区域的大小取决于变量的类型。变量是内存中的存储区域,存储区域的大小取决于变量的类型。 JavaJava是一种强类型语言,每一个变量的引入,都要进行相应的定义,明确指定其类型是一种强类型语言,每一个变量的引入,都要进行相应的定义,明确指定其类型和名

17、字;和名字; 按照类型来分:基本类型变量和复合类型变量,一个基本类型变量总是持有它的类型按照类型来分:基本类型变量和复合类型变量,一个基本类型变量总是持有它的类型的一个值。的一个值。 变量定义如下:变量定义如下: 类型类型 变量名变量名 例子:例子: public int i1=12; byte b1=127. public int i1=12; byte b1=127. 注意情况:注意情况:(1 1):类型可以是各种基本类型,也可以是各种复合类型;):类型可以是各种基本类型,也可以是各种复合类型; (2 2):变量名必须由字母(大小写),数字,下划线,美元符号():变量名必须由字母(大小写)

18、,数字,下划线,美元符号()来标识,不能以数字来开头,不能使用系统中的关键字,相同的大小写变量名是不同的两来标识,不能以数字来开头,不能使用系统中的关键字,相同的大小写变量名是不同的两个变量,而且变量名不能同名!个变量,而且变量名不能同名! (3 3):给变量赋值可以是表达式,或是兼容的数值或是表达式):给变量赋值可以是表达式,或是兼容的数值或是表达式 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算JavaJava的运算符:的运算符: 运算符:对数据处理能力的操作符号运算符:对数据处理能力的操作符号 1 1:根据操作数的多少,运算符可分为:根据操作数的多少,运算符可分为: 单

19、目运算符:只有一个操作数的运算符单目运算符:只有一个操作数的运算符 双目运算符:只有两个操作数的运算符双目运算符:只有两个操作数的运算符 三目运算符:有三个操作数的运算符三目运算符:有三个操作数的运算符 2 2:根据运算符的功能,运算符又可分为:根据运算符的功能,运算符又可分为: 算术运算符,关系运算符,逻辑运算符,位逻辑运算符,位移运算符,赋算术运算符,关系运算符,逻辑运算符,位逻辑运算符,位移运算符,赋值运算符等值运算符等 一:算术运算符一:算术运算符 算术运算符的操作数类型可以是整型,浮点型和字符型。不能对算术运算符的操作数类型可以是整型,浮点型和字符型。不能对booleanboolea

20、n型型使用算术运算符。使用算术运算符。 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 算术运算符如下表算术运算符如下表算术运算符中:算术运算符中: (1 1):单目运算符):单目运算符 + +(正号)(正号)- -(负号)(负号)+(自增)(自增)-(自减)(自减) + +(正号)(正号)- -(负号)这两个运算符在运算前会进行单目算术提升,所以(负号)这两个运算符在运算前会进行单目算术提升,所以结果类型至少是结果类型至少是intint型型 运算符运算符含义含义运算符运算符含义含义+ +正值(单目)正值(单目)/ /相除(双目)相除(双目)- -负值(单目)负值(单目)%

21、%求余(双目)求余(双目)+ +相加(双目)相加(双目)+自增(单目)自增(单目)- -相减(双目)相减(双目)-自减(单目)自减(单目)* *相乘(双目)相乘(双目)第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 (2 2):运算符):运算符 + +(自增)(自增) - -(自减)分别为自增(自减)分别为自增1 1,自减,自减1 1的运算符。的运算符。 其操作数的类型必须是数值型变量,在运算前对操作数不会进行单目算术提升,也其操作数的类型必须是数值型变量,在运算前对操作数不会进行单目算术提升,也不会进行双目算术提升。运算结果的类型与变量的类型一致。不会进行双目算术提升。运算

22、结果的类型与变量的类型一致。 (3 3):双目运算符包括:):双目运算符包括:+ +(相加)(相加)- -(相减)(相减)* *(相乘)(相乘)/ /(相除)(相除)% %(求余)(求余)5 5种。种。 在操作之前对操作数进行双目自动提升,其结果类型至少是在操作之前对操作数进行双目自动提升,其结果类型至少是intint型型 (4 4):):% %(求余):就是计算两个数相除的余数(求余):就是计算两个数相除的余数 计算规则如下:计算规则如下: 整数求余整数求余(a%b)(a%b)的结果是:的结果是:a-q*ba-q*b,q q为为a/ba/b,其结果的正负号与,其结果的正负号与a a相同。相同

23、。 浮点数求余(浮点数求余(a%ba%b)的结果是:)的结果是:a-q*b,qa-q*b,q为为a/ba/b的整数部分,其结果的正负号与的整数部分,其结果的正负号与a a相同。相同。 例子:例子: a ab bq qq*bq*ba-q*ba-q*b5 5-2-2-2-24 41 1-5-52 2-2-2-4-4-1-1-5-5-2-22 2-4-4-1-17.67.62.92.92 25.85.81.81.8第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 二:关系运算符二:关系运算符 关系运算符:关系运算符:用来对两个数值型(整型,浮点型以及字符型)以及用来对两个数值型(整型

24、,浮点型以及字符型)以及booleanboolean型,复合数据型值进行大小关系比较,运算结果为型,复合数据型值进行大小关系比较,运算结果为booleanboolean型。型。 关系运算符如下表关系运算符如下表说明:(说明:(1 1):):= != !=可用于任何数据类型数据的比较,既可以是数值型,也可以可用于任何数据类型数据的比较,既可以是数值型,也可以是是booleanboolean型,复合数据类型,其他关系运算符只能是数值型。型,复合数据类型,其他关系运算符只能是数值型。 (2 2):布尔型数据只能进行):布尔型数据只能进行 = != = !=这两种关系运算符运算。这两种关系运算符运算。

25、 (3 3):复合型数据只能进行):复合型数据只能进行 = != = !=这两种关系运算符运算,即指对象是否这两种关系运算符运算,即指对象是否表示同一个对象。表示同一个对象。 (4 4):当用!):当用!= =对两个浮点型数据比较时,若有一个值是对两个浮点型数据比较时,若有一个值是NaNNaN,结果为真,结果为真,其他运算符对两个浮点型数据比较时,若有一个是其他运算符对两个浮点型数据比较时,若有一个是NaNNaN,结果为假。,结果为假。运算符运算符含义含义运算符运算符含义含义=相等相等!=!=不相等不相等 大于大于=大于等于大于等于 小于小于=小于等于小于等于第二章:第二章:JavaJava的

26、数据与数据运算的数据与数据运算 三:逻辑运算符三:逻辑运算符 逻辑运算符的操作数类型为逻辑运算符的操作数类型为booleanboolean型,返回类型也是型,返回类型也是booleanboolean型。型。 逻辑运算不涉及数据类型的转换或提升。逻辑运算不涉及数据类型的转换或提升。 逻辑运算符如下表逻辑运算符如下表 !(逻辑非):!(逻辑非):其运算结果与操作数的值正好相反。操作数为其运算结果与操作数的值正好相反。操作数为truetrue,结果为,结果为falsefalse;操作数为操作数为falsefalse,结果为,结果为truetrue。 & &(逻辑与):(逻辑与):只有当两个操作数的结

27、果为只有当两个操作数的结果为truetrue的时候,结果才为的时候,结果才为truetrue;否则为;否则为falsefalse。 | |(逻辑或):(逻辑或):两个操作数中,只要有一个为两个操作数中,只要有一个为truetrue的时候,结果才为的时候,结果才为truetrue;否则为;否则为falsefalse。 (逻辑异或):(逻辑异或):两个操作数中,有一个为两个操作数中,有一个为true/falsetrue/false,另一个为,另一个为false/truefalse/true的时候,的时候,结果为结果为truetrue;否则为;否则为falsefalse。 运算符运算符含义含义运算符

28、运算符含义含义! !逻辑非逻辑非(单目)(单目)& &逻辑与(双目)逻辑与(双目)| |逻辑或(双目)逻辑或(双目) 逻辑异或(双目)逻辑异或(双目)&快速逻辑与(双目)快速逻辑与(双目)|快速逻辑或(双目)快速逻辑或(双目)第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 &(快速逻辑与):如果左操作数为(快速逻辑与):如果左操作数为falsefalse,那么不管其右边的操作数是,那么不管其右边的操作数是truetrue还还是是falsefalse,其结果还是,其结果还是falsefalse。 | |(快速逻辑或):如果左操作数为(快速逻辑或):如果左操作数为truetrue

29、,那么不管其右边的操作数是,那么不管其右边的操作数是truetrue还还是是falsefalse,其结果还是,其结果还是truetrue。 此两种运算符在左操作数知道结果的情况下,右操作数不需要计算,从而省去此两种运算符在左操作数知道结果的情况下,右操作数不需要计算,从而省去下一个操作步骤,故而叫做快速逻辑与,快速逻辑或。下一个操作步骤,故而叫做快速逻辑与,快速逻辑或。 运算规则如下表:运算规则如下表: a ab b!a!aa&ba&ba|ba|bababa&ba&ba|ba|bfalsefalsefalsefalsetruetruefalsefalsefalsefalsefalsefalse

30、falsefalsefalsefalsetruetruefalsefalsefalsefalsefalsefalsetruetruetruetruefalsefalsetruetruefalsefalsetruetruetruetruefalsefalsetruetruetruetruefalsefalsetruetruetruetruetruetruefalsefalsetruetruetruetruefalsefalsetruetruetruetrue第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 四:位逻辑运算符四:位逻辑运算符 位逻辑运算符的操作数是整型值(包括字符型

31、)位逻辑运算符的操作数是整型值(包括字符型) 整型值按照二进制的补码形式存放;整型值按照二进制的补码形式存放; 字符型值按照字符型值按照1616位的位的UnicodeUnicode码存放。码存放。 位逻辑运算符如下表:位逻辑运算符如下表: 说明:说明:1 1: (按位异或)运算符运算前,操作数要进行单目算术提升,其(按位异或)运算符运算前,操作数要进行单目算术提升,其他运算符的操作数要进行双目算术提升,其结果的类型为他运算符的操作数要进行双目算术提升,其结果的类型为intint类型或类型或longlong类型。类型。 2 2:位逻辑运算符与前面的逻辑运算符的规则一样,只是操作的对:位逻辑运算符

32、与前面的逻辑运算符的规则一样,只是操作的对象不是象不是booleanboolean(truetrue或或falsefalse),而是位数据(),而是位数据(0 0或或1 1)。)。 运算符运算符含义含义运算符运算符含义含义& &按位与按位与! !按位或按位或 按位异或按位异或 按位取反按位取反第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 位逻辑运算符规则如下:位逻辑运算符规则如下: 说明:说明:1 1:位逻辑运算涉及到操作数的内部表示,是对操作数的二进制按位:位逻辑运算涉及到操作数的内部表示,是对操作数的二进制按位进行运算。进行运算。 2 2:两个操作数的一定要有相同的类型

33、,即提升后两个操作数的内部:两个操作数的一定要有相同的类型,即提升后两个操作数的内部的二进制位数肯定相同。的二进制位数肯定相同。 A AB BAAA&BA&BA|BA|BABAB0 00 01 10 00 00 01 10 00 00 01 11 10 01 11 10 01 11 11 11 10 01 11 10 0第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 五:位移运算符五:位移运算符 位移运算符用于移动整型值的二进制位序列。位移运算符用于移动整型值的二进制位序列。 位移运算符的操作数是整型值(包括字符型),其中左操作数是被移动位移运算符的操作数是整型值(包括字符型

34、),其中左操作数是被移动的对象,而右操作数则表示移动的位数。的对象,而右操作数则表示移动的位数。 位移运算符包括以下三种:位移运算符包括以下三种: 运算规则:运算规则:(左移)(左移) 43 = 4*2 4 (右移)(右移) 43 = 4/2 43 = 4/23 3 总结为:左乘右除总结为:左乘右除2 2的的N N(符号右边的数字)次方(符号右边的数字)次方运算符运算符含义含义(右移)(右移)低位丢失,高位以符号位填充低位丢失,高位以符号位填充(无符号右移)(无符号右移)低位丢失,高位以低位丢失,高位以0 0填充填充 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 五:三目条

35、件运算符五:三目条件运算符 三目条件运算符三目条件运算符 有三个操作数。有三个操作数。 语法格式如下:语法格式如下: ? : ; ? : ; a a必须是必须是booleanboolean型的数值,型的数值,b b和和c c必须都是同类型的,可以是必须都是同类型的,可以是booleanboolean型;型;可以是基本算术类型;可以是复合数据类型。可以是基本算术类型;可以是复合数据类型。 (1 1):):b b和和c c都是都是booleanboolean型,则运算结果也是型,则运算结果也是booleanboolean型型 (2 2):):b b和和c c都是基本算术类型,考虑以下三种情况:都是

36、基本算术类型,考虑以下三种情况: 1 1:若两个操作数具有相同类型,则结果就是该类型;:若两个操作数具有相同类型,则结果就是该类型; 2 2:若一个是:若一个是bytebyte型,另一个是型,另一个是shortshort型,则结果是型,则结果是shortshort型;型; 3 3:其他情况则进行双目算术提升,提升后的类型即为结果类型。:其他情况则进行双目算术提升,提升后的类型即为结果类型。 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 六:赋值运算符六:赋值运算符 赋值运算符包括:简单赋值运算符和组合赋值运算符两种。赋值运算符包括:简单赋值运算符和组合赋值运算符两种。 1

37、1:简单赋值运算符:简单赋值运算符 格式如下:格式如下: 数据类型数据类型 变量变量 = = 值或是表达式值或是表达式 例子:例子: int a=12; String str=null; int a=12; String str=null; 2:2:组合赋值运算符组合赋值运算符 格式如下:格式如下: 数据类型数据类型 变量变量=值或是表达式值或是表达式 可以是除了关系运算符和快速逻辑与,快速逻辑或之外的其他任何双目运可以是除了关系运算符和快速逻辑与,快速逻辑或之外的其他任何双目运算符。算符。 例子:例子: int a=3;a+=2;a=a+2; a/=3;a=a/3 a%=a+1;a=a%(a

38、+1) int a=3;a+=2;a=a+2; a/=3;a=a/3 a%=a+1;a=a%(a+1) 说明:必须是将数值或是表达式的值赋给一个变量!说明:必须是将数值或是表达式的值赋给一个变量! 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 Java Java表达式:表达式: 表达式:由运算符和操作数按一定的语法规则连接起来的式子。表达式:由运算符和操作数按一定的语法规则连接起来的式子。 说明:说明: (1 1):运算符包括算术运算符,关系运算符,逻辑运算符,位逻辑运算):运算符包括算术运算符,关系运算符,逻辑运算符,位逻辑运算符,位移运算符,条件运算符以及赋值运算符。符

39、,位移运算符,条件运算符以及赋值运算符。 (2 2):操作数可以是基本数据类型;方法调用;数组访问等):操作数可以是基本数据类型;方法调用;数组访问等 表达式的优先级和结合性:表达式的优先级和结合性: 一个表达式中有多个运算符操作的时候,需要考虑计算的顺序,包含一个表达式中有多个运算符操作的时候,需要考虑计算的顺序,包含优先级谁先计算,结合性先组合计算,各运算符按照优先级降序排列,优先级为优先级谁先计算,结合性先组合计算,各运算符按照优先级降序排列,优先级为1 1的运算符优先级最高,同一级的运算符的优先级相同。的运算符优先级最高,同一级的运算符的优先级相同。 运算符的优先级和结合性如下表:运算

40、符的优先级和结合性如下表: 第二章:第二章:JavaJava的数据与数据运算的数据与数据运算 分类分类优先级优先级运算符运算符结合性结合性单目运算符单目运算符1 1+ - + - ! (+ - + - ! (强转类型强转类型) )右右算术运算符算术运算符2 2* / %* / %左左3 3+ -+ -位移运算符位移运算符4 4 左左关系运算符关系运算符5 5 = =左左6 6= != !=逻辑运算符逻辑运算符位逻辑运算符位逻辑运算符7 7& &左左8 8| |9 9 1010&1111|条件运算符条件运算符1212? :? :右右赋值运算符赋值运算符1313= = =右右第二章:第二章:Jav

41、aJava的数据与数据运算的数据与数据运算 总结:总结:(1 1):只有单目运算符和赋值运算符的结合性是从右到左,其他都):只有单目运算符和赋值运算符的结合性是从右到左,其他都是从左到右。是从左到右。 (2 2):不同的运算符看优先级,相同的优先级看结合性。):不同的运算符看优先级,相同的优先级看结合性。 例子:例子: byte i=3,j=1; byte i=3,j=1; 计算:计算:ij|i+j5ij|i+j5 1: 1: 3 3j|i+j5j|i+j5 2 2:3131|i+j5|i+j5 3 3:falsefalse|i+j5|i+j5 4 4:falsefalse| |3 3+j5+j5 5 5:falsefalse| |3+13+155 6 6:falsefalse| |4 4 5 5 7 7:falsefalse| |truetrue 8 8:truetrue

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号