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

下载本文档

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

文档简介

第2章计算器

——数据类型与表达式能力目标:理解数据类型,学会声明和使用变量,学会运用算术运算符和表达式。理解语句,学会使用声明语句、赋值语句和方法调用语句。能运用运算符、表达式和语句编写简单计算器程序。2.1任务预览本章实训程序运行结果:

2.2标识符

标识符:按一定规则定义、命名的符号名称。标识符命名规则:(1)只能使用字母(含汉字)、数字和下划线;(2)必须以字母或下划线开头。例如:x、y、strX、strY、_age、studentCourseScore、CalculateArea、stu1、stu2、数1、变量2、计算面积用途:对程序的各个组成元素如变量、方法、类等进行命名标识。标识符(Identifier)保留字(ReservedWord

)2.2、Java语言基本元素程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、…

字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。合法的标识符

identifieruserNameUser_Name_sys_value$change非法的标识符:

2mail room# class1、Java语言基本元素 ——标识符具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reservedword)。

abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinally ifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile1、Java语言基本元素 ——保留字数据和返回值类型:int,void,return……包/类/成员/接口:package,class,interface访问控制:public,private,protected循环及循环控制:if,switch,break例外处理:throw,try,finally保留词(无含义但不能使用):goto,const1、Java语言基本元素 ——保留字:基本分类在Java中,true、false和null都是小写的。区别于C++中大写的TRUE、FALSE和NULL。所有的数据类型所占用的字节数都是固定的,并且和实现无关的,因此在Java中没有sizeof操作符。不必死记这些关键词,当理解每个关键词的含义后,自然就记住了所有的关键词。1、Java语言基本元素 ——保留字:注意事项2、Java数据类型常量(Constant)

变量(Variable)

数据类型(DataType)基本数据类型(PrimaryDataTypes)复合数据类型(CompositeDataTypes)Java中的常量值是用文字串表示的,它区分为不同的类型,如整型常量123,实型常量1.23,字符常量‘a’,布尔常量true、false以及字符串常量"Thisisaconstantstring."。与C、C++不同,Java中不能通过#define命令把一个标识符定义为常量,而是用关键字final来定义,其定义格式为:finalTypevarName=value[,varName[=value]…];finalint

globalAccount=100,nationalAccount=50;finaldoublePI=3.141592、Java数据类型 ——常量程序中的基本存储单元,其定义包括变量名、变量类型和作用域几个部分,定义格式为:TypevarName[=value][{,varName[=value]}];intn=3,n1=4;Java中变量的缺省初值都是确定的:布尔变量的初值为:false整数变量的初值为:0浮点数变量的初值为:0.0引用(复合)变量的初值为:null在方法实现中定义的变量必须显式的初始化。2、Java数据类型 ——变量Javatypesystemprimitivereferencenullcharnumericbooleanclassinterfacearrayintegralfloating-pointbyteshortintlongfloatdouble2、Java数据类型 ——数据类型基本数据类型复合数据类型所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。所有基本类型的关键词都是小写的。数据类型

所占位数

数的范围

char 16 0~65535byte

8

-27~27-1short 16 -215~215-1 int 32 -231~231-1 long 64 -263~263-1 float 32 3.4e-038~3.4e+038double 64 1.7e-308~1.7e+3082、Java数据类型 ——基本数据类型布尔型数据只有两个值true和false,且它们不对应于任何整数值

布尔型变量的定义如:

booleanb=true; 布尔型数据只能参与逻辑关系运算:&&||==!=!示例:booleanb1;booleanb2=true;b=!b2;booleanb=(b1&&b2)!=false;2、Java数据类型 ——基本数据类型:布尔类型(boolean)字符型数据代表16位的Unicode字符字符常量是用单引号括起来的一个字符‘a’‘B’‘\n’‘\u0030’字符型数据的取值范围为0~65535或者说\u0000~\uFFFF\u0000为缺省值示例charc1; \\缺省值为0charc2=‘0’; \\赋初值为字符‘0’charc3=32; \\用整数赋初值为空格2、Java数据类型 ——基本数据类型:字符类型(char)特殊字符的常量表示法:反斜线(Backslash) ‘\\’退格(Backspace) ‘\b’回车(Carriagereturn) ‘\r’进纸符(Formfeed) ‘\f’制表符(Formfeed) ‘\t’换行(Newline) ‘\n’单引号(Singlequote) ‘\’’八进制数(‘\0’~‘\377’) ‘\DDD’Unicode字符 ‘\uHHHH’2、Java数据类型 ——基本数据类型:字符类型(char)整型常量1.十进制整数 如123,-456,02.八进制整数 以0开头,如0123表示十进制数83,-011表示十进制数-9。3.十六进制整数 以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。2、Java数据类型——基本数据类型:整数类型(byte,short,int,long)整型变量

类型为byte、short、int或long,byte在机器中占8位,short占16位,int占32位,long占64位。整型变量的定义如:

intx=123;

//指定变量x为int型,且赋初值为123

byteb=8;shorts=10;longy=123L;longz=123l;

64位长整数以l或L结尾:12l,-343L,

0xfffffffffL1L<<32等于4294967296L1<<32等于0没有以l或L结尾的数字,根据其实际值所属范围,可以被用作byte,short,或int型整数以l或L结尾的数字,无论其实际值所属范围怎样,都被用作long型整数2、Java数据类型 ——基本数据类型:整数类型(byte,short,int,long)示例byteb1; \\缺省值为0byteb2=127; \\赋初值为127shorts1=(short)(b1+b2);\\强制类型转换shorts2=(short)(b1+123)\\强制类型转换intn=b1+b2; \\不需要强制类型转换longl1=2343; \\不需要强制类型转换longl2=4294967296L; \\必须用L或l结尾longl3=65536*63356; \\乘法运算越界,l3为0longl4=65536L*63356; \\l4为4294967296L2、Java数据类型 ——基本数据类型:整数类型(byte,short,int,long)实型常量1.十进制数形式 由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.02.科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。32位浮点数形式:0.23f,1.23E-4f,

.18F2、Java数据类型 ——基本数据类型:浮点数类型,实型(float,double)实型变量类型为float或double,float在机器中占32位,double占64位。实型变量的定义如:doubled1=127.0; \\赋初值为127doubled2=127; \\赋初值为127floatf1=127.0f; \\必须在数字后加f或Ffloatf2=4.0e38f; \\错误!32位浮点数不能超过 \\3.4028234663852886e38floatf3=(float)d1; \\必须强制类型转换2、Java数据类型 ——基本数据类型:浮点数类型,实型(float,double)

publicclassAssign{publicstaticvoidmain(Stringargs[]){intx,y;byteb=6;floatz=1.234f;doublew=1.234;booleanflag=true;charc;c=‘A‘;x=12;y=300;......}}2、Java数据类型 ——基本数据类型:使用举例自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:低----------------------------------------------------->高byte,short,char—>int—>long—>float—>double操作数1类型

操作数2类型

转换后的类型byte、short、char int int byte、short、char、int long long byte、short、char、int、long float float byte、short、char、int、long、float double double2、Java数据类型 ——基本数据类型:数据类型转换数据类型转换必须满足如下规则:不能对boolean类型进行类型转换。不能把对象类型转换成不相关类的对象。在把容量大的类型转换为容量小的类型时必须使用强制类型转换。转换过程中可能导致溢出或损失精度

inti=8;byteb=(byte)i;(byte)255==-1 (byte)0x5634==0x34

浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

(int)23.7==23 (int)-45.89f==-452、Java数据类型 ——基本数据类型:数据类型转换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); }}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.pr

温馨提示

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

评论

0/150

提交评论