ImageVerifierCode 换一换
格式:DOCX , 页数:69 ,大小:297KB ,
资源ID:23547968      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23547968.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java实训3.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java实训3.docx

1、Java实训3Java实训3基本程序设计(维信科技)3.1 变量与数据类型变量是利用声明的方式,将内存中的某个块保留下来以供程序使用。可以声明为块记载的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。本章将就变量及各种数据类型做一个基础性地介绍。数据类型在程序语言的构成要素里,占有相当重要的地位。Java的数据类型可分为原始数据类型与引用数据类型。原始数据类型也称为基本数据类型,它们包括了最基本的boolean、byte、char、short、int、long、float与double等类型。另一种数据类型为引用数据类型,它是以一种特殊的方式指向变量的实体,这种机制类似于C

2、/C+的指针。这类的变量在声明时是不会分配内存的,必须另外进行开辟内存空间的操作,如字符串与数组均属于这种数据类型。3.1.1 变量与常量(维信科技,山西最专业的IT实训) 下面先来看一个简单的实例,好让读者了解Java里变量与常量之间的关系,下面的程序里声明了两种Java经常使用到的变量,分别为整型变量num与字符变量ch。为它们赋值后,再把它们的值分别显示在显示器上:范例:TestJava3_1.java01 /下面的程序声明了两个变量,一个是整型,一个是字符型02 publicclassTestJava3_103 04 publicstaticvoidmain(Stringargs)05

3、 06 intnum=3; /声明一整型变量num,赋值为307 charch=z; /声明一字符变量ch,赋值为z 08 System.out.println(num+是整数!); /输出num的值09 System.out.println(ch+是字符!); /输出ch的值10 11 输出结果:3是整数!z是字符!在TestJava3_1中,声明了两种不同类型的变量num与ch,并分别将常量3与字符“z”赋值给这两个变量,(维信科技,山西最专业的IT实训)最后再将它们显示在显示器上。声明一个变量时,编译程序会在内存里开辟一块足以容纳此变量的内存空间给它。不管变量的值如何改变,都永远使用相同

4、的内存空间。因此,善用变量将会是一种节省内存的方式。常量是不同于变量的一种类型,它的值是固定的,例如整数常量、字符串常量。通常给变量赋值时,会将常量赋值给它,在程序TestJava3_1中,第6行num是整型变量,而3则是常量。此行的作用是声明num为整型变量,并把常量3这个值赋给它。相同的,第7行声明了一个字符变量ch,并将字符常量z赋给它。当然,在程序进行的过程中,可以为变量重新赋值,也可以使用已经声明过的变量。3.1.2 Java的变量类型 在Java中规定了八种基本数据类型变量来存储整数、浮点数、字符和布尔值。如图3-1所示:图3-1 Java的变量类型在这里只是先介绍基本数据类型,引

5、用数据类型会在以后的章节中介绍。3.1.3 基本数据类型 到目前为止,相信读者已经对Java有了一些初步的认识,如果想在程序中使用一个变量,就必须先声明,(维信科技,山西最专业的IT实训)此时编译程序会在未使用的内存空间中寻找一块足够能保存这个变量的空间以供这个变量使用。Java的基本数据类型如表3-1所示。表3-1 Java的基本数据类型数据类型字节表示范围long(长整数)8-92233720368547758089223372036854775807int(整数)4-21474836482147483647short(短整数)2-3276832767byte(位)1-128127char

6、()10255boolean()1布尔值只能使用true或falsefloat()4-3.4E38(-3.41038)3.4E38(3.41038)double()8-1.7E308(-1.710308)1.7E308(1.710308)3.1.3.1 整数类型当数据不带有小数或分数时,即可以声明为整数变量,如3,-147等即为整数。Java中,整数数据类型可以分为long、int、short及byte四种:long为64位,也就是8个字节(bytes),可表示范围为-9223372036854775808到9223372036854775807;int为32位,(维信科技,山西最专业的IT实

7、训)也就是4个字节,表示范围为-2147483648到2147483647;若是数据值的范围在-32768到32767之间时,可以声明为short(短整数)类型;若是数据值更小,在-128到127之间时,可以声明为byte类型以节省内存空间。举例来说,想声明一个短整型变量sum时,可以在程序中做出如下的声明:shortsum; /声明snum为短整型 经过声明之后,Java即会在可使用的内存空间中,寻找一个占有2个字节的块供sum变量使用,同时这个变量的范围只能在-32768到32767之间。3.1.3.1.1 常量的数据类型 有趣的是,Java把整数常量的数据类型均视为int型,因此,如果在

