java从入门到精通三

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

3.1Java主类结构Java语言是面向对象的程序设计语言,Java程序的基本组成单元就是类,类体中又可包括属性与方法两部分,而每一个应用程序都必须包含一个main()方法,含有main()方法的类称之为主类。下面通过程序来介绍Java主类结构。例3.1在Eclipse下依次创建项目item,创建包Number,创建类Frist。在类体中输入如下代码,实现在控制台上输出“你好Java”。程序运行结果如图3.1所示。3.1.1包声明一个Java应用程序是由若干个类组成的。在例3.1中就是一个类名为Frist的类,语句packageNumber为声明该类所在的包,package为包的关键字。3.1.2声明成员变量和局部变量通常将类的属性称之为类的全局变量(成员变量),将方法中的属性称之为局部变量。全局变量声明在类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。在例3.1中s1是成员变量,s2是局部变量。3.1.3编写主方法main()方法是类体中的主方法。该方法从“{”开始,至“}”结束。public、static、void分别是main方法的权限修饰符、静态修饰符、返回值修饰符,Java程序中的main()方法必须声明为publicstaticvoid。String[]args是一个字符串类型的数组,它是main()方法的参数。main()方法是程序开始执行的位置。3.1.4导入API类库在Java语言中可以通过import关键字导入相关的类。在JDK的API中(应用程序接口)提供了130多个包,如java.awt、java.io等。可以通过JDK的API文档来査看这些类。在API文档中主要包括类的继承结构、类的应用、成员变量表、构造方法表等,并对每个变量使用目的作了详细的描述,API文档为程序开发人员不可或缺的工具。注意:Java语言是严格区分大小写的.例如,不能将关键字class等同于Class.3.2基本数据类型在Java中有8种基本数据类型来存储数值、字符和布尔值,如图3.2所示。3.2.1整数类型整数类型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整型常量在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。1十进制。十进制的表现形式大家都很熟悉,如120、0、-127。注意:不能以0作为十进制数的开头(0除外).2八进制。如0123(转换成十进制数为83)、-0123(转换成十进制数为-83).注意:八进制必须以0开头.3十六进制。如:0x25(转换成十进制数为37)、0Xb0le(转换成十进制数为45086)。注意:十六进制必须以0X或0x开头.整型变量根据它在内存中所占大小的不同,可分为byte、short、int和long4种类型。它们具有不同的取值范围,如表3.1所示。下面以int型变量为例讲解整型变量的定义,例3.2定义int型变量,实例代码如下,在定义以上4种类型变量时,要注意变量能够接受的最大与最小值,否则会出现错误。对于long型值,若赋给的值大于int型的最大值或小于int型的最小值,则需要在数字后加L或l,表示该数值为长整数。例如longnum=2147483650L。例3.3在项目中创建类Number,在主方法中创建不同数值型变量,并将这些变量相加,将和输出。程序运行结果如图3.3所示。3.2.2浮点类型浮点类型表示有小数部分的数字。Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double).它们具有不同的取值范围,如表3.2所示。在默认情况下小数都被看作double型,若想使用float型小数,则需要在小数后面添加F或f。可以使用后缀d或D来明确表明这是一个double类型数据。但加不加“d”没有硬性规定,可以加也可以不加。而声明float型变量时如果不加“f”,系统会认为是double类型而出错。下面举例介绍声明浮点类型变量.例3.4定义浮点类型变量,实例代码如下。3.2.3字符类型1.char型字符类型(char)用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,例如‘s’表示一个字符。而“s”则表示一个字符串,虽然其只有一个字符,但由于使用双引号,所以它仍然表示字符串,而不是字符。使用char关键字可定义字符变量,下面举例说明。例3.5声明字符型变量,实例代码如下。由于字符a在Unicode表中的排序位置是97,因此允许将上面的语句写成:同C、C++语言一样,Java语言也可以把字符作为整数对待。由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000—0xffff),所以Java中的字符几乎可以处理所有国家的语言文字。若想得到一个0—65536之间的数所代表的Unicode表中相应位置上的字符,也必须使用char型显式转换。例3.6在项目中创建类Gess,编写如下代码,实现将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置在控制台上输出。运行结果如图3.4所示。2.转义字符转义字符是一种特殊的字符变量。转义字符以反斜线”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”。例如,printf函数的格式串中用到的“\n”就是一个转义字符,意思是“回车换行”。Java中转义字符如表3.3所示。将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。例3.7使用转义字符,实例代码如下。3.2.4布尔类型布尔类型又称逻辑类型,只有两个值true和false,分别代表布尔逻辑中的“真”和“假”》布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。通过关键字boolean定义布尔类型变量。例3.8声明boolean型变量,实例代码如下。+3.3变量与常量在程序执行过程中,其值不能改变的量称为常量,其值能被改变的量称为变量。变量与常量的命名都必须使用合法的标识符。3.3.1标识符和关键字1.标识符标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的保留关键字。下面是合法标识符:下面是非法标识符:在Java语言中标识符中的字母是严格区分大小写的,如good和Good是不同的两个标识符。Java语言使用Unicode标准字符集,最多可以标识65535个字符,因此,Java语言中的字母不仅包括通常的拉丁文字a、b、c等,还包括汉字,日文以及其他许多语言中的文字。2.关键字关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。3.2节介绍的数据类型中提到的int、boolean等都是关键字。Java中的关键字如表3.4所示。3.3.2声明变量变量的使用是程序设计中一个十分重要的环节。为什么要定义变量呢?简单地说,就是要告诉编译器(compiler)这个变量是属于哪一种数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。变量的命名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以是没有賦值,也可以是直接賦给初值。例3.9声明变量,实例代码如下。编写以上程序代码,究竟会产生什么样的作用呢?要了解这个问题,就需要对变量的内存配置有一定的认识。笔者用图解的方式,将上例程序代码在内存中的状况表现出来,如图3.5所示。由图3.5可知,系统的内存可大略分为3个区域,即系统区(OS)、程序区(Program)、数据区(Data)。当程序执行时,程序代码会加载到内存中的程序区,数据暂时存储在数据区中。假设上述两个变量定义在方法体中,则程序加载到程序区中。当执行此行程序代码时,会在数据区配置空间给这两个变量。对于变量的命名并不是任意的,应遵循以下几条规则。变量名必须是一个有效的标识符。变量名不可以使用Java中的关键字。变量名不能重复。应选择有意义的单词作为变量名。说明:在Java语言中允许使用汉字或其他语言文字作为变量名,如“int年龄=21”,在程序运行时并不出现什么错误,但建议读者尽量不要使用这些语言文字作为变量名.3.3.3声明常量在程序运行过程中一直不会改变的量称为常量(constant),通常也被称为“final变量”。常量在整个程序中只能被赋值一次。在为所有对象共享的值时,常量是非常有用的。在Java语言中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。声明常量的标准语法为:常量名通常使用大写字母,但这并不是必须的,很多Java程序员使用大写字母表示常量,常常是为了清楚地表明正在使用常量。例3.10声明常量,实例代码如下。当定义的final变量属于“成员变量”,则必须在定义时就设定它的初值,否则将会有编译错误。从下面的实例中可看出变量与常量的区别。例3.11在项目中创建类Part,在类体中创建变量age与常量PI在主方法中分别将变量与常量赋值,通过输出信息可测试变量与常量的有效范围。运行结果如图3.6所示。3.3.4变量的有效范围由于变量被定义出来后,只是暂存在内存中,等到程序执行到某一个点后,该变量会被释放掉,也就是说变量有它的生命周期。因此变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量则编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。1.成员变量在类体中所定义的变量被称为成员变量。成员变量在整个类中都有效。类的成员变量又可分为两种:静态变量和实例变量。例3.12声明静态变量和实例变量,实例代码如下。其中,x是实例变量,y为静态变量(也称类变量)。如果成员变量的类型前面加上关键字Static,这样的成员变量称为静态变量。静态变量的有效范围可以跨类,甚至可达到整个应用程序之内。对于静态变量,除了能在定义它的类内存取,还能直接以“类名.静态变量”的方式在其他的类内使用。2.局部变量在类的方法体中定义的变量(方法内部定义,“{”与“}”之间的代码中声明的变量)称之为局部变量。局部变量只在当前代码块中有效。在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只有在当前定义的方法内有效,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会销毁。局部变量可与成员变量的名字相同,此时成员变量将被隐藏。即这个成员变量在此方法中暂时失效。变量的有效范围如图3.7所示。例3.13在项目中创建类Val,分别定义名称相同的局部变量与成员变量,当名称相同时成员变量将被隐藏。运行结果如图3.8所示。

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功