您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Java上机实验指导书
《Java面向对象技术》实验指导书实验一Java语言运行环境及程序流程控制一、实验目的1.掌握下载JavaSDK软件包、EditPlus编辑软件的方法。2.掌握设置Java程序运行环境的方法。3.掌握编写与运行Java程序的方法。4.了解Java语言的概貌。5.为学习Java语言和进行Java程序的实验做好准备工作。二、实验内容与指导(一)JDK的下载、安装与配置1.进入Oracle官方网站下载javaSE。找到JDK相应版本后,下载安装即可。2、安装JDK。双击即可。3.JDK安装后到安装目录下观察其目录结构。(二)设置环境变量JDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。很多人可能会不习惯,但这是Sun特意采取的策略,为的是把精力更多地投入到Java语言本身而不是花在开发工具上。为了能正确方便的使用JDK,可手工配置一些Windows的环境变量。以WindowsVista为例说明设置过程。在桌面“计算机”图标上单击右键,选择“属性”菜单,将出现系统属性设置界面,如图1-1所示。图1-1在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置界面,如图1-2所示。图1-2(1)新建path环境变量。在“系统变量”框中选择新建,如图1-3所示。图1-3(2)编辑path环境变量值。在path变量值后面添加值:%java_home%\bin如图1-4图1-4(3)新建环境变量“classpath”,其值为:.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar。设置完成后,单击“开始”→“所有程序”→“附件”→“命令提示符”,或在搜索程序和文件中输入命令:cmd,打开DOS窗口,在命令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则安装正确,如图1-5所示。图1-5(三)使用EditPlus要编写Java程序,需要有文本编辑器。可以使用操作系统提供的记事本作为编辑器,最好选择EditPlus编辑软件,它可以使用不同颜色显示Java的关键字和类名,简单好用,同时可以对程序进行编译和运行。1.下载并安装EditPlus编辑软件EditPlus编辑软件的安装方法很简单,安装软件提示要求去做即可。2.编写在屏幕上显示文字“欢迎你学习Java语言!”的文件(Hello.java)。打开EditPlus编辑软件,如图1-6所示,在其右边文本区输入如下代码。publicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println(欢迎你学习Java语言!);}}图1-63.将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。(四)编译Java源程序Java源程序编写后,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成可执行的程序代码。Java源程序都是扩展名为.java的文本文件。编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。1.打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径。2.键入编译命令和要谝译的源程序文件名,javacHello.java按回车键开始执行(注意:文件名H要大写,否则运行会出问题)。如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在目录中看到生成了一个同名字的.class文件“Hello.class”,如图1-7所示。否则,将显示出错信息。图1-7(五)运行Java程序使用Java解释器(java.exe)可将编译后的字节码文件Hello.class解释为本地计算机代码。在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名:javaHello按回车键即开始解释并可看到运行结果,如果看到如图1-8所示结果,表明程序运行成功了,这是一种字符方式的应用程序其结果显示在屏幕。图1-8(六)程序流程控制1、从键盘输入三个整数x,y,z,按照由小到大的顺序输出。2、从键盘输入一个学生所考的计算机课程的分数,并对其成绩进行等级评定。(switch-case语句实现)3、求1!+2!+3!+4!+5!4、打印输入如下图形。********************************图1-9图1-105、猜数字游戏。编写完善下列Java程序,由系统随机产生1-100之间的整数,用户由键盘输入自己的猜测,程序返回提示信息,“猜大了”,“猜小了”,“猜对了”,用户可根据提示再次输入猜测,直到提示信息是“猜对了”。importjava.util.Scanner;importjava.util.Random;//产生随机数的类publicclassGuessNumber{publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);Randomrandom=newRandom();System.out.println(输入1-100之间的整数);intnumber=random.nextInt(100)+1;//random.nextInt(100)产生[0,100)中的随机整数intyourGuess=0;System.out.println(输入你的猜测);yourGuess=reader.nextInt();while([代码1]){if(【代码2】){System.out.println(猜大了,再输入你的猜测;);yourGuess=reader.nextInt();}elseif(【代码3】){System.out.println(猜小了,再输入你的猜测;);yourGuess=reader.nextInt();}}System.out.println(猜对了;);}}实验二数组一、实验目的掌握java中一维数组和二维数组的应用二、实验内容及指导1、用数组求解Fibonacci数列的前20项。2、分别用冒泡法和选择法对8个数从小到大排序。3、编程实现在矩阵(用二维数组表示)中找最大数。4、编程实现输出以下矩阵:对角线元素为1,其余元素为0。实验三java面向对象程序设计—类与对象的创建一、实验目的1、掌握类的定义、对象的创建及类和对象之间的关系2、理解并掌握构造方法的使用二、实验内容(一)创建对象并使用对象1.运行下列程序并观察运行结果,并试述程序中每条语句的作用及程序的功能。classCCircle{doublepi;doubleradius;voidsetCircle(doubler,doublep){pi=p;radius=r;}doublegetRadius(){returnradius;}}publicclassLianXi_1{publicstaticvoidmain(Stringargs[]){CCirclecir1=newCCircle();cir1.setCircle(2.0,3.1416);System.out.println(radius=+cir1.getRadius());}}2、编写一个Java应用程序,包括Tank类(坦克的刻画)与Fight类(子弹发射)。Tank类的数据成员:Speed:double;//坦克的速度bulletAmout:int;//坦克的炮弹数量Tank类的成员方法:speedUp(ints):void;//加速的方法speedDown(intd):void;//减速的方法setBulletAmout(intp):void;//设置坦克炮弹的数量fire():void;//发射在Fight的main方法中用Tank类创建坦克,并用坦克调用方法设置炮弹的数量,显示坦克的加速、减速和发射等行为。Tank.javapublicclassTank{【代码1】//声明double型变量speed,刻画速度【代码2】//声明int型变量bulletAmout,刻画炮弹数量voidspeedUp(ints){【代码3】//将s+speed赋值给speed}voidspeedDown(intd){if(speed-d0)【代码4】//将s+speed赋值给speedelsespeed=0;}voidsetBulletAmount(intm){bulletAmout=m;}intgetBulletAmount(){returnspeed;}doublegetSpeed(){returnspeed;}voidfire(){if(bulletAmount)=1{【代码5】//将bulletAmount-1赋值给bulletAmountSystem.out.println(“打出一发炮弹”);}else{System.out.println(“没有炮弹了,无法开火”);}}}Fight.javapublicclassFight{publicstaticvoidmain(Stringargs[]){Tanktank1,tank2;tank1=newTank();tank2=newTank();tank1.setBulletAmount(10);tank2.setBulletAmount(10);System.out.println(“tank1的炮弹数量:”+tank1.getBulletAmount());System.out.println(“tank2的炮弹数量:”+tank2.getBulletAmount());tank1.speedUp(80);tank2.speedUp(80);System.out.println(“tank1目前的速度:”+tank1.getSpeed());System.out.println(“tank2目前的速度:”+tank2.getSpeed());tank1.speedDown(15);tank2.speedDown(30);System.out.println(“tank1目前的速度:”+tank1.getSpeed());System.out.println(“tank2目前的速度:”+tank2.getSpeed());System.out.println(“tank1开火:”);tank1.fire();System.out.println(“tank2开火);tank2.fire();tank2.fire();System.out.println(“tank1的炮弹数量:”+tank1.getBulletAmount());System.out.println(“tank2的炮弹数量:”+tank2.getBulletAmount());}}3、创建一个矩形类,可以求得矩形的面积和周长(要求:通过构造函数完成初始化操作)4、创建一个加法类,能够实现两个整数的加法及三个整数的加法,并输出123+134及125+456+234的值(要求:通过构造函数完成)【课后练习】1、请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:face描述一张牌的牌面值(如:Ace,Deuce,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King);suit描述一张牌的花色(如:Hearts,Diamonds,Clubs,Spades)。定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值;定义protected访问权限的方法getSuit(),得到扑克牌的花色;定义方法toString(
本文标题:Java上机实验指导书
链接地址:https://www.777doc.com/doc-5316422 .html