版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章计算器
——数据类型与表达式
能力目标:理解数据类型,学会声明和使用变量,学会运用算术运算符和表达式。理解语句,学会使用声明语句、赋值语句和方法调用语句。能运用运算符、表达式和语句编写简单计算器程序。内容介绍2.1任务预览2.2标识符2.3关键字2.4变量2.5基本数据类型2.6字符串及其与数值的转换2.7算术运算符及算术表达式、字符串连接符2.8赋值运算符、赋值表达式及赋值语句2.9运算符的优先级与结合性2.10自增和自减运算符2.11语句与方法2.12本章小结2.13实训2:简易计算器2.1任务预览本章实训程序运行结果:
2.2标识符
标识符:按一定规则定义、命名的符号名称。标识符命名规则:(1)只能使用字母(含汉字)、数字和下划线;(2)必须以字母或下划线开头。例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、数1、变量2、计算面积两种标识符:(1)预定义保留的关键字(2)用户标识符用途:对程序的各个组成元素如变量、方法、类等进行命名标识。2.3关键字abstractelseinterfacestaticbooleanextendslongsuperbreakfalsemainswitchbytefinalnativethiscasefinallynewthrowcatchfloatnullthrowscharforpackagetrueclassifprivatetrycontinueimplementsprotectedvoiddefaultimportpublicwhiledoinstanceofreturndoubleintshortJava关键字描述列表abstract//抽象方法,抽象类的修饰符assert//断言条件是否满足boolean//布尔数据类型break//跳出循环或者label代码段byte//8-bit有符号数据类型case//switch语句的一个条件catch//和try搭配捕捉异常信息char//16-bitUnicode字符数据类型class//定义类const//未使用continue//不执行循环体剩余部分default//switch语句中的默认分支do//循环语句,循环体至少会执行一次double//64-bit双精度浮点数else//if条件不成立时执行的分支enum//枚举类型extends//表示一个类是另一个类的子类final//表示一个值在初始化之后就不能再改变了finally//表示方法不能被重写,或者一个类不能有子类try//语句不管是否发生异常都要执行的语句块float//32-bit单精度浮点数for//for循环语句goto//未使用if//条件语句implements//表示一个类实现了接口import//导入类instanceof//测试一个对象是否是某个类的实例int//32位整型数Java关键字描述列表(续)interface//接口,一种抽象的类型,仅有方法和常量的定义long//64位整型数native//表示方法用非java代码实现new//分配新的类实例package//一系列相关类组成一个包private//表示私有字段,或者方法等,只能从类内部访问protected//表示字段只能通过类或者其子类访问//子类或者在同一个包内的其他类public//表示共有属性或者方法return//方法返回值short//16位数字static//表示在类级别定义,所有实例共享的strictfp//浮点数比较使用严格的规则super//表示基类switch//选择语句synchronized//表示同一时间只能由一个线程访问的代码块this//表示调用当前实例//或者调用另一个构造函数throw//抛出异常throws//定义方法可能抛出的异常transient//修饰不要序列化的字段try//表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码void//标记方法不返回任何值volatile//标记字段可能会被多个线程同时访问,而不做同步while//while循环2.4变量声明变量格式:数据类型变量表;例如:doublex;x=12.3;doublea,b,c;inti=2;doublex=2.1,y,z=3.4;变量要“先声明,后使用”。方法内部的局部变量,要先赋值,再读取。变量属于标识符。建议:(1)以小写字母开头,一般不用下划线。(2)骆驼格式法(3)不要只创建大小写有区别的变量,如x和X等。2.5Java数据类型基本数据类型关键字类型类型说明长度范围boolean布尔型逻辑(布尔)型false和truebyte字节型1字节长度整数8-128到127short短整型2字节长度整数16-32768到32767int整型4字节长度整数32-2147483648到2147483647long长整型8字节长度整数64-9223372036854775808到9223372036854775807float单精度浮点型4字节长度实数32±1.4E-45到±3.4028235E+38double双精度浮点型8字节长度实数64±4.9E-324到±1.7976931348623157E+308char字符型单个字符16'\u0000'到'\uFFFF'基本数据类型间的转换1、boolean类型不能转换成任何其他数据类型。2、强制类型转换:容量大的数据类型转换成容量小的数据类型时,要加上强制转换符,但这样有可能会造成精度降低或者数据溢出,要小心。3、自动类型转换:容量小的数据类型可以自动转换成容量大的数据类型,如byte-short-int-long-float-double。byte、short、int不会互相转换,他们三者在计算时会转换成int类型。基本数据类型间的转换(续)例:inta=257;byteb=(byte)a;在java中,int类型占4个字节,byte占一个字节,故int类型转化为byte类型会出现位丢失情况,即将int的低4位作为byte类型的值。int型变量的值为257,对应的二进制是100000001,后8位是00000001,第一个0表示符号位,表示正数,所以变量b的值为1。【备注:在计算机中,存储数据是通过内存地址来区分不同数据的,内存地址用十六进制数表示。在计算机存储单元中,一个ASCII码值占一个字节(8个二进制位),其中最高位符号位。事实上,计算机内的二进制数值是以补码形式表示的,正数的补码和原码的形式相同,负数的补码是将该数的绝对值的二进制形式,按位取反再加一。】inta=128;byteb=(byte)a;这时b的值是-128。因为变量a对应的二进制是10000000,对应第一位符号位是1,则a是负数,其负数的补码仍是10000000,故b的值是-128。2.6字符串及其与数值的转换字符串类型,用String表示,它不是基本类型。例如:“abcd”、“123”、“张三”。这3个字符串的有效字符个数(字符串长度)分别是4、3和2声明字符串变量str,同时把字符串常量"abcd"赋给str:
Stringstr="abcd";一对英文双引号,是字符串常量的定界符。字符串长度可通过方法length()求出,例如:str.length()为4空串,表示为""。空串的长度为0。把字符串转换为int型和double型例:
inti=Integer.parseInt("168"); doubled=Double.parseDouble("3.14");把数值转换为字符串的方法是String.valueOf。例如:
Strings=String.valueOf(28.9);【例2-1】编程,把字符串转成数值后相加,最后输出结果。classExample1{ publicstaticvoidmain(String[]args){ Strings1="12.3",s2="4"; doubled1,d2,d3; d1=Double.parseDouble(s1); d2=Double.parseDouble(s2); d3=d1+d2; System.out.println(String.valueOf(d3)); //System.out.println(d3); }}程序运行输出结果为:16.3转义符\n表示换行符,反斜杠叫转义符。换行符常用的还有\r(回车符)、\t(制表符)。字符串可以包含转义符,例如:
Stringstr="abcd\n123"; System.out.println(str);要输出反斜杠本身,则要使用两个反斜杠\\。例如:
System.out.println("d:\\Java程序");输出结果为:
d:\Java程序2.7算术运算符及算术表达式、
字符串连接符二元算术运算符有5个:加、减、乘、除、求余:+-*/%两个整数相除是整除,结果只取整数(并非四舍五入)。例如:5/2,的值为2求余也叫取余、取模,其运算符是%。例:
intremainder=5%2; doubleremainder2=5%1.8;结果分别为1和1.4。[注意]:double和float型数据,除法运算允许除数为零,结果为Infinity(无穷大)。也允许这种类型的零(如0.0)除以零而不出现语法错误,但结果为NaN(非数字)。字符串连接运算符+当含有字符串操作数,运算符+将前后操作数的字符串首尾相接串联在一起。串接表达式的值是字符串。例如:
System.out.println("12"+"34"); System.out.println(12+"34"); doublex=4.8; System.out.println("x="+x);又如:
doublex=4.7; doubley=2.4; doublexPlusY=x+y; System.out.println(x+"+"+y+"="+xPlusY);输出结果为:4.7+2.4=7.12.8赋值运算符、
赋值表达式及赋值语句赋值表达式语法:变量=表达式赋值运算符(赋值号)左边一定是变量,赋值号右边可为各种类型的表达式,包括常量,但类型要与左边变量兼容。赋值表达式的值就是左边变量的值。例如:
doubled; System.out.println(d=4.7+2.4);//值为7.1 Stringstr=“123”+String.valueOf(d);//值为"1237.1"在声明变量的同时,可赋初值给变量。语法: 数据类型变量=表达式;注意:赋值号=不能当成等号。由赋值表达式后面加上英文分号,就构成了赋值语句。2.9运算符的优先级与结合性优先级:不同的运算符具有不同的运算次序。如:先乘除、后加减。可采用圆括号来改变运算符的执行次序。如:
a=(b+c)*d同等优先级的运算符通过结合性控制运算顺序。例:
4/2*6运算符结合性:从左到右为左结合,从右到左为右结合。一般地,算术、关系等二元运算符是左结合的,而一元、三目条件和赋值运算符则是右结合的。赋值运算符的右结合例:
inta,b,c,d; a=b=c=d=18;//相当a=(b=(c=(d=18)));Java运算符及其优先级高→低运算符类别运算符1基本()[].2一元+-!~++--new3乘、除、求余*/%4加减+-5移位<<>>>>>6关系和类型检测<><=>=instanceof7相等、不相等==!=8逻辑与、按位与&9逻辑异或^10逻辑或、按位或|11条件逻辑与&&12条件逻辑或||13三目条件运算?:14赋值=+=-=*=/=%=&=|=^=<<=>>=>>>=2.10自增和自减运算符整型、浮点型等变量可进行自增、自减运算,即加1、减1操作。运算符++和--均是一元的,又分前、后自增,前、后自减。如:
++xx++--xx--【例2-2】编程,测试自增自减运算。
inta=2,b; doublex=3.5,y; ++a;//a=3 --x;//x=2.5 System.out.println(a);//3 System.out.println(x);//2.5 b=a--;//b=3,a=2 y=x++;//y=2.5,x=3.5 System.out.println(a);//2 System
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地址租赁协议书范本(2篇)
- 员工怀孕上班协议书
- 双方事故协商协议书(2篇)
- 劳动主体更改协议书(2篇)
- 工程维修维保合同范本
- 二零二四年度国际艺术品拍卖与买卖合同
- 广告投放授权协议
- 架子工劳务分包合同的争议处理地点
- 大数据技术合作合同
- 软件技术外包合同
- 中国佛教文化课件
- 小容量注射剂(聚丙烯安瓿)产品无菌保证措施描述
- 110kV变电站工程电气安装调试监理实施细则
- 七年级英语介词专项练习含答案
- 旅行社计调实务4课件
- 教学单位教学进度跟踪调查表
- 2023年中小学英语学习成绩测试NEAT三级试题
- YY/T 1164-2021人绒毛膜促性腺激素(HCG)检测试剂盒(胶体金免疫层析法)
- Python深度学习实战-基于Pytorch全书电子讲义完整版ppt整套教学课件最全教学教程
- GB/T 818-2000十字槽盘头螺钉
- 2023年黑龙江建筑职业技术学院高职单招(语文)试题库含答案解析
评论
0/150
提交评论