第2章计算器——数据类型与表达式_第1页
第2章计算器——数据类型与表达式_第2页
第2章计算器——数据类型与表达式_第3页
第2章计算器——数据类型与表达式_第4页
第2章计算器——数据类型与表达式_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 能力目标:能力目标:n理解数据类型,学会声明和使用变量,学会运用算术理解数据类型,学会声明和使用变量,学会运用算术运算符和表达式。运算符和表达式。n理解语句,学会使用声明语句、赋值语句和方法调用理解语句,学会使用声明语句、赋值语句和方法调用语句。语句。n能运用运算符、表达式和语句编写简单计算器程序。能运用运算符、表达式和语句编写简单计算器程序。/n2.1 任务预览任务预览n2.2 标识符标识符n2.3 关键字关键字n2.4 变量变量n2.5 基本数据类型基本数据类型n2.6 字符串及其与数值的转换字符串及其与数值的转换n2.7 算术运算符及算术表达式、字符串连接符算术运算符及算术表达式、字符

2、串连接符n2.8 赋值运算符、赋值表达式及赋值语句赋值运算符、赋值表达式及赋值语句n2.9 运算符的优先级与结合性运算符的优先级与结合性n2.10 自增和自减运算符自增和自减运算符n2.11 语句与方法语句与方法n2.12 本章小结本章小结n2.13 实训实训2:简易计算器:简易计算器/n本章实训程序运行结果:本章实训程序运行结果: / n标识符:按一定规则定义、命名的符号名称。标识符:按一定规则定义、命名的符号名称。n标识符命名规则:标识符命名规则:(1)只能使用字母(含汉字)、数字和下划线;)只能使用字母(含汉字)、数字和下划线;(2)必须以字母或下划线开头。)必须以字母或下划线开头。n例

3、如:例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、数、数1、变量、变量2、计算面积、计算面积 n两种标识符:两种标识符:(1)预定义保留的关键字)预定义保留的关键字(2)用户标识符)用户标识符n用途:对程序的各个组成元素如变量、方法、类等进行命用途:对程序的各个组成元素如变量、方法、类等进行命名标识。名标识。 /abstract abstract else else interfaceinterfacestaticstaticboolean boolean extends extends longlongsup

4、ersuperbreak break false false mainmainswitchswitchbyte byte finalfinalnativenativethisthiscase case finally finally newnewthrowthrowcatch catch float float nullnullthrowsthrowschar char for for packagepackagetruetrueclass class ififprivateprivatetrytrycontinue continue implementsimplementsprotected

5、protectedvoidvoiddefault default importimportpublicpublicwhilewhiledo do instanceofinstanceofreturnreturndouble double intintshortshort/nabstract /抽象方法,抽象类的修饰符nassert /断言条件是否满足nboolean /布尔数据类型nbreak /跳出循环或者label代码段nbyte /8-bit 有符号数据类型ncase /switch语句的一个条件ncatch /和try搭配捕捉异常信息nchar /16-bit Unicode字符数据类

6、型nclass /定义类nconst /未使用ncontinue /不执行循环体剩余部分ndefault /switch语句中的默认分支ndo /循环语句,循环体至少会执行一次ndouble /64-bit双精度浮点数nelse /if条件不成立时执行的分支nenum /枚举类型nextends /表示一个类是另一个类的子类nfinal /表示一个值在初始化之后就不能再改变了nfinally /表示方法不能被重写,或者一个类不能有子类ntry /语句不管是否发生异常都要执行的语句块nfloat /32-bit单精度浮点数nfor /for循环语句ngoto /未使用nif /条件语句nimpl

7、ements /表示一个类实现了接口nimport /导入类ninstanceof /测试一个对象是否是某个类的实例nint /32位整型数/ninterface /接口,一种抽象的类型,仅有方法和常量的定义nlong /64位整型数nnative /表示方法用非java代码实现nnew /分配新的类实例npackage /一系列相关类组成一个包nprivate /表示私有字段,或者方法等,只能从类内部访问nprotected /表示字段只能通过类或者其子类访问n/子类或者在同一个包内的其他类npublic /表示共有属性或者方法nreturn /方法返回值nshort /16位数字nstat

8、ic /表示在类级别定义,所有实例共享的nstrictfp /浮点数比较使用严格的规则nsuper /表示基类nswitch /选择语句nsynchronized /表示同一时间只能由一个线程访问的代码块nthis /表示调用当前实例n/或者调用另一个构造函数nthrow /抛出异常nthrows /定义方法可能抛出的异常ntransient /修饰不要序列化的字段ntry /表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码nvoid /标记方法不返回任何值nvolatile /标记字段可能会被多个线程同时访问,而不做同步nwhile /while循环

