已阅读5页,还剩125页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA编程B实验指导书课 程 号:67111326适用专业:通信工程制 定 人:赵建峰教 研 室:信息处理研究室内蒙古科技大学信息工程学院2010年4月前言一、 上机实验目的上机实验是学生扎实掌握Java语言基本概念、基本方法,以及熟练使用Java集成开发环境的唯一手段。通过亲手编程编写Java语言程序,可理解Java语言的基本结构和程序设计方法。同时,学生通过分析实验内容、设计实验方法、解决实验中遇到的问题,可有效提高逻辑思维能力和动手能力。二、 实验基本内容根据教学内容以及专业特点,本实验指导书编写了8个实验。要求学生在课内机时完成指导书中的前六个实验,并根据所学的知识理解Java编程的基本要领。在此基础上课后完成实验指导书中的后两个设计性实验,以此来拓展学生的知识面,增强学生的实际编程能力。实验指导书中的8个实验具体内容如下所示:1、Java 编程基础;2、Java 基本语法;3、面向对象编程;4、系统类库调用;5、常用基础类库;6、图形界面编程;7、网络通信编程;8、J2SE程序设计;9、J2ME程序设计。三、实验任务与时间安排Java编程B是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术进行编程练习。Java编程B上机实验时间为12学时,分为6个课内实验和2个综合实验,其中后两个综合实验之要求独立完成其中一个即可。实验要求一、可读性一个好的程序员必须要有良好的编程习惯,编写的程序应当具备非常好的可读性。这样既方便自己日后的查阅,又可方便团队其他成员的理解。培养良好的编程习惯,应该从以下几方面开始:1、代码的缩进;2、有效使用空格;3、简明的注释;4、意义明确的命名;5、着重表示的常量。二、亲手编写源程序在编写Java 程序过程中,利用一些集成开发环境,可以综合使用Java 的编译器和调试器,同时提高程序的编写效率。比较知名的集成开发环境有:Eclipse、NetBeans、JBuilder、Visual J+等。虽然使用这些开发工具可以加快编程的速度,但在学习Java编程初期,最好通过亲手编写源程序,来更好地理解Java语法和编程思想。三、立即运行程序编写完的源程序要通过上机编译运行,才能检验程序中存在的问题。通过上机实验可以很好地理解一些系统的方法、变量的含义通过运行的结果。同时通过对运行结果的分析,可验证程序的功能是否完善,编程目的是否实现。四、实验报告的提交本课程的前六个实验要求提交电子版实验报告,后两个设计性实验要求提交电子版与纸质版相结合的实验报告。电子版实验报告的要求如下:1、实验报告材料包含于一文件夹中,文件夹以“学号”加“姓名”的形式命名,如“0705119106李永富”;2、此文件夹下包含各次实验项目的文件夹,如“实验1、Java 编程基础”、“实验2、Java 基本语法”;3、在实验项目文件夹下,要求包含两个文件夹和一份Word 2003版的实验报告。其中,两个文件夹分别为“源代码”和“截图”文件夹,用于存放当次实验使用的源代码和实验过程截图(要求有6-10幅,格式为Jpeg)。说明:截图可通过截图抓屏键“Prt Sc”保存在剪贴板里,并复制于画图板中进行编辑。目 录实验环境配置实验一 Java 编程基础实验二 Java 基本语法实验三 面向对象编程实验四 系统类库调用实验五 常用基础类库实验六 图形界面编程实验七 网络通信编程实验八 综合性实验3实验环境配置一、 JDK下载与安装1、下载JDK为了建立基于SDK的java运行环境,需要先下载JDK软件包。JDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。在浏览器中输入进入sun公司官方网站页面,在页面右边“Popular Downloads”栏中可看到最新版的JDK软件包,并下载。2、安装SDK运行下载的“jdk-6u19-windows-i586.exe”软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,demo文件夹中包含开源代码程序实例。3、JDK中主要文件夹和文件安装成功后,“C:Program FilesJavaJDK1.6.19”中文件和子目录结构如下图所示。其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。4、JAVAC.EXE、JAVAC.EXE 和APPLETVIEWER.EXE工具JDK中自带了很多有用的工具,其中常用的有:编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)。其使用方法可参看其相应的帮助信息,帮助信息的调用方法为:在设置好环境变量的电脑中,调出“命令行提示符”,分别键入javac.exe、javac.exe 和appletviewer.exe便可看到每一个命令的使用方法及参数等信息。二、设置环境变量JDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。只有正确设置好Java的环境变量,才能使用这些命令行工具。以Windows XP为例,说明Java环境变量的设置过程。1、安装JDk到其默认目录,例如“C:Program FilesJavajdk1.6.0_19”;2、右击我的电脑属性高级环境变量;3、新建一个环境变量“CLASSPATH”变量值:“.”;4、在系统变量栏中选中变量为“Path”的选项点编辑,在“变量值”的末尾加入“;C:Program FilesJavajdk1.6.0_19bin”。设置完成后,单击“开始”“所有程序”“附件”“命令提示符”打开DOS窗口,在命令行提示符输入“java”或“javac”回车后,如果出现其用法参数提示信息,则安装正确。三、Eclipse下载和安装Eclipse是一个开源的、可扩展的集成开发环境,有着非常强大的功能。在编码、调试、重构、单元测试等方面的表现都非常优秀。Eclipse有代码补足、代码模板的功能,以及对重构、Ant、CVS和JUnit的支持。Eclipse的源代码是开放的,可扩展很多插件,包括大量的开源插件和商业插件。Eclipse的官方网址是:。Eclipse的下载和安装都非常简单,在其主页点击“Download Eclipse”按钮,便可进入Eclipse的下载页面。在下载页面,有适合不同开发者的Eclipse集成开发环境,其中经典Eclipse的版本为3.5.2。点击适合自己的Eclipse,便可进入相应的下载页面,选择合适的下载站点便可实现下载。将下载后的Eclipse解压大合适的文件夹,便完成了Eclipse的安装。四、使用命令行编译和运行java程序使用命令行编译和运行Java程序,首先需要用文本编辑器编写Java源文件。Windows系统自带的记事本,就可以用来编辑Java的源代码。打开记事本,键入要编写的代码。使用记事本编辑源代码将编写好的Java代码保存在对应的项目文件夹中。将编写好的源代码保存为Java文件Java源程序编写后,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成可执行的程序代码。Java源程序都是扩展名为.java的文件。编译时,首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。此时,打开命令提示符,输入“javac D:HelloWorld.java”,编译刚才编写的Java文件。成功编译HelloWorld.java语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。使用java.exe可将编译后的字节码文件Hello.class解释为本地计算机代码。接下来,在命令提示符窗口中,进入java源程序所在路径。键入“java HelloWorld”命令并回车,便可运行刚才编译好的程序。五、使用Eclipse编译和运行Java程序将Eclipse下载并安装后,在Eclipse的安装路径下,双击图标便可打开Eclipse集成开发环境。Eclipse在启动后会自动检测系统,并配置相应的参数,同时要求用户设置对应的工作空间。工作空间设置系统开始启动系统启动中系统启动后关闭欢迎后的系统界面Eclipse启动后,便可进行编程。点击文件菜单中的新建项目,会出现许多新建类型。项目新建菜单点击Java项目,输入项目名称“HelloWorld”,系统便会新建一个Java项目。新建项目创建卡点击下一步,会出现新建项目设置选项卡,一般选择默认设置即可。新建项目设置卡点击完成按钮,新项目便会成功创建。项目创建后的系统但此时新项目中不包含任何文件,需要编写相应的程序文件,才能完成整个项目。点击系统文件菜单的新建按钮,会出现许多新建类型。系统新建菜单此时,点击文件按钮,输入要创建的文件名。新建文件创建卡点击完成按钮后,系统会自动打开该文件,供用户编写程序。新建文件编辑窗键入要编写的代码,并保存。文件编写并保存接下来将鼠标放于刚才创建的“HelloWorld”项目上,点击右键选择运行类型,会出现一个项目运行类型选择菜单。项目运行选择菜单点击第二项Java应用程序,程序便会运行。程序运行图JAVA规范设计类和方法=创建具有很强内聚力的类方法的重要性往往比类的重要性更容易理解,方法是指执行一个统一函数的一段代码。类常被错误的视为是一个仅仅用于存放方法的容器。有些开发人员甚至把这种思路作了进一步的发挥,将他们的所有方法放入单个类之中。之所以不能正确的认识类的功能,原因之一是类的实现实际上并不影响程序的执行。当一个工程被编译时,如果所有方法都放在单个类中或者放在几十个类中,这没有任何关系。虽然类的数量对代码的执行并无太大的影响,但是当创建便于调试和维护的代码时,类的数量有时会带来很大的影响。类应该用来将相关的方法组织在一起。当类包含一组紧密关联的方法时,该类可以说具有强大的内聚力。当类包含许多互不相关的方法时,该类便具有较弱的内聚力。应该努力创建内聚力比较强的类。 大多数工程都包含许多并不十分适合与其他方法组合在一起的方法。在这种情况下,可以为这些不合群的方法创建一个综合性收容类。创建类时,应知道“模块化”这个术语的含义是什么。类的基本目的是创建相当独立的程序单元。创建松散连接和高度专用的方法1) 所有方法都执行专门的任务 每个方法都应执行一项特定的任务,它应出色的完成这项任务。应避免创建执行许多不同任务的方法。创建专用方法有许多好处。首先调试将变得更加容易。 2) 尽量使方法成为自成一体的独立方法 当一个方法依赖于其他方法的调用时,称为与其他方法紧密连接的方法。紧密连接的方法会使调试和修改变得比较困难,因为它牵涉到更多的因素。松散连接的方法优于紧密连接的方法,但你不可能使每个方法都成为独立的方法。若要使方法具备较强的独立性,方法之一是尽量减少类变量。创建方法时,设法将每个方法视为一个黑箱,其他例程不应要求了解该方法的内部工作情况,该方法也不应要求了解它外面的工程情况。这就是为什么你的方法应依靠参数而不应依靠全局变量的原因。3) 创建专用方法时,请考虑下列指导原则:(1) 将复杂进程放入专用方法。如果应用程序使用复杂的数学公式,请考虑将每个公式放入它自己的方法中。这样使用这些公式的其他方法就不包含用于该公式的实际代码。这样也可以更容易发现与公式相关的问题。(2) 将数据输入/输出(I/O)放入专用方法。(3) 将专用方法中可能要修改的代码隔离。如果你知道某个进程经常变更,请将这个多变的代码放入专用方法,以便以后可以更容易的进行修改,并减少无意中给其他进程带来问题的可能性。(4) 将业务规则封装在专用方法中。业务规则常属于要修改的代码类别,应与应用程序的其余部分隔开。其他方法不应知道业务规则,只有要调用的方法才使用这些规则。4) 设计类和方法时,要达到下列目的:1) 创建更加容易调试和维护的方法2) 创建具有强大内聚力的类3) 创建高度专用的方法4) 创建松散连接的方法5) 尽量使方法具有独立性6) 提高方法的扇入性7) 降低方法的扇出性编程原则=为方法和类赋予表义性强的名字为了使代码更加容易理解,最容易的方法之一是为你的方法赋予表义性强的名字。函数名DoIt、GetIt的可读性很难与CalculateSalesTax、 RetrieveUserID相比。由缩写方法名组成的代码很难理解和维护,没有理由再这样做了。给方法正确的命名,可使程序工程的调试和维护工作大大的改观。请认真对待方法命名的工作,不要为了减少键入操作量而降低方法的可理解度。实际应用举例:1) 给方法命名时应大小写字母混合使用。如果句子全使用大写字母,那么阅读起来就非常困难,而大小写字母混合使用的句子,阅读起来就很容易。2) 定义方法名时不要使用缩写。如果你认为应用程序中的某些工程应使用缩写,那么请将这些情况加上注释,并确保每个人在所有时间内都使用这些缩写。决不要在某些方法中对某些单词进行缩写,而在别的方法中却不使用缩写。为每个方法赋予单个退出点创建方法时,始终都应显式地定义它的作用域1) 如果你真的想创建一个公用方法,请向代码阅读者说明这一点。2) 通过为每个方法赋予一个明确定义的作用域,可以减少代码阅读者需要投入的工作量。应确保你为方法赋予最有意义的作用域。如果一个方法只被同一类中的另一个方法调用,那么请将它创建成私有方法。如果该方法是从多个类中的多个方法中调用,请将该说明为公用方法。用参数在方法之间传递数据应尽量避免使用类变量。一般来说,变量的作用域越小越好。为了减少类变量,方法之一是将数据作为参数在不同方法之间传递,而不是让方法共享类变量。1) 为每个参数指定数据类型。2) 始终要对数进行检验,决不要假设你得数据没有问题。程序员常犯的一个错误是在编写方法时假设数据没有问题。在初始编程阶段,当编写调用方法时,这样的假设并无大碍。这时你完全能够知道什么是参数的许可值,并按要求提供这些值。但如果你不对参数的数据进行检验,那么下列情况就会给你带来很大麻烦:另外某个人创建了一个调用方法,但此人不知道允许的值;你在晚些时候添加了新的调用方法,并错误的传递了坏数据。命名约定=变量的定义变量的定义应该遵循匈牙利命名法,它使用3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。包、类及方法命名 1) 包 全部小写。标识符用点号分隔开来。为了使包的名字更易读,Sun 公司建议包名中的标识符用点号来分隔。 Sun 公司的标准 java 分配包用标识符 .java 开头。 全局包的名字用你的机构的 Internet 保留域名开头 。局部包:interface.screens全局包:com.rational.www. interface.screens2) 类,接口类的名字应该使用名词。 每个单词第一个字母应该大写。避免使用单词的缩写,除非它的缩写已经广为人知,如HTTP。Class Hello ;Class HelloWorld ;Interface Apple ;3) 方法第一个单词一般是动词。第一个字母是小些,但是中间单词的第一个字母是大写。如果方法返回一个成员变量的值,方法名一般为get+成员变量名,如若返回的值是bool变量,一般以is作为前缀。 如果方法修改一个成员变量的值,方法名一般为:set + 成员变量名。getName();setName();isFirst();4) 变量第一个字母小写,中间单词的第一个字母大写。不要用_或&作为第一个字母。尽量使用短而且具有意义的单词。单字符的变量名一般只用于生命期非常短暂的变量。i,j,k,m,n一般用于integers;c,d,e一般用于characters。如果变量是集合,则变量名应用复数。命名组件采用匈牙利命名法,所有前缀均应遵循同一个组件名称缩写列表。String myName; int students; int i; int n; char c; btNew; (bt是Button的缩写)5) 常量所有常量名均全部大写,单词间以_隔开。int MAX_NUM;6) 其它开发人员如果遇到上述表格中未列举的类型,请书面通知相关管理人员,由管理人员集中更新列表内容,不得擅自启用未经确定的新变量前缀。MVC规范=MVC是Model,View,Controller的缩写,MVC是Application开发的设计模式,也就是大家所知道的Model2.在MVC的设计模式中,要求在Application开发中你把商业逻辑,界面显示,数据分离。也就是分别在Model,View,Controller实现:数据,控制(商业逻辑)显示(页面显示).在以前或者说传统的Web Application开发方式当中,如Asp,Php,Jsp(Model 1)开发当中我们在Asp(Php,Jsp)中实现一切,如:从数据库中取到我们需要的数据,并根据数据之间的关联和实际的需要按照某种方式把他显示在页面中以及从页面提交的表单中提取数据,根据商业逻辑从数据库查询相关数据,或者把数据写入数据库。也就是说我们在Asp(Php,Jsp)实现一切包括:界面显示,商业逻辑,数据存取。这样带来的后果就是你所写的Asp(Php,Jsp)没有层次,并且Html和Script(JavaScript、JScript,Asp、Php、Jsp源代码)相互嵌套.可维护性差,最要命的是在Web Application通常显示一块是由美工完成的,很多时候也是你先写好Asp、Php、Jsp然后美工进行美化,很有可能你发现经过美工处理完以后你的代码已经面目全非了。你不得不把你的代码重新组织。在MVC模式中这个问题的解决办法是:View中负责显示,View一般从Controller得到已经处理过的数据,然后显示在页面当中,应该说这样在Html中嵌套很少的Script.基本上美工的修改不大会废掉你的劳动成果。MVC模式的好处:1) 各施其职,互不干涉在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。假如业务发生了变化,如在取文章时可能webmaster把一些文章作了无效标志,不能直接把所有文章取出来,只能取出有效的文章,这时业务就发生了改变。再设想一下,如果这个业务逻辑在100个页面中都要用到,那么MVC模式就体现了它的灵活性。我们可以不更改任何JSP,只要更改model层中的相应类中的SQL语句即可。2) 有利于开发中的分工在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。3) 有利于组件的重用分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视力层也可做成通用的操作界面。MVC的具体规范为:分层在MVC的设计模式中,要求在Application开发中你把商业逻辑,界面显示,数据分离。也就是分别在Model,View,Controller实现:数据,控制(商业逻辑)显示(页面显示)。规则1) 用户的所有请求统一由控制器截获2) 控制器根据请求种类,调用不同的业务对象(业务bean),根据业务对象的返回值,来决定该把哪个页面相应给用户3) 在jsp中,不会出现任何业务代码/数据库操作。可以有实例化bean的操作,或者从session、数据bean中取得数据4) 在作为控制器的servlet中不会出现网页内容、业务代码、数据库操作。可以有接受request值、实例化bean、调用bean的方法、页面转移5) 数据bean对应数据库中某张表里的一条记录,这张表中的所有列都应该成为数据bean的私有属性6) 业务bean在Controller(servlet)中实例化7) 数据bean在业务bean或Controller中实例化其它规范 =Java文件样式所有的 Java(*.java) 文件都必须遵守如下的样式规则1) 版权信息版权信息必须在 java 文件的开头,比如:/* Copyright ® 2000 Shanghai XXX Co. Ltd.* All right reserved.*/其他不需要出现在 javadoc 的信息也可以包含在这里。2) Package/Importspackage 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。package .stats;import java.io.*;import java.util.Observable;import hotlava.util.Application;这里 java.io.* 使用来代替InputStream and OutputStream 的。3) Class (1) 类的注释接下来的是类的注释,一般是用来解释类的。/* A class representing a set of packet and byte counters* It is observable to allow it to be watched, but only* reports changes when the current set is complete*/(2) 类定义(3) 类的成员变量接下来是类的成员变量:/* Packet counters*/protected int packets;public 的成员变量必须生成文档(JavaDoc)。proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。 (4) 构造函数接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。 (5) 类方法下面开始写类的方法:/* Set the packet counters* (such as when restoring from a database)*/protected finalvoid setArray(int r1, int r2, int r3, int r4)throws IllegalArgumentException/ Ensure the arrays are of equal size/if (r1.length != r2.length | r1.length != r3.length | r1.length != r4.length)throw new IllegalArgumentException(Arrays must be of the same size);System.arraycopy(r1, 0, r3, 0, r1.length);System.arraycopy(r2, 0, r4, 0, r1.length);数组的命名数组应该总是用下面的方式来命名:byte buffer;而不是:byte buffer;垃圾收集JAVA使用成熟的后台垃圾收集技术来代替引用计数。但是这样会导致一个问题:你必须在使用完对象的实例以后进行清场工作。比如一个prel的程序员可能这么写:FileOutputStream fos = new FileOutputStream(projectFile);project.save(fos, IDE Project File);.除非输出流一出作用域就关闭,非引用计数的程序语言,比如JAVA,是不能自动完成变量的清场工作的。必须象下面一样写:FileOutputStream fos = new FileOutputStream(projectFile);project.save(fos, IDE Project File);fos.close();性能在写代码的时候,从头至尾都应该考虑性能问题。这不是说时间都应该浪费在优化代码上,而是我们时刻应该提醒自己要注意代码的效率。比如:如果没有时间来实现一个高效的算法,那么我们应该在文档中记录下来,以便在以后有空的时候再来实现她。不是所有的人都同意在写代码的时候应该优化性能这个观点的,他们认为性能优化的问题应该在项目的后期再去考虑,也就是在程序的轮廓已经实现了以后。1) 使用 StringBuffer 对象在处理String的时候要尽量使用StringBuffer类,StringBuffer 类是构成String类的基础。String 类将 StringBuffer 类封装了起来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。当我们在构造字符串的时候,我们应该用 StringBuffer 来实现大部分的工作,当工作完成后将StringBuffer对象再转换为需要的 String 对象。比如:如果有一个字符串必须不断地在其后添加许多字符来完成构造,那么我们应该使用StringBuffer对象和她的append()方法。如果我们用String对象代替StringBuffer对象的话,会花费许多不必要的创建和释放对象的CPU时间。2) 避免太多的使用synchronized关键字避免不必要的使用关键字 synchronized,应该在必要的时候再使用她,这是一个避免死锁的好方法。实验一 Java 编程基础开发语言及实现平台或实验环境Windows XP、JDK 1.6与Eclipse 3.5实验目的1、掌握下载Java SDK软件包、Eclipse等软件的方法2、掌握设置Java程序运行环境的方法3、掌握命令行下下编写与运行Java程序的方法4、掌握Eclipse环境中编写与运行Java程序的方法5、了解Java语言的概貌,掌握Java语言的正确书写格式。实验要求1、JDK的下载与安装2、设置环境变量3、使用Eclipse 3.54、编译Java源程序5、运行Java程序6、使用Eclipse编译与运行程序实验内容一、安装和配置Java开发环境1、安装和配置Java开发环境,并记录安装和配置全过程。二、编写和编译Java Application1、编写声明不同数据类型变量的程序文件,源代码如下。public class HelloWorld public static void main(String args) System.out.println(HelloWorld!);2、使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。三、编写和编译Java Applet1、使用命令行工具和Eclipse开发环境分别编译和运行下面的Java Applet。import java.awt.Graphics; import java.applet.Applet; public class HelloWorldApp extends Applet public String s; public void init() s=new String(HelloWorldApp!); public void paint(Graphics g) g.drawString(s,25,25); 2、使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。课后思考1、环境变量path和classpath的作用。2、在Eclipse中如何配置java编译和运行环境实验二 Java基本语法开发语言及实现平台或实验环境Windows XP、JDK 1.6与Eclipse 3.5实验目的1、了解Java的数据类型2、掌握各种变量的声明方式3、理解运算符的优先级4、掌握java基本数据类型。运算符与表达式、数组的使用方法5、理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法实验要求1、编写一个声明java不同数据类型变量的程序2、编写一个使用运算符、表达式、变量的程序3、编写一个使用java数据的程序4、编写表达式语句、复合语句的程序5、编写使用不同选择结构的程序6、编写使用不同循环结构的程序实验内容一、声明不同数据类型的变量1、编写声明不同数据类型变量的程序文件,源代码如下。public class shujuleixing public static void main(String args) byte b = 0x55;short s = 0x55ff;int i = 1000000;long l = 0xffffL;char c = a;float f = 0.23F;double d = 0.7E-3;boolean B = true;String S = 这是字符串类数据类型;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(布尔型变量 B = + B);System.out.println(字符串类对象 S = + S);2、使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。二、使用关系运算符和逻辑运算符1、建立使用关系运算符和逻辑运算符的程序文件,源代码如下。class yunsuanfu public static void main(String args) int a = 25, b = 20, e = 3, f = 0;boolean d = a b;System.out.println(a=25,b=20,e=3,f=0);System.out.println(因为关系表达式 a 5)System.out.println(因为e 非0 且a/e 为8 大于5,所以输出 a/e + a / e);if (f != 0 & a / f 5)System.out.println(a/f = + a / f);elseSystem.out.println(因为f值为0,所以输出 f = + f);2、使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。三、使用数组1建立使用数组的程序,本程序建立了一个长度为5 的1 维数组,一个长度为12 的2 维数组,源代码如下。public class shuzu public static void main(String args) int a = new int5;int arr1 = new int34;a0 = 10;a1 = 10 + a0;a2 = 30;a3 = 40;a4 = a1 + a2;arr100 = 0;arr101 = 1;arr102 = 2;arr110 = 3;arr111 = 4;arr112 = 5;arr120 = 6;arr121 = 7;arr122 = 8;System.out.println(a + 0 + = + a0);System.out.println(a + 1 + = + a1);System.out.println(a + 2 + = + a2);System.out.println(a + 3 + = + a3);System.out.println(a + 4 + = + a4);System.out.println(arr1( + 0 + , + 0 + ) = + arr100);System.out.println(arr1( + 0 + , + 1 + ) = + arr101);System.out.println(arr1( + 0 + , + 2 + ) = + arr102);System.out.println(arr1( + 1 + , + 0 + ) = + arr110);System.out.println(arr1( + 1 + , + 1 + ) = + arr111);System.out.println(arr1( + 1 + , + 2 + ) = + arr112);2、使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。四、使用表达式语句与复合语句1、建立包含表达式语句程序,源代码如下。class biaodashiyuju public static void main(String args) int k, i = 3, j = 4;k = 20 * 8 / 4 + i + j * i;System.out.println(表达式(20*8/4+i+j*i) + k);2、建立包含复合语句程序,源代码如下。class fuheyuju public static void main(String args) int k, i = 3, j = 4;k = i + j;System.out.println(在复合块外的输出 k= + k);float f;f = j + 4.5F;i+;System.out.println(在复合块内的输出 f= + f);System.out.println(在复合块内的输出 k= + k);System.out.println(在复合块外的输出 i= + i);2、使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。五、使用选择语句1、使用if.else 语句(1)程序功能:使用if.else 语句构造多分支,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。(2)编写源程序文件,代码如下。public class xuanzeyuju1 public static void main(String args) boolean leap;int year = 2005;if (year % 4 = 0 & year % 100 != 0) | (year % 400 = 0) / 方法1System.out.println(year + 年是闰年);elseSystem.out.println(year + 年不是闰年);year = 2008; / 方法2if (year % 4 != 0)leap = false;else if (year % 100 != 0)leap = true;else if (year % 400 != 0)leap = false;elseleap = true;if (leap = true)System.out.println(year + 年是闰年);elseSystem.out.println(year + 年不是闰年);year = 2050; / 方法3if (year % 4 = 0) if (year % 100 = 0) if (year % 400 = 0)leap = true;elseleap = false; elseleap = false; elseleap = false;if (leap = true)System.out.println(year + 年是闰年);elseSystem.out.println(year + 年不是闰年);(3)使用命令行工具和Eclipse开发环境分别编译并运行该程序,并记录实验全过程。2、使用switch 语句(1)程序功能:在不同温度时显示不同的解释说明。(2)程序源代码如下。class xuanzeyuju2 public static void main(String args) int c = 38;switch (c 10 ? 1 : c 25 ? 2 : c 35 ? 3 : 4) case 1:System.out.println( + c + 有点冷。要多穿衣服。);case 2:System.out.println( + c + 正合适。出去玩吧。);case 3:System.ou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前教育的想象力培养教育考核试卷
- 制鞋材料市场控股企业研究研究考核试卷
- 南京信息工程大学《无纸动画软件》2021-2022学年第一学期期末试卷
- 白内障的临床表现和治疗
- 木材的气孔结构和通气性能考核试卷
- 信息系统的财务预算与控制方案案例考核试卷
- 《聚光科技连续并购动因及绩效研究》
- 《基于防呆法的残疾人智能轮椅设计研究》
- 2024-2030年中国白金耳棒产业未来发展趋势及投资策略分析报告
- 2024年市场研究专题报告八-肝素药物-摩熵咨询
- 辽宁省大连市金普新区2024-2025学年七年级上学期11月期中英语试题(无答案)
- 区病案质控中心汇报
- 期中测试卷(1-4单元)(试题)2024-2025学年四年级上册数学人教版
- 教育局职业院校教师培训实施方案
- 《万维网服务大揭秘》课件 2024-2025学年人教版新教材初中信息技术七年级全一册
- 2024年新华社招聘应届毕业生及留学回国人员129人历年高频难、易错点500题模拟试题附带答案详解
- 人教版(2024新版)七年级上册英语Unit 5单元测试卷(含答案)
- 美食行业外卖平台配送效率提升方案
- 中国民用航空局信息中心招聘笔试题库2024
- 2025届高考语文一轮复习:文言文概括和分析 课件
- 年产10万套新能源车电池托盘项目可行性研究报告写作模板-申批备案
评论
0/150
提交评论