《Java语言程序设计》新版实验指导书Word文档下载推荐.docx
《《Java语言程序设计》新版实验指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计》新版实验指导书Word文档下载推荐.docx(58页珍藏版)》请在冰豆网上搜索。
3.在环境变量中设置JDK开发环境的命令路径和类库路径,具体方法如下:
我的电脑->
属性->
高级->
环境变量->
系统变量中添加以下环境变量(假定你的j2sdk
安装在C:
\ProgramFiles\Java\jdk1.5.0):
环境变量配置
为验证环境变更是否配置成功,“开始”->
“运行”输入“cmd”,在命令提示符下输入java,如果出现如下图所示内容,则先注销系统,再进行测试。
环境变量配置不成功的状态
环境变量配置成功的状态
4、下面我们来进行Java程序的编译:
打开Eclipse,选择文件—>
新建—>
项目—>
Java项目,填写项目名—>
完成
右键点击新建好的项目名—>
类,填写类的名称
新建项目
新建类
在类中编写程序代码
5、编译“HelloWorld”程序代码;
publicclassHelloworld{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODO自动生成方法存根
System.out.println("
HelloWord!
"
);
System.out.println("
我将成为优秀的Java程序员!
}
}
6、运行程序,查看结果。
7、在CMD中编译运行;
(1)编译程序:
“开始”->
“运行”输入“cmd”
将当前路径切换到C:
\myjava:
输入命令“cdC:
\myjava”
编译HelloWorld.java:
输入命令“javacHelloWorld.java”
如果正常编译通过,则在对应的文件夹下C:
\myjava下生成了一个HelloWorld.class
文件:
(2)运行程序:
输入命令:
“javaHelloworld”
8、编写实验内容代码;
使用选择语句
(1)使用if...else语句
程序功能:
使用if...else语句构造多分支,判断某一年是否为闰年。
闰年的条件是符合下面二者之一:
能被4整除,但不能被100整除;
能被4整除,又能被100整除。
编写源程序文件,步骤如下:
程序代码如下:
publicclassXuanzejiegou{
booleanleap;
intyear=2005;
if((year%4==0&
&
year%100!
=0)||(year%400==0))//方法1
System.out.println(year+"
年是闰年"
else
年不是闰年"
year=2008;
//方法2
if(year%4!
=0)leap=false;
elseif(year%100!
=0)leap=true;
elseif(year%400!
elseleap=true;
if(leap==true)
elseSystem.out.println(year+"
year=2050;
//方法3
if(year%4==0){
if(year%100==0){
if(year%400==0)leap=true;
elseleap=false;
}
if(leap==true)System.out.println(year+"
elseSystem.out.println(year+"
编译运行程序,其结果如图所示:
思考:
本程序中有几个选择语句,哪些具有嵌套关系?
(2)使用switch语句
在不同温度时显示不同的解释说明。
程序源代码如下。
publicclassSwitch{
intc=38;
switch(c<
10?
1:
c<
25?
2:
35?
3:
4){
case1:
"
+c+"
℃有点冷。
要多穿衣服。
case2:
℃正合适。
出去玩吧。
case3:
℃有点热。
default:
℃太热了!
开空调。
}
编译运行程序,其结果如图所示。
(3)使用循环语句
for循环语句练习
按5度的增量打印出一个从摄氏温度到华氏温度的转换表。
程序源代码如下:
publicclassForxunhuan{
inth,c;
摄氏温度华氏温度"
for(c=0;
c<
=40;
c+=5){
h=c*9/5+32;
+h);
编译并运行程序,其结果如图所示:
(4)while循环语句练习
分别利用while与do-while实现以上步骤1的要求。
2、在CMD中编译运行;
“javaHelloWorld”
(3)参照以上运行Helloworld的运行方法,分别在CMD中运行选择、顺序、循环结构的程序,并截图附在实验报告中。
8、检查分析实验结果。
七、思考题
1、为什么需要设置Java环境变量?
2、综合运行循环、顺序和选择三种程序控制结构,完成更为复杂的程序。
八、实验报告
见学校的实验报告书内容。
九、其它说明
实验二:
类的使用
1、实验目的
建立基于实际问题的类,熟练掌握面向对象程序设计,类是面向对象设计中的一个重要概念,通过创建一个类和对象,了解类与对象的关系,并且掌握Java的继承机制和多态的方法。
完成实验指导书中第三章的实验内容
从面向对象程序设计的方法出发,从类的构造、域、成员方法和构造方法的定义,对象的创建,方法的调用,接口的特点和实现,类的继承和方法的多态几个角度,熟练掌握使用Java进行面向对象程序设计的主要方法和实现过程。
1.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。
(1)新建项目,命名为class
新建一个类,命名为Inheritance
publicclassInheritance{
SubClasssubC=newSubClass();
subC.doSomething();
classSuperClass{
intx;
SuperClass(){
x=3;
inSuperClass:
x="
+x);
voiddoSomething(){
inSuperClass.doSomething()"
classSubClassextendsSuperClass{
SubClass(){
super();
//调用父类的构造方法
x=5;
//super()要放在方法中的第一句
inSubClass:
x="
super.doSomething();
//调用父类的方法
inSubClass.doSomething()"
super.x="
+super.x+"
sub.x="
运行结果截图:
2、类的继承和多态,定义一个Person类,要求如下:
(1)定义三个变量,分别是:
姓名(name),字符串类型(String);
性别(sex),字符型(char);
年龄(age),整型(int);
(2)定义setName(StringnewName)方法与getName()方法,设置与获取姓名;
(3)定义writeOutput()方法,输出姓名。
(4)新建一个Java项目,命名为class2,在class2中新建一个类,命名为Person。
在Person类中输入如下代码:
publicclassPerson{
privateStringname;
publicPerson(){
publicPerson(Stringinitialname){
name=initialname;
publicvoidsetName(StringnewName){
name=newName;
publicStringgetName(){
returnname;
publicvoidwriteOutput(){
Name:
+name);
(5)在class2中新建一个Java类,命名为Student,从Person类派生新类Student,并增加如下内容:
(1)新增一个String类型的private实例变量stuNumber;
(2)增加方法getStuNumber()与setStuNumber(Stringname);
(3)重载方法writeOutput(),输出学号与姓名信息。
在Student类中输入如下代码:
publicclassStudentextendsPerson{
StringstuNumber;
//新增变量
publicStudent(){
super();
/*为什么?
不用有什么影响*/
stuNumber="
0"
;
publicStudent(StringinitalName,StringinitialstuNumber){
super(initalName);
stuNumber=initialstuNumber;
publicStringgetStuNumber(){
returnstuNumber;
publicvoidsetStuNumber(StringnewStuNumber){
stuNumber=newStuNumber;
publicvoidwriteOutput(){//重载superclass中的方法
+getName());
StudentNumber:
+getStuNumber());
(6)编写测试程序Java4_1.java对所编写的Student类进行测试,在class2中新建一个Java类,命名为Java4_1。
在Java4_1类中输入如下代码:
publicclassJava4_1{
publicstaticvoidmain(Stringargs[]){
Personp=newPerson();
Students=newStudent();
p.setName("
李四"
s.setName("
张三"
s.setStuNumber("
2220083210000999"
p.writeOutput();
/**/
s.writeOutput();
(7)分析继承的特点,以及重载如何实现,多态怎样表现出来的?
3、接口的特点和实现,编写一个接口myInterface。
(1)新建Java项目,命名为myInterface,在myInterface项目中新建一个接口,命名为myInterface。
在myInterface接口中输入如下代码:
interfacemyInterface{
inti=4;
intk=5;
voidmyFunc1();
intmyFunc2(intx);
(2)新建Java类,命名为Java4_2。
在Java4_2类中输入如下代码:
publicclassJava4_2implementsmyInterface{
intj;
publicvoidmyFunc1()
{
//在使用接口的类中一定要实现接口中的所有抽象方法
System.out.println("
myFunc1="
+i);
publicintmyFunc2(inti)
func2="
returni;
publicstaticvoidmain(Stringsrgs[]){
Java4_2x=newJava4_2();
x.myFunc1();
x.myFunc2(k);
(3)运行结果截图(分析为什么会得到这样的结果?
):
3、在CMD中编译运行;
(1)运行CMD,在CMD中敲入如图所示代码,在所用电脑的Java工作路径上实现如图所示代码。
4、检查分析实验结果。
在Java中如何实现多重继承以及多态。
实验三:
简单计算器的Java实现
建立一个简单计算器的Java程序,进一步掌握面向对象程序设计方法,加深了解类这个面向对象程序设计中的重要概念。
设计简单计算器所需的功能,构建计算器操作界面,实现简单计算器的编写。
该实验以学生自主训练为主的开放模式组织教学
1、编写实验内容代码;
(1)新建Java项目,命名为Calculator:
(2)在Calculator项目下新建两个包,命名为Client和UI,Client包里面存放的是主函数,UI包里面放的是界面文件和控制器:
(3)在UI包里面新建一个类文件CalculatorFrame,编写的是界面代码:
在CalculatorFrame类中输入如下代码:
代码见附件一。
(4)在UI包里面新建一个类文件ClientContext,编写的是控制代码:
在ClientContext类中输入如下代码:
packageUI;
importjava.util.ArrayList;
importjava.util.List;
importjavax.swing.JOptionPane;
publicclassClientContext{
privateCalculatorFramecalculatorFrame;
privateDoublefirst=0.0;
privateDoublenext=0.0;
publicvoidsetCalculatorFrame(CalculatorFramecalculatorFrame){
this.calculatorFrame=calculatorFrame;
doublesum=0;
publicvoidsetNumber(Stringstr){
calculatorFrame.setShow(str);
publicvoidsetOpt(Stringopt){
first=calculatorFrame.getShow();
calculatorFrame.setShow("
publicvoidsetAnswer(Stringstr){//按了“=”后,对数据按运算符进行计算
next=calculatorFrame.getShow();
//calculatorFrame.setShow(str);
//switch(str){
//
//}
if(calculatorFrame.getOpt()=="
+"
){
doubleanswer=first+next;
calculatorFrame.setShow(String.valueOf(answer));
}elseif(calculatorFrame.getOpt()=="
-"
doubleanswer=first-next;
*"
doubleanswer=first*next;
/"
if(next==0){
calculatorFrame.setShow("
对不起,除数不能为0"
}else{
doubleanswer=first/next;
calculatorFrame.setShow(String.valueOf(answer));
}
}else{
calculatorFrame.setShow(String.valueOf(calculatorFrame.getShow()));
}
publicvoidsetMc(){
//TODOAuto-generatedmethodstub
first=0.0;
next=0.0;
calculatorFrame.opt=null;
(5)在Client包里面新建一个类文件Main,编写的是主函数:
在Main类中输入如下代码:
package