9、/n声明变量格式:声明变量格式: 数据类型数据类型 变量表变量表;n例如:例如: double x; x = 12.3; double a, b, c; int i = 2; double x = 2.1, y, z = 3.4;n变量要变量要“先声明,后使用先声明,后使用”。n方法内部的局部变量,要先赋值,再读取。方法内部的局部变量,要先赋值,再读取。n变量属于标识符。建议:变量属于标识符。建议:(1)以小写字母开头,一般不用下划线。)以小写字母开头,一般不用下划线。(2)骆驼格式法)骆驼格式法(3)不要只创建大小写有区别的变量,如)不要只创建大小写有区别的变量,如x和和X等。等。/关键字关

10、键字类型类型类型说明类型说明长度长度范围范围booleanboolean布尔型布尔型逻辑逻辑( (布尔布尔) )型型falsefalse和和truetruebytebyte字节型字节型1 1字节长度整数字节长度整数 8 8-128-128到到127127shortshort短整型短整型2 2字节长度整数字节长度整数 1616-32768-32768到到3276732767intint整型整型4 4字节长度整数字节长度整数 3232-2147483648-2147483648到到21474836472147483647longlong长整型长整型8 8字节长度整数字节长度整数 6464-9223

11、372036854775808-9223372036854775808到到92233720368547758079223372036854775807floatfloat单精度单精度浮点型浮点型4 4字节长度实数字节长度实数 32321.4E-451.4E-45到到3.4028235E+383.4028235E+38doubledouble双精度双精度浮点型浮点型8 8字节长度实数字节长度实数 64644.9E-3244.9E-324到到1.7976931348623157E+3081.7976931348623157E+308charchar字符型字符型单个字符单个字符1616u0000u0

12、000到到uFFFFuFFFF/n1、boolean类型不能转换成任何其他数据类型。n2、强制类型转换:强制类型转换:容量大的数据类型转换成容量小的数据类型时,要加上强制转换符,但这样有可能会造成精度降低或者数据溢出,要小心。n3、自动类型转换自动类型转换:容量小的数据类型可以自动转换成容量大的数据类型,如byte-short-int-long-float-double。byte、short、int不会互相转换,他们三者在计算时会转换成int类型。/n例:int a=257;byte b=(byte)a;在java中,int类型占4个字节,byte占一个字节,故int类型转化为byte类型会出

13、现位丢失情况,即将int的低4位作为byte类型的值。int型变量的值为257,对应的二进制是100000001,后8位是00000001,第一个0表示符号位,表示正数,所以变量b的值为1。n【备注:在计算机中,存储数据是通过内存地址内存地址来区分不同数据的,内存地址用十六进制十六进制数表示。在计算机存储单元中,一个ASCII码值占一个字节(8个二进制位),其中最高位符号位。事实上,计算机内的二进制数值是以补码形式表示的计算机内的二进制数值是以补码形式表示的,正数的补码和原码的形式相同,负数的补码是将该数的绝对值的二进制形式,按位取反再加一。】nint a=128;byte b=(byte)a

14、;这时b的值是-128。因为变量a对应的二进制是10000000,对应第一位符号位是1,则a是负数,其负数的补码仍是10000000,故b的值是-128。/n字符串类型,用字符串类型,用String表示,它不是基本类型。表示,它不是基本类型。n例如:例如:“abcd”、“123”、“张三张三”。n这这3个字符串的有效字符个数(字符串长度)分别是个字符串的有效字符个数(字符串长度)分别是n4、3和和2n声明字符串变量声明字符串变量str,同时把字符串常量,同时把字符串常量 abcd 赋给赋给str: String str = abcd;n一对英文双引号,是字符串常量的定界符。一对英文双引号,是字

15、符串常量的定界符。n字符串长度可通过方法字符串长度可通过方法length()求出,例如:求出,例如:str.length()为为4n空串,表示为空串,表示为。空串的长度为。空串的长度为0。n把字符串转换为把字符串转换为int型和型和double型例:型例: int i = Integer.parseInt(168); double d = Double.parseDouble(3.14);n把数值转换为字符串的方法是把数值转换为字符串的方法是String.valueOf。例如:。例如: String s = String.valueOf(28.9);/class Example1 public

