Java程序设计(chap).ppt

上传人:max****ui 文档编号:11549338 上传时间:2020-04-28 格式:PPT 页数:50 大小:469.81KB
返回 下载 相关 举报
Java程序设计(chap).ppt_第1页
第1页 / 共50页
Java程序设计(chap).ppt_第2页
第2页 / 共50页
Java程序设计(chap).ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
Java程序设计基础,第2章数据类型和运算符,Java语言有着较强的数据处理能力,即它的数据类型和不同类型上的运算定义得较为齐全。Java不支持C、C+中的指针类型、结构体类型和共用体类型。本章主要介绍了Java语言的基本数据类型和运算符。,2.1基本数据类型,Java的基本数据类型可以划分为四大类:整数、浮点数、字符与布尔型。其中整数可以进一步划分为byte、int、short和long四个具体类型,浮点数可以进一步划分为float和double两个具体类型。表2-1给出了各种基本数据类型占用的比特数、取值范围和缺省数值。,2.1基本数据类型,数据类型关键字占用比特数取值范围缺省数值(1)布尔型boolean8true,falsefalse(2)字符型char16u0000uffffu0(3)字节型byte8-2727-10短整型short16-215215-10整型int32-23123110长整型long64-9.2210189.2210180(4)浮点型float323.4E-383.4E+380.0F双精度型double641.7E-3081.7E+3080.0D,2.1.1常量与变量,1)常量Java中的常量值区分为不同的类型,如整型常量123,实型常量1.23,字符常量a,布尔常量true、false以及字符串常量“Thisisaconstantstring.”。与C、C+不同,Java中不能通过#define命令把一个标识符定义为常量,而是用关键字final来实现。(1)关键字final只能为变量赋“一次”值,然后这个值就固定下来,成为真正意义的“常数”。(2)习惯性地将常数名统统大写。,2.1.1常量与变量,例如:publicclassUsesConstantspublicstaticvoidmain(Stringargs)finaldoubleCM_PER_INCH=2.54;doublepaperWidth=8.5;doublepaperHeight=11;System.out.println(Papersizeincentimeter:+paperWidth*CM_PER_INCH+by+paperHeight*CM_PER_INCH);,2.1.1常量与变量,类常数:一个常数适用于某个类内的多个方法。可用关键字staticfinal来设置一个类常数。下面是一个运用了类常数的例子:publicclassUsesConstants2publicstaticfinaldoublePI=3.14;publicstaticvoidmain(Stringargs)doubles;doubler=4;s=PI*r*r;System.out.println(Theareais:+s);,2.1.1常量与变量,2)变量变量的定义包括变量名、变量类型和作用域几个部分。变量的声明格式为:类型变量名1=值1,变量名2=值2.;(1)变量名是一个合法的标识符,它由字母、数字、下划线或美元符“”组成,但打头的必须是字母、下划线或美元符“”,而不可以是数字。(2)Java对变量名区分大小写,且不能为保留字,变量名的长度则基本上没有限制。,2.1.1常量与变量,合法的变量名如:_myName、value-1、dollar等。非法的变量名如:2mail、room#、class(保留字),2.1.2整型数据,1)整型常量与C,C+相同,Java的整常数有三种形式:十进制整数,如123,-456,0。八进制整数,以0开头,如0123表示十进制数83,-011表示十进制数-9。十六进制整数,以0 x或0X开头,如0 x123表示十进制数291,-0X12表示十进制数-18。,2.1.2整型数据,2)整型变量整型变量的类型有byte、short、int、long四种。例:byteb;/指定变量b为byte型shorts;/指定变量s为short型inti;/指定变量i为int型longl;/指定变量l为long型,2.1.3实型数据,1)实型常量与C,C+相同,Java的实常数有两种表示形式:十进制数形式:由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.0。科学计数法形式:如123e4或123E4,其中e或E之前必须有数,且e或E后面的指数必须为整数。实常数在机器中占64位,具有double型的值。对于float型的值,要在数字后加f或F,如12.3F,它在机器中占32位,且表示精度较低。,2.1.3实型数据,2)实型变量实型变量的类型有float和double两种。双精度类型double比单精度类型float具有更高的精度和更大表示范围,大多数应用程序选择的类型都是double。例:floatf;/指定变量f为float型doubled;/指定变量d为double型,2.1.4字符型数据,1)字符常量字符常量是用单引号括起来的一个字符,如a,A。与C、C+不同,Java中的字符型数据是16位无符号型数据,它采用Unicode集,ASCII字符集是Unicode字符集的一个子集,包括Unicode编码方案中的头255个字符。另外,与C、C+相同,Java也提供转义字符,以反斜杠()开头,将其后的字符转变为另外的含义,表2-2给出了Java中的转义字符及其描述。,2.1.4字符型数据,转义字符描述ddd1到3位8进制数据所表示的字符(ddd)uxxxx1到4位16进制数所表示的字符(xxxx)单引号字符”双引号字符反斜杠字符r回车n换行f走纸换页t横向跳格b退格,2.1.4字符型数据,2)字符型变量字符型变量的类型为char,它在机器中占16位,其范围为065535。字符型变量的定义如charc=a;/指定变量c为char型,且赋初值为a与C、C+不同,Java中的字符型数据不能用作整数,因为Java不提供无符号整数类型。但是同样可以把它当作整数数据来操作。,2.1.4字符型数据,2)字符型变量例如:intk=3;charch=1;charresult=(char)(k+ch);/result=4上例中,在加法运算时,字符型变量ch被转化为整数,进行相加,最后把结果又转化为字符型。,2.1.4字符型数据,3)字符串常量与C、C+相同,Java的字符串常量是用双引号(“”)括起来的一串字符,如“Thisisastring.n”,“H”。但不同的是,Java中的字符串常量是作为String类的一个对象来处理,而不是一个数据。,2.1.5布尔型数据,布尔型数据只有两个值,true和false,且它们不对应于任何整数值。例:booleanb=true;/定义b为布尔型变量,且初值为true,2.1.6举例,【例2-1】下例中用到了前面提到的数据类型,并通过屏幕显示它们的值。publicclassSimpleTypespublicstaticvoidmain(Stringargs)byteb=0 x55;shorts=0 x55ff;inti=1000000;longl=0 xfffL;charc=c;floatf=0.23F;doubled=0.7E-3;booleanbool=true;,2.1.6举例,System.out.println(b=+b);System.out.println(s=+s);System.out.println(i=+i);System.out.println(l=+l);System.out.println(c=+c);System.out.println(f=+f);System.out.println(d=+d);System.out.println(bool=+bool);,2.1.6举例,运行该程序的输出结果为:b=85s=22015i=1000000l=4095c=cf=0.23d=7.0E-4bool=true,2.1.7各类数值型数据间的混合运算,1)自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级。转换规则为:(1)(byte或short)opintint(2)(byte或short或int)oplonglong(3)(byte或short或int或long)opfloatfloat(4)(byte或short或int或long或float)opdoubledouble(5)charopintint,2.1.7各类数值型数据间的混合运算,【例2-2】不同类型的数据在混合运算中自动地进行类型转换。publicclassAutoPromotionpublicstaticvoidmain(Stringargs)byteb=10;charc=a;inti=90;longl=555L;floatf=3.5f;doubled=1.234;floatf1=f*b;/float*byte-floatinti1=c+i;/char+int-int,2.1.7各类数值型数据间的混合运算,longl1=l+i1;/long+int-lingdoubled1=f1/i1-d;/float/int-float,float-double-doubleSystem.out.println(f1=+f1);System.out.println(i1=+i1);System.out.println(l1=+l1);System.out.println(d1=+d1);,2.1.7各类数值型数据间的混合运算,运行该程序的输出结果为:f1=35.0i1=187l1=742d1=-1.0468342245989304,2.1.7各类数值型数据间的混合运算,2)强制类型转换当变量不满足自动转换类型时,采用强制类型转换,格式为:(目标类型)变量名例如:inti;byteb=(byte)i;doublex=9.997;intnx=(int)x;这样,变量nx的值就变成了9,2.2运算符,表达式是由变量、常量和各种运算符组成的式子。表达式可以是程序语句的一部分,也可以是一个单独的程序语句。表达式的值就是表达式中的各变量、常量经过运算所得的结果,而这些运算就主要由表达式中的运算符规定。,2.2运算符,运算符指明对操作数所进行的运算。按操作数的数目可分为一元运算符(如+),二元运算符(如+、)和三元运算符(如?:)。按照运算符功能可分为下面几类:(1)算术运算符(+,-,*,/,%,+,-)(2)关系运算符(,=,/a=9intb=a*2;/b=18intc=b/4;/c=4intd=b-c;/d=14inte=-d;/e=-14intf=e%4;/f=-2doubleg=18.4;doubleh=g%4;/h=2.4inti=3;intj=i+;/i=4,j=3,2.2.1算术运算符,intk=+i;/i=5,k=5System.out.println(a=+a);System.out.println(b=+b);System.out.println(c=+c);System.out.println(d=+d);System.out.println(e=+e);System.out.println(f=+f);System.out.println(g=+g);System.out.println(h=+h);System.out.println(i=+i);System.out.println(j=+j);System.out.println(k=+k);,2.2.1算术运算符,运行该程序的输出结果为:a=9b=18c=4d=14e=-14f=-2g=18.4h=2.3999999999999986i=5j=3k=5,2.2.2关系运算符,关系运算符用来比较两个值或表达式的大小,返回布尔类型的值true或false。关系运算符都是二元运算符,Java中的关系运算符共有=、!=、=和y在计算布尔型的变量b的取值时,先计算intk=x=x=ax=xa=x=ax=x左6大小关系运算=左7相等关系运算=!=左8按位与,非简洁与(2)byteb=327678;(3)charcMy%Ch;(4)floatf_MyFloat;2.2请列出Java主要的基本数据类型。分别说出下面这些变量属于什么基本数据类型?(1)intnIntVar;(2)BooleanbTrueOrFalse;(3)doubledDoubleVar;(4)charmyChar;(5)floatf_Number2;(6)long$_IamLong;,思考和练习,2.3分别说出下面这些常量是什么类型的常量?(1)true(2)66(3)042(4)0 x11(5)0L(6)6.428E-5(7)(8)“”2.4算出下列表达式的值,设已知x=5,y=8,f=true:(1)x+y*x+(2)y*x+y(3)xy&f(4)x2(6)y!=+x?x:y2.5书写一个Java语句完成下面的要求:(1)先将整型变量a的值加1,再把它加入到变量sum中。(2)求得x除以y的余数赋值给x。(3)把x和y中较大的数值赋值给z。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!