8、程序中使用了超过2147483647这个大小的常量,编译时将发生错误,如下面的范例:范例:TestJava3_2.java01/下面这段程序说明了值的可取范围的问题02publicclassTestJava3_20304publicstaticvoidmain(Stringargs)0506longnum=329852547553;/声明一长整型变量07System.out.println(“num=“+num);0809如果编译上面的程序代码,将会得到下列的错误信息:TestJava3_2.java:5:integernumbertoolarge:329852547553longnum=32

9、9852547553; 这是因为把整数常量看成是int类型,但329852547553这个整数已超出了int类型所能表示的范围,因此虽然把num的类型设为long(维信科技,山西最专业的IT实训),但编译时仍然会发生错误。要解决这个问题,只要在整数常量后面加上一个大写的“L”即可,此举代表该常量是long类型的整数常量。所以只要把第6行的语句改成:06 longnum=329852547553L;即可成功地编译运行。3.1.3.1.2 数据类型的最大值与最小值Java提供了long、int、short及byte四种整数类型的最大值、最小值的代码,以方便设计者使用。最大值的代码是MAX_VALU

10、E,最小值是MIN_VALUE。如果要取用某个类型的最大值或最小值,只要在这些代码之前,加上它们所属的类的全名即可。举例来说,如果程序代码里需要用到长整数的最大值,如图3-2所示的语法表示。图3-2 代码的表示法由上面的语法可知,如果要使用某个类型的代码,则必须先指定该类型所在的类库以及该类型所属的类,但因java.lang这个类库属于常用类库,(维信科技,山西最专业的IT实训)所以默认的Java程序会将它加载,因此在实际的应用上设计者可以将它省略。Java所提供的整数的最大值与最小值的标识符及常量值,可在表3-2中查阅。若是读者现在不懂什么叫类库也没有关系,现在只要会使用它就行了。表3-2整

11、数常量的特殊值代码Longint使用类全名java.lang.Longjava.lang.Integer最大值代码MAX_VALUEMAX_VALUE最大值常量92233720368547758072147483647最小值代码MIN_VALUEMIN_VALUE最小值常量-9223372036854775808-2147483648shortbyte使用类全名java.lang.Shortjava.lang.Byte最大值代码MAX_VALUEMAX_VALUE最大值常量32767127最小值代码MIN_VALUEMIN_VALUE最小值常量-32768-128下面程序是输出Java定义的四

12、种整数类型的常量的最大和最小值,可以将程序与上表做对照、比较。范例:TestJava3_3.java01 /下面这段程序调用了表3-2中的方法,可以得到数据类型的最大值和最小值02 publicclassTestJava3_303 04 publicstaticvoidmain(Stringargs)05 06 longlong_max=java.lang.Long.MAX_VALUE;/得到长整型的最大值07 intint_max=java.lang.Integer.MAX_VALUE;/得到整型的最大值08 shortshort_max=Short.MAX_VALUE; /得到短整型的最大

13、值09 bytebyte_max=Byte.MAX_VALUE; /得到Byte型的最大值1011 System.out.println(LONG的最大值:+long_max);12 System.out.println(INT的最大值:+int_max);13 System.out.println(SHORT的最大值:+short_max);14 System.out.println(BYTE的最大值:+byte_max);15 16 输出结果:LONG的最大值:9223372036854775807INT的最大值:2147483647SHORT的最大值:32767BYTE的最大值:127

14、程序TestJava3_3列出了各种整数类型的最大值,通过它的运行,读者可以了解到Java对于整数的最大值、最小值的规定。(维信科技,山西最专业的IT实训)读者可以自己改写程序,输出一下最小值。3.1.3.1.3 溢出的发生 当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果。在下面的程序范例中,声明了一个整型的数,并把它赋值为整型所可以表示范围的最大值,然后将它分别加1及加2。范例:TestJava3_4.java01 /整数值如果超出了自己所可以表示范围的最大值,会出现溢出02 publicclassTestJav