16、 static void main(String args) String s1=12.3, s2=4;double d1, d2, d3;d1 = Double.parseDouble(s1);d2 = Double.parseDouble(s2);d3 = d1 + d2;System.out.println(String.valueOf(d3);/System.out.println(d3);n程序运行输出结果为:程序运行输出结果为:16.3/nn 表示换行符,反斜杠叫转义符。表示换行符,反斜杠叫转义符。n换行符常用的还有换行符常用的还有 r(回车符)、(回车符)、t(制表符)。(制表符

17、)。n字符串可以包含转义符,例如:字符串可以包含转义符,例如:String str = abcdn123;System.out.println(str);n要输出反斜杠本身,则要使用两个反斜杠要输出反斜杠本身,则要使用两个反斜杠。例如:。例如:System.out.println(d:Java程序程序);n输出结果为:输出结果为:d:Java程序程序 /n二元算术运算符有二元算术运算符有5个:加、减、乘、除、求余:个:加、减、乘、除、求余:n+ - * / %n两个整数相除是整除,结果只取整数(并非四舍五入)。两个整数相除是整除,结果只取整数(并非四舍五入)。n例如:例如:5 / 2,的值为,

18、的值为 2n求余也叫取余、取模,其运算符是求余也叫取余、取模,其运算符是%。例:。例:nint remainder = 5 % 2;ndouble remainder2 = 5 % 1.8;n结果分别为结果分别为1和和1.4。n注意注意:double和和float型数据,除法运算允许除数为零,型数据,除法运算允许除数为零,结果为结果为Infinity(无穷大)。也允许这种类型的零(如(无穷大)。也允许这种类型的零(如0.0)除以零而不出现语法错误,但结果为除以零而不出现语法错误,但结果为NaN(非数字)。(非数字)。 /n当含有字符串操作数,运算符当含有字符串操作数,运算符+将前后操作数的字符

19、串首尾将前后操作数的字符串首尾相接串联在一起。相接串联在一起。 n串接表达式的值是字符串。例如:串接表达式的值是字符串。例如:System.out.println(12 + 34);System.out.println(12 + 34);double x = 4.8;System.out.println(x= + x);n又如:又如: double x = 4.7;double y = 2.4;double xPlusY = x + y;System.out.println(x + + + y + = + xPlusY);n输出结果为:输出结果为:4.7+2.4=7.1/n赋值表达式语法:赋值

20、表达式语法: 变量变量 = 表达式表达式n赋值运算符(赋值号)左边一定是变量,赋值号右边可为各赋值运算符(赋值号)左边一定是变量,赋值号右边可为各种类型的表达式,包括常量,但类型要与左边变量兼容。种类型的表达式,包括常量,但类型要与左边变量兼容。n赋值表达式的值就是左边变量的值。赋值表达式的值就是左边变量的值。n例如:例如:double d;System.out.println(d = 4.7 + 2.4); /值为值为7.1String str = “123” + String.valueOf(d); /值为值为1237.1n在声明变量的同时,可赋初值给变量。语法:在声明变量的同时,可赋初值

21、给变量。语法:数据类型数据类型 变量变量 = 表达式表达式;n注意:赋值号注意:赋值号=不能当成等号。不能当成等号。 n由赋值表达式后面加上英文分号,就构成了赋值语句。由赋值表达式后面加上英文分号,就构成了赋值语句。 /n优先级:不同的运算符具有不同的运算次序。优先级:不同的运算符具有不同的运算次序。n如:先乘除、后加减。如:先乘除、后加减。n可采用圆括号来改变运算符的执行次序。如:可采用圆括号来改变运算符的执行次序。如:a = (b + c) * d n同等优先级的运算符通过结合性控制运算顺序。例:同等优先级的运算符通过结合性控制运算顺序。例:4 / 2 * 6n运算符结合性:从左到右为左结

22、合,运算符结合性:从左到右为左结合, 从右到左为右结合。从右到左为右结合。n一般地,算术、关系等二元运算符是左结合的,而一元、三一般地,算术、关系等二元运算符是左结合的,而一元、三目条件和赋值运算符则是右结合的。目条件和赋值运算符则是右结合的。n赋值运算符的右结合例:赋值运算符的右结合例:int a, b, c, d;a = b = c = d = 18; /相当相当a = (b = (c = (d = 18);/高高低低运算符类别运算符类别运算符运算符1基本() .2一元+ - ! + - new3乘、除、求余* / % 4加减+ - 5移位 6关系和类型检测 = instanceof7相等

23、、不相等= != 8逻辑与、按位与& 9逻辑异或 10逻辑或、按位或| 11条件逻辑与& 12条件逻辑或| 13三目条件运算? : 14赋值= += -= *= /= %= &= |= = = =/n整型、浮点型等变量可进行自增、自减运算,即加整型、浮点型等变量可进行自增、自减运算,即加1、减、减1操作。操作。n运算符运算符+和和-均是一元的,又分前、后自增,前、后自减。如:均是一元的,又分前、后自增,前、后自减。如:+x x+ -x x- n【例例2-2】编程,测试自增自减运算。编程,测试自增自减运算。int a = 2, b;double x = 3.5, y;+a; /a=3-x; /x=2.5System.out.println(a); /3System.out.println(x); /2.5b = a-; /b=3, a=2y = x+; /y=2.5, x=3.5System.out.println(a); /2System.out.println(b); /3System.out.println(x); /3.5System.out.println(y); /2.5/n语句种类与用途:声明变量、调用方法、创建对象、变量赋语句种类与用途:声明变量、调用方法、创建对象、变量赋值(赋值语句)、控制流程(循环语句、分支语句)等。值(赋值语句)、控制流程(循环语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论