15、a3_403 04 publicstaticvoidmain(Stringargs)05 06 intx=java.lang.Integer.MAX_VALUE; /得到整型的最大值0708 System.out.println(x=+x);09 System.out.println(x+1=+(x+1);10 System.out.println(x+2=+(x+2);11 12 输出结果:x=2147483647;x+1=-2147483648;x+2=-2147483647当最大值加上1时,结果反而变成表示范围中最小的值;当最大值加上2时,结果变成表示范围中次小的值,这就是数据类型的溢出

16、。读者可以发现,这个情形会出现一个循环,若是想避免这种情况的发生(维信科技,山西最专业的IT实训),在程序中就必须加上数值范围的检查功能,或者使用较大的表示范围的数据类型,如长整型。当声明了一整数i,其表示的范围为-21474836482147483647之间,当i的值设为最大值2147483647,仍在整数的范围内,但是当x加1或加2时,整数x的值反而变成-2147483648和-2147483647,成为可表示范围的最小及次小值。上述的情形就像计数器的内容到最大值时会自动归零一样。而在整数中最小值为-2147483648,所以当整数x的值最大时,加上1就会变成最小值-2147483648,

17、也就是产生了溢出。可以参考图3-3来了解数据类型的溢出问题。图3-3 数据类型的溢出 为了避免int类型的溢出,可以在该表达式中的任一常量后加上大写的“L”,或是在变量前面加上long,作为强制类型的转换。以TestJava3_5为例,在下面的程序中加上防止溢出的处理,为了让读者方便比较,特地保留一个整数的溢出语句。范例:TestJava3_5.java01 /下面的这段程序当整型发生溢出之后,用强制类型进行转换02 publicclassTestJava3_503 04 publicstaticvoidmain(Stringargs)05 06 intx=java.lang.Integer.

18、MAX_VALUE;0608 System.out.println(x=+x);09 System.out.println(x+1=+(x+1);10 System.out.println(x+2=+(x+2L);11 System.out.println(x+3=+(long)x+3);12 13 输出结果:x=2147483647x+1=-2147483648x+2=2147483649x+3=2147483650程序说明:1、第6行声明int类型的整数变量x,并赋值为整数最大值,即2147483647。2、第8行输出x的值,即:2147483647。3、第9行输出x+1的值,此时溢出发生

19、,运行结果变成-2147483648。4、第10行输出x+2的值,为了避免溢出发生,在表达式的常量部分2后加上L,执行结果变成2147483649。5、第11行输出x+3的值,为了避免溢出发生,在表达式的整数部分x之前加上long,执行结果变成2147483650。 由上面的程序可知,处理int类型的溢出,可以利用强制类型转换方式。但是对于long类型的溢出,就没有处理办法了,此时就需要在程序中加上变量值的界限检查,在运行时才不会发生错误。3.1.3.2 字符类型字符类型在内存中占有2个字节,可以用来保存英文字母等字符。计算机处理字符类型时,是把这些字符当成不同的整数来看待(维信科技,山西最专

20、业的IT实训),因此,严格说来,字符类型也算是整数类型的一种。在计算机的世界里,所有的文字、数值都只是一连串的0与1。这些0与1对于设计者来说实在是难以理解,于是就产生了各种方式的编码。它们指定一个数值来代表某个字符,如常用的字符码系统ASCII。虽然各类的编码系统合起来有数百种之多,却没有一种是包含足够的字符、标点符号及常用的专业技术符号。这些编码系统之间可能还会有相互冲突的情形发生,也就是说,不同的编码系统可能会使用相同的数值来表示不同的字符,在数据跨平台的时候就会发生错误。Unicode就是为了避免上述情况的发生而产生的,它为每个字符制订了一个唯一的数值,因此在任何的语言、平台、程序中都

21、可以安心地使用。Java所使用的就是Unicode字符码系统(维信科技,山西最专业的IT实训)。举例来说,Unicode中的小写a是以97来表示,在下面的程序中可以看到,声明字符类型的变量ch1、ch2,分别将变量ch1的值设为97,ch2的值设为字符a,再输出字符变量ch1及ch2的内容。范例:TestJava3_6.java01 /字符类型也可以直接赋给数值,下面的这段程序就是采用这种赋值方式02 publicclassTestJava3_603 04 publicstaticvoidmain(Stringargs)05 06 charch1=97;07 charch2=a;0809 Sy

22、stem.out.println(ch1=+ch1);10 System.out.println(ch2=+ch2);11 12 输出结果:ch1=ach2=a给字符变量在赋值可以使用数值和字符,它们都可以使程序正确地运行。要注意的是,字符要用一对单引号()括起。举例来说,想在程序中输出一个包括双引号的字符串时(维信科技,山西最专业的IT实训),可把字符变量赋值为转义字符,再将它输出来,也就是说,在程序中声明一个字符类型变量ch,然后把ch设置为,再进行输出的操作。或者,也可以直接在要输出的字符串中加入特殊的转义字符。表3-3为常用的转义字符:表3-3常用的转义字符转义字符所代表的意义转义字符

23、所代表的意义f换页反斜线b倒退一格单引号r归位双引号t跳格n换行 以下面的程序为例,将ch赋值为“”(要以单引号()包围),并将字符变量ch输出在显示器上,同时在打印的字符串里直接加入转义字符,读者可自行比较一下两种方式的差异。范例:TestJava3_7.java01 /下面这道程序表明了转义字符的使用方法02 publicclassTestJava3_703 04 publicstaticvoidmain(Stringargs)05 06 charch=;0708 System.out.println(ch+测试转义字符!+ch);09 System.out.println(hellowo

24、rld!);10 11 输出结果:测试转义字符!helloworld! 不管是用变量存放转义字符,或是直接使用转义字符的方式来输出字符串,程序都可以顺利运行。由于使用变量会占用内存资源(维信科技,山西最专业的IT实训),似乎显得有些不妥;当然也可以不必声明字符变量就可以输出转义字符,但如果在程序中加上太多的转移字符,以至于造成混淆而不易阅读时,利用声明字符变量的方式就是一个很好的选择。3.1.3.3 浮点数类型与双精度浮点数类型在日常生活中经常会使用到小数类型的数值,如身高、体重等需要精确的数值时,整数就不能满足程序设计者的要求了。在数学中,这些带有小数点的数值称为实数,在Java里,这种数据

25、类型称为浮点数类型(float),其长度为4个字节,有效范围为-3.41038到3.41038。当浮点数的表示范围不够大的时候,还有一种双精度(double)浮点数可供使用。双精度浮点数类型的长度为8个字节,有效范围为-1.710308到1.710308。浮点数的表示方式,除了指数的形式外,还可用带有小数点的一般形式来表示。举例来说,想声明一个double类型的变量num与一个float类型的变量sum,并同时给sum赋初值3.0,可以在程序中做出如下的声明及设置:doublenum; /声明sum为双精度浮点型变量floatsum=3.0f; /声明sum为浮点型变量,其初值为3.0 声明之

26、后,Java即会在可使用的内存空间中,寻找一个占有8个字节的块供num变量使用,其范围在-1.710308到1.710308之间,寻找另一个占有4个字节的块供sum变量使用,而这个变量的范围只能在-3.41038到3.41038之间。在此例中,sum的初值为3.0。下列为声明与设置float与double类型的变量时应注意的事项:doublenum1=-6.3e64; /声明num1为double,其值为-6.31064doublenum2=-5.34E16; /e也可以用大写的E来取代floatnum3=7.32f; /声明num3为float,并设初值为7.32ffloatnum4=2.4

27、56E67; /错误,因为2.4561067已超过float可表示的范围值得一提的是,使用浮点型数值时,默认的类型是double,在数值后面可加上D或是d,作为double类型的标识(维信科技,山西最专业的IT实训)。在Java中,D或d是可有可无的。在数据后面加上F或是f,则作为float类型的识别。若是没有加上,Java就会将该数据视为double类型,而在编译时就会发生错误,错误提示会告诉设计者可能会失去精确度。下面举一个简单的例子,在下面的程序里,声明一个float类型的变量num,并赋值为3.0,将num*num的运算结构输出到显示器上。范例:TestJava3_8.java01 /

28、下面这道程序说明了浮点数类型的使用方法02 publicclassTestJava3_803 04 publicstaticvoidmain(Stringargs)05 06 floatnum=3.0f;07 System.out.println(num+*+num+=+(num*num);08 09 输出结果:3.0*3.0=9.0Java也提供了浮点数类型的最大值与最小值的代码,其所使用的类全名与所代表的值的范围,可以在表3-4中查阅:表3-4 浮点数常量的特殊值floatdouble使用类全名java.lang.Floatjava.lang.Double最大值MAX_VALUEMAX_V

29、ALUE最大值常量3.4028235E38107976931348623157E308最小值MIN_VALUEMIN_VALUE最小值常量1.4E-454.9E-324 相同的,在类全名中,可以省去类库java.lang,直接取用类名称即可。下面的程序是输出float与double两种浮点数类型的最大与最小值(维信科技,山西最专业的IT实训),读者可以将下面程序的输出结果与上表一一进行比较。范例:TestJava3_9.java01 /下面这道程序用于取得单精度和双精度浮点数类型的最大、最小值02 publicclassTestJava3_903 04 publicstaticvoidmain

30、(Stringargs)05 06 System.out.println(float_max=+java.lang.Float.MAX_VALUE);07 System.out.println(float_min=+java.lang.Float.MIN_VALUE);08 System.out.println(double_max=+java.lang.Double.MAX_VALUE);09 System.out.println(double_min=+java.lang.Double.MIN_VALUE);10 11 输出结果:float_max=3.4028235E38float_min=1.4E-45double_max=1.7976931348623157E308double_min=4.9E-3243.1.3.4 布尔类型 布尔(boolean)类

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1