Java 2实用教程(第三版)实验指导与习题解答

Java 2实用教程(第三版)实验指导与习题解答
Java 2实用教程(第三版)实验指导与习题解答

Java 2实用教程(第三版)实验指导与习题解答

清华大学出版社

(编著耿祥义张跃平)

实验模版代码及答案

建议使用文档结构图

(选择Word菜单→视图→文档结构图)

上机实践1 初识JA V A (4)

实验1一个简单的应用程序 (4)

实验2一个简单的J A V A A PPLET程序 (4)

实验3联合编译 (5)

上机实践2 基本数据类型与控制语句 (6)

实验1输出希腊字母表 (6)

实验2回文数 (7)

实验3猜数字游戏 (9)

上机实践3 类与对象 (10)

实验1三角形、梯形和圆形的类封装 (10)

实验2实例成员与类成员 (13)

实验3使用PACKAGE语句与IMPORT语句 (15)

上机实践4 继承与接口 (17)

实验1继承 (17)

实验2上转型对象 (20)

实验3接口回调 (22)

上机实践5 字符串、时间与数字 (24)

实验1S TRING类的常用方法 (24)

实验2比较日期的大小 (25)

实验3处理大整数 (26)

上机实践6 组件及事件处理 (27)

实验1算术测试 (27)

实验2信号灯 (30)

实验3布局与日历 (32)

上机实践7 组件及事件处理2 (36)

实验1方程求根 (36)

实验2字体对话框 (39)

实验3英语单词拼写训练 (42)

上机实践8 多线程 (46)

实验1汉字打字练习 (46)

实验2旋转的行星 (48)

实验3双线程接力 (52)

上机实践9 输入输出流 (55)

实验1学读汉字 (55)

实验2统计英文单词字 (58)

实验2读取Z IP文件 (62)

上机实践10 JAV A 中的网络编程 (63)

实验1读取服务器端文件 (63)

实验2使用套接字读取服务器端对象 (65)

实验3基于UDP的图像传输 (68)

上机实践11 数据结构 (72)

实验1扫雷小游戏 (72)

实验2排序与查找 (77)

实验3使用T REE S ET排序 (78)

上机实践12 JAV A SWING (80)

实验1JL AYERED P ANE分层窗格 (80)

实验2使用表格显示日历 (81)

实验3多文档界面(MDI) (84)

上机实践1 初识Java

实验1 一个简单的应用程序

1.答案:

【代码1】:System.out.println("你好,很高兴学习Java") ;

【代码2】:System.out.println("We are students") ;

2.模板代码

Hello.java

public class Hello

{

public static void main (String args[ ])

{

【代码1】//命令行窗口输出"你好,很高兴学习Java"

A a=new A();

a.fA();

}

}

class A

{

void fA()

{

【代码2】//命令行窗口输出"We are students"

}

}

实验2 一个简单的Java Applet程序1.答案:

【代码1】:g.drawString("这是一个Java Applet 程序",10,30);

【代码2】:g.drawString("我改变了字体",20,50);

2.模板代码

FirstApplet.java

import java.applet.*;

import java.awt.*;

public class FirstApplet extends Applet

{

public void paint(Graphics g)

{

g.setColor(Color.blue);

【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”

g.setColor(Color.red);

g.setFont(new Font("宋体",Font.BOLD,36));

【代码2】//在Java Applet中绘制一行文字:“我改变了字体”

}

}

实验3 联合编译

1.答案:

【代码1】:System.out.println("你好,只需编译我");

【代码2】:System.out.println("I am A");

【代码3】:System.out.println("I am B");

【代码4】:System.out.println("I am C");

2.模板代码

模板1:Hello.java

public class MainClass

{

public static void main (String args[ ])

{

【代码1】 //命令行窗口输出"你好,只需编译我"

A a=new A();

a.fA();

B b=new B();

b.fB();

}

}

模板2 :A.java

public class A

{

void fA()

{

【代码2】 //命令行窗口输出"I am A"

}

}

模板3 :B.java

public class B

{

void fB()

{

【代码3】 //命令行窗口输出"I am B"

}

}

模板4 :C.java

public class C

{

void fC()

{

【代码4】 //命令行窗口输出"I am C"

}

}

上机实践2 基本数据类型与控制语句实验1 输出希腊字母表

1.答案:

【代码1】:startPosition=(int)cStart;

【代码2】:endPosition=(int)cEnd ;

【代码3】:c=(char)i;

2.模板代码

GreekAlphabet.java

public class GreekAlphabet

{

public static void main (String args[ ])

{

int startPosition=0,endPosition=0;

char cStart='α',cEnd='ω';

【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition

【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition

System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);

System.out.println("希腊字母表:");

for(int i=startPosition;i<=endPosition;i++)

{

char c='\0';

【代码3】//i做char型转换运算,并将结果赋值给c

System.out.print(" "+c);

if((i-startPosition+1)%10==0)

System.out.println("");

}

}

}

实验2 回文数

1.答案:

【代码1】:number<=99999&&number>=1

【代码2】:d5=number/10000;

【代码3】:d4=number%10000/1000;

【代码4】:d3=number%1000/100;

【代码5】:d5!=0

【代码6】:d1==d5&&d2==d4

【代码7】:d4!=0

【代码8】:d1==d4&&d2==d3

【代码9】:d3!=0

【代码10】:d1==d3

2.模板代码

Number.java

import javax.swing.JOptionPane;

public class Number

{

public static void main(String args[])

{

int number=0,d5,d4,d3,d2,d1;

String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");

number=Integer.parseInt(str);

if(【代码1】) //判断number在1至99999之间的条件

{

【代码2】//计算number的最高位(万位)d5

【代码3】//计算number的千位d4

【代码4】//计算number的百位d3

d2=number%100/10;

d1=number%10;

if(【代码5】) //判断number是5位数的条件

{

System.out.println(number+"是5位数");

if(【代码6】) //判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(【代码7】) //判断number是4位数的条件

{

System.out.println(number+"是4位数");

if(【代码8】) //判断number是回文数的条件码

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(【代码9】) //判断number是3位数的条件{

System.out.println(number+"是3位数");

if(【代码10】) //判断number是回文数的条件

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(d2!=0)

{

System.out.println(number+"是2位数");

if(d1==d2)

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

else if(d1!=0)

{

System.out.println(number+"是1位数");

System.out.println(number+"是回文数");

}

}

else

{

System.out.printf("\n%d不在1至99999之间",number);

}

}

}

实验3 猜数字游戏

1.答案:

【代码1】:yourGuess!=realNumber

【代码2】:yourGuess>realNumber

【代码3】:yourGuess

2.模板代码

GuessNumber.java

import javax.swing.JOptionPane;

public class GuessNumber

{

public static void main (String args[ ])

{

System.out.println("给你一个1至100之间的整数,请猜测这个数");

int realNumber=(int)(Math.random()*100)+1;

int yourGuess=0;

String str=JOptionPane.showInputDialog("输入您的猜测:");

yourGuess=Integer.parseInt(str);

while(【代码1】) //循环条件

{

if(【代码2】) //条件代码

{

str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:");

yourGuess=Integer.parseInt(str);

}

else if(【代码3】) //条件代码

{

str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:");

yourGuess=Integer.parseInt(str);

}

}

System.out.println("猜对了!");

}

}

上机实践3 类与对象

实验1 三角形、梯形和圆形的类封装

1.答案:

【代码1】:sideA=a;

sideB=b;

sideC=c;

【代码2】:a+b>c&&a+c>b&&c+b>a

【代码3】:boo=true;

【代码4】:boo=false;

【代码5】:

if(boo)

{

length=sideA+sideB+sideC;

return length;

}

else

{

System.out.println("不是一个三角形,不能计算周长");

return 0;

}

【代码6】:sideA=a;sideB=b;sideC=c;

【代码7】:a+b>c&&a+c>b&&c+b>a

【代码8】:boo=true;

【代码9】:boo=false;

【代码10】:

above=a;

bottom=b;

height=h;

【代码11】:

area=(above+bottom)/2*height;

return area;

【代码12】:radius=r;

【代码13】:return 3.14*radius*radius;

【代码14】:return 3.14*2*radius;

【代码15】:circle=new Circle(10);

【代码16】:trangle=new Trangle(3,4,5);

【代码17】:lader=new Lader(3,4,10);

【代码18】:length=circle.getLength();

【代码19】:area=circle.getArea();

【代码20】:length=trangle.getLength();

【代码21】:area=trangle.getArea();

【代码22】:area=lader.getArea();

【代码23】:trangle.setABC(12,34,1);

【代码24】:area=trangle.getArea();

【代码25】:length=trangle.getLength();

2.模板代码

AreaAndLength.java

class Trangle

{

double sideA,sideB,sideC,area,length;

boolean boo;

public Trangle(double a,double b,double c)

{

【代码1】//参数a,b,c分别赋值给sideA,sideB,sideC

if(【代码2】) //a,b,c构成三角形的条件表达式

{

【代码3】//给boo赋值。

}

else

{

【代码4】//给boo赋值。

}

}

double getLength()

{

【代码5】//方法体,要求计算出length的值并返回}

public double getArea()

{

if(boo)

{

double p=(sideA+sideB+sideC)/2.0;

area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;

return area;

}

{

System.out.println("不是一个三角形,不能计算面积");

return 0;

}

}

public void setABC(double a,double b,double c)

{

【代码6】//参数a,b,c分别赋值给sideA,sideB,sideC

if(【代码7】) //a,b,c构成三角形的条件表达式

{

【代码8】//给boo赋值。

}

else

{

【代码9】//给boo赋值。

}

}

}

class Lader

{

double above,bottom,height,area;

Lader(double a,double b,double h)

{

【代码10】//方法体,将参数a,b,c分别赋值给above,bottom,height }

double getArea()

{

【代码11】//方法体,,要求计算出area返回

}

}

class Circle

{

double radius,area;

Circle(double r)

{

【代码12】//方法体

}

double getArea()

{

【代码13】//方法体,要求计算出area返回

}

double getLength()

【代码14】//getArea方法体的代码,要求计算出length返回

}

void setRadius(double newRadius)

{

radius=newRadius;

}

double getRadius()

{

return radius;

}

}

public class AreaAndLength

{

public static void main(String args[])

{

double length,area;

Circle circle=null;

Trangle trangle;

Lader lader;

【代码15】//创建对象circle

【代码16】//创建对象trangle。

【代码17】//创建对象lader

【代码18】// circle调用方法返回周长并赋值给length

System.out.println("圆的周长:"+length);

【代码19】// circle调用方法返回面积并赋值给area

System.out.println("圆的面积:"+area);

【代码20】// trangle调用方法返回周长并赋值给length

System.out.println("三角形的周长:"+length);

【代码21】// trangle调用方法返回面积并赋值给area

System.out.println("三角形的面积:"+area);

【代码22】// lader调用方法返回面积并赋值给area

System.out.println("梯形的面积:"+area);

【代码23】// trangle调用方法设置三个边,要求将三个边修改为12,34,1。

【代码24】// trangle调用方法返回面积并赋值给area

System.out.println("三角形的面积:"+area);

【代码25】// trangle调用方法返回周长并赋值给length

System.out.println("三角形的周长:"+length);

}

}

实验2 实例成员与类成员

1.答案:

【代码1】:float a;

【代码2】:static float b;

【代码3】:this.a=a;

【代码4】:this.b=b;

【代码5】:A.b=100;

【代码6】:A.inputB();

【代码7】:cat.setA(200);

【代码8】:cat.setB(400);

【代码9】:dog.setA(150);

【代码10】:dog.setB(300);

【代码11】:cat.inputA();

【代码12】:cat.inputB();

【代码13】:dog.inputA();

【代码14】:dog.inputB();

2.模板代码

Example.java

class A

{

【代码1】//声明一个float型实例变量a

【代码2】//声明一个float型类变量b,即static变量b

void setA(float a)

{

【代码3】//将参数a的值赋值给成员变量a

}

void setB(float b)

{

【代码4】//将参数b的值赋值给成员变量b

}

float getA()

{

return a;

}

float getB()

{

return b;

}

void inputA()

{

System.out.println(a);

}

static void inputB()

{

System.out.println(b);

}

}

public class Example

{

public static void main(String args[])

{

【代码5】//通过类名操作类变量b,并赋值100

【代码6】//通过类名调用方法inputB()

A cat=new A();

A dog=new A();

【代码7】//cat象调用方法setA(int a)将cat的成员a的值设置为200

【代码8】//cat调用方法setB(int b)将cat的成员b的值设置为400

【代码9】//dog象调用方法setA(int a)将dog的成员a的值设置为150

【代码10】//dog调用方法setB(int b)将dog的成员b的值设置为300

【代码11】//cat调用inputA()。

【代码12】//cat调用inputB()。

【代码13】//dog调用inputA()。

【代码14】//dog调用inputB()。

}

}

实验3 使用package语句与import语句

1.答案:无

2.模板代码

SquareEquation.java

package tom.jiafei;

public class SquareEquation

{

double a,b,c;

double root1,root2;

boolean boo;

public SquareEquation(double a,double b,double c)

{

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}

public void getRoots()

{

if(boo)

{

System.out.println("是一元2次方程");

double disk=b*b-4*a*c;

if(disk>=0)

{

root1=(-b+Math.sqrt(disk))/(2*a);

root2=(-b-Math.sqrt(disk))/(2*a);

System.out.printf("方程的根:%f,%f\n",root1,root2);

}

else

{

System.out.printf("方程没有实根\n");

}

}

else

{

System.out.println("不是一元2次方程");

}

}

public void setCoefficient(double a,double b,double c)

{

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}

}

SunRise.java

import tom.jiafei.*;

class SunRise

{

public static void main(String args[ ])

{

SquareEquation equation=new SquareEquation(4,5,1);

equation.getRoots();

equation.setCoefficient(-3,4,5);

equation.getRoots();

}

}

上机实践4 继承与接口

实验1 继承

1.答案:

【代码1】:public void speakHello()

{

System.out.println("你好,吃饭了吗?");

}

【代码2】:

public void averageHeight()

{

height=173;

System.out.println("中国人的平均身高:"+height+"厘米");

}

【代码3】:

public void averageWeight()

{

weight=67.34;

System.out.println("中国人的平均体重:"+weight+"公斤");

}

【代码4】:System.out.println("坐如钟,站如松,睡如弓");

【代码5】:

public void speakHello()

{

System.out.println("How do You do");

}

【代码6】:

public void averageHeight()

{

height=188;

System.out.println("Amerian Average height:"+height+" cm");

}

【代码7】:

public void averageWeight()

{

weight=80.23;

System.out.println("Amerian Average weight:"+weight+" kg");

}

【代码8】:System.out.println("直拳、钩拳");

【代码9】:

public void speakHello()

{

System.out.println("您好");

}

【代码10】:

public void averageHeight()

{

height=16;

System.out.println("北京人的平均身高:"+height+"厘米");

}

【代码11】:

public void averageWeight()

{

weight=6;

System.out.println("北京人的平均体重:"+weight+"公斤");

}

【代码12】:System.out.println("京剧术语");

2.模板代码

Example.java

class People

{

protected double weight,height;

public void speakHello()

{

System.out.println("yayawawa");

}

public void averageHeight()

{

height=173;

System.out.println("average height:"+height);

}

public void averageWeight()

{

weight=70;

System.out.println("average weight:"+weight);

}

}

class ChinaPeople extends People

{

【代码1】 //重写public void speakHello()方法,要求输出类似“你好,吃了吗”这样的 //汉语信息

【代码2】 //重写public void averageHeight()方法,要求输出类似

//“中国人的平均身高:168.78厘米”这样的汉语信息

【代码3】 //重写public void averageWeight()方法,

//要求输出类似“中国人的平均体重:65公斤”这样的汉语信息

public void chinaGongfu()

{

【代码4】//输出中国武术的信息,例如:"坐如钟,站如松,睡如弓"等

}

}

class AmericanPeople extends People

{

【代码5】 //重写public void speakHello()方法,要求输出类似

//“How do you do”这样的英语信息。

【代码6】 //重写public void averageHeight()方法

【代码7】 //重写public void averageWeight()方法

public void americanBoxing()

{

【代码8】//输出拳击的信息,例如,“直拳”、“钩拳”等

}

}

class BeijingPeople extends ChinaPeople

{

【代码9】 //重写public void speakHello()方法,要求输出类似“您好”这样的汉语信息【代码10】 //重写public void averageHeight()方法

【代码11】 //重写public void averageWeight()方法

public void beijingOpera()

{

【代码12】//输出京剧的信息

}

}

public class Example

{

public static void main(String args[])

{

ChinaPeople chinaPeople=new ChinaPeople();

AmericanPeople americanPeople=new AmericanPeople();

BeijingPeople beijingPeople=new BeijingPeople();

chinaPeople.speakHello();

americanPeople.speakHello();

beijingPeople.speakHello();

chinaPeople.averageHeight();

americanPeople.averageHeight();

beijingPeople.averageHeight();

chinaPeople.averageWeight();

americanPeople.averageWeight();

beijingPeople.averageWeight();

chinaPeople.chinaGongfu();

americanPeople.americanBoxing();

beijingPeople.beijingOpera() ;

beijingPeople.chinaGongfu();

}

}

实验2 上转型对象

1.答案:

【代码1】:

public double earnings()

{

return 50000.456;

}

【代码2】:

public double earnings()

{

return 12*2300;

}

【代码3】:

public double earnings()

{

return 52*500;

}

【代码4】:

for(int i=0;i

{

salaries=salaries+employee[i].earnings();

}

2.模板代码

Java2实用教程(第5版)习题解答(活动za)

习题解答 习题(第章) 一、问答题 . .需个步骤: 1)用文本编辑器编写源文件。 2)使用编译源文件,得到字节码文件。 3)使用解释器运行程序。 .源文件由若干个类所构成。对于应用程序,必须有一个类含有( [])的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个类。 .:\\\\;.; .和 . .独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题 .。.。 三、阅读程序 .()。()两个字节码,分别是和。()得到“”,得到“: ”,得到“您好,很高兴认识您”习题(第章) 一、问答题 .用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。不是标识符。.关键字就是语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。和不是关键字。个关键字:。 .,,,,,,,。 .常量必须用或为后缀。常量用或为后缀,但允许省略后缀。 .一维数组名。二维数组名。 二、选择题 .。.。.。.。.【代码】【代码】【代码】【代码】。.。 三、阅读或调试程序 .属于操作题,解答略。

.属于操作题,解答略。.属于操作题,解答略。.【代码】:。【代码】:[]。.【代码】:。【代码】:四、编写程序 . { ( []) { (()'你'); (()'我'); (()'他'); } } . { ( [ ]) { 'α''ω'; ( <) (" "); } } 习题(第章) 一、问答题 . .不可以 . . 不是必须的 .结束语句的执行 .可以 二、选择题 .。.。.。 三、阅读程序 .你,苹,甜 .好好 . 四、编程序题 .{

Java2实用教程试题

课程代码:座位号: 新疆大学期末考试 《Java2实用教程》试卷 姓名:王多强 学号:20102006014专业:机械工程及自动化 第一部分选择题(共12分) 一、单项选择题(本大题共4小题,每题只有一个正确答案,答对一题得3分,共12分) 1、下面的代码段中,执行之后i 和j 的值是什么?【C 】 inti=1; intj; j=i++; A 、1,1 B 、1,2 C 、2,1 D 、2,2 2、已知如下的命令执行javaMyTestabc 【C 】 请问哪个语句是正确的? A 、args[0]="MyTestabc" B 、args[0]="MyTest" C 、args[0]="a"

D、args[2]='b' 3、以下哪个方法用于定义线程的执行体?【B】 A、start() B、init() C、run() D、main() 4、下面哪个函数是publicvoidexample(){...}的重载函数【A】 A、publicvoidexample(intm){...} B、publicintexample1(){...} C、publicvoidexample2(){...} D、以上都不对 第二部分非选择题(共88分) 二、名词解释(本大题3小题,每题4分,共12分。) 1、方法重载 答:方法重载就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。 2、构造方法 答:在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门方法即构造方法,它是一种特殊的成员方法。 3、多态 答:多态就是一个方法名可以通过不同参数(参数名,参数个数)来重复使用,表示不同的意思,即一个名字多种功能用法,分为通用的多态和特定的多态两种。

JAVA实验指导书 作业

第Ⅰ部分:实验指导 实验1:Java开发环境J2SE 一、实验目的 (1)学习从网络上下载并安装J2SE开发工具。 (2)学习编写简单的Java Application程序. (3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。 二、实验任务 从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。 三、实验内容 1.安装J2SE开发工具 Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从https://www.360docs.net/doc/2218221012.html,上进行下载。安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。 2.安装J2SE源代码编辑工具Edit Plus 教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java原程序的常用命令的用法。 3.编写并编译、运行一个Java Application程序。 创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。 4.编译并运行下面的Java Application程序,写出运行结果。 1:public class MyClass { 2:private int day; 3:private int month;

4:private int year; 5:public MyClass() { 6:day = 1; 7:month = 1; 8:year = 1900; 9:} 10:public MyClass(int d,int m,int y) { 11:day = d; 12:month = m; 13:year = y; 14:} 15:public void display(){ 16:System.out.println(day + "-" + month + "-" + year); 17:} 18:public static void main(String args[ ]) { 19:MyClass m1 = new MyClass(); 20:MyClass m2 = new MyClass(25,12,2001); 21:m1.display(); 22:m2.display(); 23:} 24:}

Java2实用教程(第5版)最新答案-耿祥义

Java2(第5版)最新答案耿祥义 第1章 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 第2章 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序

《Java程序设计》实验指导书_2015

《Java程序设计》实验指导书 实验一Java开发环境的安装与配置 一、实验目的 1.掌握JDK的安装步骤(有条件的话可以在Unix系统下安装)。 2.理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法(Win XP、 WIN7、WIN8、Linux下的不同设置方法)。 3.熟悉TextPad(或JCreator)编辑环境,编写简单的Application程序,并编 译和解释执行。 4.记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。 二、实验内容 1.下载安装新版本的JDK。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Textpad(或JCreator)环境下编写一个HelloWorld.java程序,在DOS 提示符下编译并执行这个程序。 4.编写一个类A,它位于包a中,保存到A.java中,再编写一个类B,它位于包b中,保存到B.java中。在类B中实例化类A的一个对象。分别编译类A和类B。 5.实验时,在计算机中建立分别如下目录:D:\学号\src和D:\学号\class,分别用来放置Java源文件和编译后的字节吗文件(注:每位同学分别用自己的学号建立目录)。 三、思考题 1.什么是JVM,它的作用是什么? 2. 如何理解PATH和CLASSPATH,如何设置它们。

实验二类的封装、继承、多态 一、实验目的 1.复习、理解OOP的三大特征——封装、继承和多态。 2.学会使用Java编写简单的类。理解类的属性和方法。 3.掌握关键字private, protected, public的作用,掌握静态类,内部类的概念。 4.掌握多态的概念。 二、实验内容 1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求: (1)Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。 (2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D 的平移。 (3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。 (4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。 (5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point3D的对象p3d1,p3d2,打印 出他们之间的距离。 提示:https://www.360docs.net/doc/2218221012.html,ng.Math.sqrt()方法 2.创建一个数组,随机生成Point2D或者Point3D的对象放于其中。最后依次调用数组中每个对象的“打印方法”,显示数组中存储的对象是什么。 提示:https://www.360docs.net/doc/2218221012.html,ng.Math.random()方法或者java.util.Random类 三、思考题 1.什么是类的多态性。

Java2实用教程(第5版)习题解答

习题解答 习题1(第1 章) 一、问答题 1. James Gosling 2.需 3 个步骤: 1)用文本编辑器编写源文件。 2)使用 javac 编译源文件 ,得到字节码文件。 3)使用解释器运行程序。 3 .源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args[]) 的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个 public 类。 4. set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java 和 class 6.java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。 2. D。 三、阅读程序 1. ( a) Person.java。 ( b)两个字节码,分别是 Person.class 和 Xiti.class。 ( c)得到 “ NoSuchMethodError ”,得到“ NoClassDefFoundError: Xiti/class ”,得到“您好,很高兴认识您nice to meet you” 习题2(第2 章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。 false 不是标识符。 2.关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来 用。 true 和 false 不是关键字。 6 个关键字: class implements interface enum extends abstract。 3. boolean, char, byte, short, int, long, float, double。 4. float 常量必须用 F 或 f 为后缀。 double 常量用 D 或 d 为后缀,但允许省略后缀。 5.—维数组名.length。二维数组名.length。 二、选择题 1.C。 2. ADF 。 3. B。 4. BE。 5.【代码2】【代码3】【代码4】【代码5】。 6. B。

Java实验指导书

《Java程序设计》课程实验指导书软件学院网络工程系

实验一 Java开发环境的安装与配置,熟悉Java程序 结构 一、实验目的: 1. 掌握JDK的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法。 3. 熟悉Editplus(或TextPad,JCreator)编辑环境,编写简单的 Application程序和Applet程序,并编译和执行。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 4. 写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示, 并给出解决办法。 四、实验步骤: 1.从https://www.360docs.net/doc/2218221012.html, 上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Editplus(或JCreator ,Textpad)环境下编写一个HelloWorld.jav a程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序) 4.在Editplus(或JCreator ,Textpad)环境下编写一个 HelloWorldApplet.java程序。 (1)在public void paint(Graphics g)方法中调用g.drawString()方法,使

java2实用教程第4版_习题解答

习题解答 习题一(第1章) 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 习题二(第2章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。

java2实用教程试题

第1章Java 语言入门 1-1开发与运行Java程序需要经过哪些主要步骤和过程? 1-2怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗? 1-3Java程序是有什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的? 1-4在运行小应用程序的html文件中可以使用codebase属性制定小应用程序的字节码所驻留的目录。如果不使用codebase属性,小应用程序的字节码文件必须和运行它的html在同一目录中,编写一个小应用程序并将它的字节码存放在某个目录中,比如c:\Boy. 把运行该小应用程序的html文件(注意其中的codebase属性): < applet code=你的小程序的字节码wdith=20 height=30 codebase=c:\boy> 存放在另一个目录中(查阅有关编写网页方面的书籍,会有更 详细的关于怎样在一个网页中嵌入一个小应用程序的讲解)。 第2章标识符、关键字和数据类型 2-1上机运行下列程序,注意观察输出的结果。

public class E { public static void main ( string args [ ] ) { for (int i=20302; i<=20302; i++) { System.out. println (( char ) i ); } } 2-2System.out. println (“你好”);可输出字符串值,也可以使用System.out. println()输出变量或表达式的值,只需使用并置 符号:“+”将变量、表达式或一个常数值与一个字符串并置即 可,如System.out. println(“”+x);System.out. println(“:” +123+“大于”+122)等。上机调试下列程序,注意观察结果,特别注意System.out. print()和System.out. println()的区 别。 public class OutputData { public static void main ( string args [ ] ) { int x=234, y=432 ; System.out. println (“:” +x+“<”+2*x); System.out. print (“我输出结果后不回车“); System.out. println (“我输出结果后自动回车到下一行”); } }

Java2实用教程试题综合

可选试题 判断题 ×1.Java是低级语言 √2.Java是面向对象的程序设计语言 ×3.Java是编译型的计算机语言 √5.Java源程序文件的后缀是.java ×10.一个Java源程序文件中可以有多个public类 √11.一个Java源程序中可以有多个类 ×12.一个Java Applet源程序的主类可以有多个父类 √13.Java应用程序的入口方法是main √14.Java应用程序(Application)的主类中一定要有主方法(main) √16.Java小程序(Applet)的主类的父类必须是类Applet ×17.Java语言中的逻辑变量可以和整型变量相互强制转换 ×18.在程序中可对用final修饰的变量的值进行更改 ×27.双精度数强制转换成单精度数后,其数值精度提高 ×11.方法可以有多个返回值 ×5.重载的方法可以通过它们的返回值类型的不同来区分 √16.定义在方法体中的变量能与定义在方法体外的变量同名 √6.一个对象一定要属于某个类 ×7.构造函数的方法名可由编程人员任意命名 √8.类的构造函数名必须和类名相同 √10.构造函数可以重载 ×11.如果一个类定义中没有定义构造函数,该类就没有构造函数 √12.如果一个类定义中已经定义了构造函数,java不会再给它提供默认的构造函数 ×11.静态属性和静态方法属于类的一个具体对象 √12.static 变量能是private 变量 ×14.static方法能处理非static成员 √15.非static方法能处理static成员 ×16.static方法中能有this引用 ×18.类的私有属性和私有方法能被其子类直接访问 √12.子类的成员变量能与其父类的成员变量同名 ×14.子类可以重新定义从父类继承来的同名方法,并且允许它们有不同类型的返回值 √15.接口支持多继承(extends) √15.一个接口能够继承(extends)多个接口 ×7.抽象类只能做为父类 ×8.可以定义抽象类的对象 √9.抽象方法能被继承 √10.抽象方法只能存在于抽象类或接口中

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { "Hello Java!"); } } ②Java applet程序代码如下: import .*; public class Hello extends { public void paint(Graphics g) { ("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ p ublic static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } " "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ p ublic static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){

java2实用教程(第3版例子代码)

Java 2实用教程(第三版) 清华大学出版社 (编著耿祥义张跃平) 例子源代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图)

第一章Java 语言入门例子1 public class Hello { public static void main (String args[ ]) { System.out.println("你好,很高兴学习Java"); } } 例子2 public class People { int height; String ear; void speak(String s) { System.out.println(s); } } class A { public static void main(String args[]) { People zhubajie; zhubajie=new People(); zhubajie.height=170; zhubajie.ear="两只大耳朵"; System.out.println("身高:"+zhubajie.height); System.out.println(zhubajie.ear); zhubajie.speak("师傅,咱们别去西天了,改去月宫吧"); } } 例子3 import java.applet.*; import java.awt.*; public class Boy extends Applet { public void paint(Graphics g) { g.setColor(Color.red); g.drawString("我一边喝着咖啡,一边学Java呢",5,30); g.setColor(Color.blue);

java实验指导书

实验指导书 (实验报告书写规范) 1.拿到实验报告后,先填写封面: 2012-2013学年第一学期 实验室名称:兰州工业学院计算机一体化教室 课程名称:《Java语言程序设计》 指导教师:杜叔强 学号:(只写后2位) 2.接着填写目录,即实验项目名称 3.下面是每次做实验后应完成的内容: 每一页正文最上边写上实验时间:(例如:2011-9-22)同组者:(这个不用填写)实验题目: 一、实验目的 二、实验环境:JDK 三、实验内容 四、实验结果 说明:实验结果中给出主要代码及运行数据和结果,每次实验报告3-4页 五、实验总结: 4.其他要求 每个实验项目另起一页!!!! 实验报告册使用黄色厚本规格!!!

(学校规定,十个学时以上实验用厚本,十个学时以内用薄本。)

实验一熟悉Java运行环境 一、实验目的 1.熟悉JDK开发环境 2.了解Java Application的程序结构和开发过程 3.了解Java Applet程序的开发过程并编写第一个Java Applet程序 4.学习编写简单的HTML文件配合Java Applet使用 二、实验环境:JDK1.5 三、实验内容 四、实验结果 五、实验总结:

实验二 Java的基本数据类型 一、实验目的 1.熟悉Java的基本数据类型; 2.会准确操作字符型类型,并掌握强制转换的操作; 二、实验环境与地点 1.实验环境: JDK1.6+Ultraedit 2.实验地点: 软件工程系一体化教室 三、实验内容与步骤 1. 定义一个类,类中包含主程序,在主程序中进行如下定义: (1)定义一个常量,名称为MAXVALUE,赋值为1000; (2)定义一个变量,名称为maxValue,赋值为500; 2. System.out.println(“你好”);可输出字符串,也可以使用System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.out.println(“”+x);System.out.println(“:”+123+“大于”+122);等。上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。 public class OutputData { public static void main(String args[]) { int x=234,y=432; System.out.println(x+"<"+(2*x)); System.out.print("我输出结果后不回车"); System.out.println("我输出结果后自动回车到下一行"); System.out.println("x+y= "+(x+y)); System.out.println(" "+x+y+"=234432"); }} 3. 定义一个类,其中包含主程序,在主程序中进行如下操作: (1)输出‘h’+1; (2)输出‘7’+1; 4. 定义一个类,在主程序中加入如下语句: int x = 8; byte b = 127; b = x;

《java2实用教程》(第四版)课后答案 第七章-第八章

Java程序设计第三次作业 第7章习题 4.1程序代码 import java.util.*; public class SUMANDAVERAGE { public static void main(String[] args) { Scanner reader=new Scanner(System.in); double sum=0; int m=0; while(reader.hasNextDouble()){ double x=reader.nextDouble(); assert x>=0&&x<=100:"该数是非法的成绩数据!"; m=m+1; sum=sum+x; } System.out.printf("%d个数的和为%f\n", m,sum); System.out.printf("%d个数的平均值为%f\n",m,sum/m); } } 4.2运行结果 第8章习题 4.1程序代码 package kehou; import java.util.Calendar; import java.util.InputMismatchException; import java.util.Scanner; public class BC8_4 { public static void main(String[] args) { System.out.print("请选择你要完成的功能:\n1,转换字母大小写及连接两个字符串。\n2,得到字符串第一个和最后一个字符。\n3,计算两个时间之间的间隔天数。\n" + "4,使用简单的Math类用法。\n5,剔除字符串中的非数字字符。\n6,解析字符串。\n."); System.out.print("输入数字i(i=1...6;输入0结束!):"); Scanner reader=new Scanner(System.in);

Java2实用教程(第三版)课后习题参考答案

第4章类、对象和接口 1. 类中的实例变量在什么时候会被分配内存空间? 答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗? 答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。 ②构造方法可以重载。 3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可 以操作实例变量吗? 答:①类中的实例方法可以操作类变量。 ②类方法不可以操作实例变量 4. 类中的实例方法可以用类名直接调用吗? 答: 类中的实例方法不可以用类名直接调用。 5. 举例说明protected方法和友好方法的区别。 答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。 6. 举例说明类变量和实例变量的区别。 答:⑴书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。例: class A { int x; //实例变量 static int y; //类变量 } ⑵内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。 不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。 任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。 一个对象的实例变量发生改变,不影响其他对象的相应实例变量。 例: 执行语句: A1.x=10; A1.y=20; 这时A2.x的值也是10;而A2.y的值保持原来的初值。 ⑶使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。 例: class A { int x; static int y; static void func() {

java实验指导书 学生用李伟

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习 实验三、面向对象编程实验(4) 实验四、异常处理实验 实验五、小应用程序实验 实验六、图形图像实验 实验七、GUI(图形用户接口)实验(4) 实验八、多线程实验 实验九、输入输出流实验(4) 实验十、数据库应用实验(4)

实验一、安装JDK并熟悉java的运行环境 一、实验目的 熟悉JA V A的运行环境及学习简单的编程。 二、预习内容 安装工具软件的基本方法。 三、实验设备与环境 装有JA V A语言工具软件(Eclipse )的微机若干 四、实验内容 安装Eclipse及JA V A的核心编译程序J2SDK。 1、打开Eclipse的安装盘安装Eclipse。 2、在相同目录下安装J2SDK。 3、打开Eclipse软件对J2SDK文件进行配置。 4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。 Pulic class Hello { public static void main(String args[]) { //在屏幕上显示“HELLO WORLD”和爱心标志 } } 5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。 实验结果 五、注意事项 ⒈认真填写实验报告 ⒉遵守实验室各项制度,服从实验指导教师的安排 ⒊按规定的时间完成实验 六、说明 本次实验建议学时数2学时 七、实验总结与体会

实验二、基本语法练习 一、实验目的 ⒈熟悉Java的基本语法 ⒉编写应用程序接收命令行参数 ⒊编写应用程序接收用户从键盘的输入 ⒋掌握字符串与数组的基本方法 二、预习内容 java编程的基本结构 三、实验设备与环境 装有JA V A语言工具软件(Eclipse )的微机若干 四、实验内容 ⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。 (1)编辑Average.java。 class Average { public static void main(String args[ ]) { double n,sun=0; for (int l=0;l

Java 2实用教程(第三版)实验指导与习题解答

Java 2实用教程(第三版)实验指导与习题解答 清华大学出版社 (编著耿祥义张跃平) 实验模版代码及答案 建议使用文档结构图 (选择Word菜单→视图→文档结构图)

上机实践1 初识JA V A (4) 实验1一个简单的应用程序 (4) 实验2一个简单的J A V A A PPLET程序 (4) 实验3联合编译 (5) 上机实践2 基本数据类型与控制语句 (6) 实验1输出希腊字母表 (6) 实验2回文数 (7) 实验3猜数字游戏 (9) 上机实践3 类与对象 (10) 实验1三角形、梯形和圆形的类封装 (10) 实验2实例成员与类成员 (13) 实验3使用PACKAGE语句与IMPORT语句 (15) 上机实践4 继承与接口 (17) 实验1继承 (17) 实验2上转型对象 (20) 实验3接口回调 (22) 上机实践5 字符串、时间与数字 (24) 实验1S TRING类的常用方法 (24) 实验2比较日期的大小 (25) 实验3处理大整数 (26) 上机实践6 组件及事件处理 (27) 实验1算术测试 (27) 实验2信号灯 (30) 实验3布局与日历 (32) 上机实践7 组件及事件处理2 (36) 实验1方程求根 (36) 实验2字体对话框 (39) 实验3英语单词拼写训练 (42) 上机实践8 多线程 (46) 实验1汉字打字练习 (46) 实验2旋转的行星 (48) 实验3双线程接力 (52) 上机实践9 输入输出流 (55) 实验1学读汉字 (55) 实验2统计英文单词字 (58) 实验2读取Z IP文件 (62)

上机实践10 JAV A 中的网络编程 (63) 实验1读取服务器端文件 (63) 实验2使用套接字读取服务器端对象 (65) 实验3基于UDP的图像传输 (68) 上机实践11 数据结构 (72) 实验1扫雷小游戏 (72) 实验2排序与查找 (77) 实验3使用T REE S ET排序 (78) 上机实践12 JAV A SWING (80) 实验1JL AYERED P ANE分层窗格 (80) 实验2使用表格显示日历 (81) 实验3多文档界面(MDI) (84)

Java2实用教程课后复习题参考答案

Java2 实用教程(第三版) 课后习题参考答案 第1 章Java 入门 1. 开发与运行Jav a 程序需要经过哪些主要步骤和过程? 答:( 1)编写Java 源文件:使用文本编辑器(Edit 或记事本),拓展名为.java (2)编译Java 源文件:使用Java 编译器(javac.exe)。得到字节码文件*.class (3)运行Java 程序:Java 应用程序使用Java 解释器(java.exe)执行字节码文件; Java 小应用程序使用支持Java 标准的浏览器来执行。 2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public 修饰吗? 答:①应用程序必须有main 方法,这个方法是程序执行的入口。 小应用程序没有main 方法。 ②应用程序的主类不一定用public 修饰;小应用程序的主类必须用public 修饰。 3. Jav a 程序是由什么组成的?一个程序中必须要有public 类吗?Jav a 源文件的命名规则是怎样的?答:①Java 程序由类组成。 ②应用程序可以没有public 类;小应用程序一定有一个类是public 类(主类)。 ③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java; 有多个类时,如果有public 类(最多一个),源文件名与public 类的类 名相同,拓展名是.java;没有public 类,源文件名与任何一个类的类名 相同即可,拓展名为.java。 小应用程序:源文件名与主类的类名相同,拓展名是.java。 4. 在运行小程序的HTM L 文件中可以使用codebas e 属性指定小程序的字节码所驻留的目录。如果不使用 codebas e 属性,小程序的字节码文件必须和运行它的HTM L 文件在同一目录中。编写一个小程序并将小程 序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTM L 文件(注意其中的codebas e 属性): 存放在另一个目录中。 答:以书中小应用程序为例进行说明: ①编写Java 小应用程序源代码 import java.applet.*; import java.awt.*; public class Boy extends Applet {

java实验指导书

实验一熟悉Java程序开发环境 一、实验目的及要求 (1)了解和使用j2sdk1.6.0(JDK)。 (2)熟悉JDK集成环境的基本命令、功能和基本用法,并学会配置PATH等环境变量。 (3)学习并熟练掌握使用JDK环境进行Java程序开发的全过程(包括:源程序的编辑、编译、调试、运行和结果查看)。 二、实验学时 6学时 三、实验任务 (1)安装j2sdk1.6.0,设置环境变量PATH和CLASSPATH。 1)下载JDK 为了建立基于SDK的java运行环境,需要先下载sun的免费SDK软件包。SDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。在浏览器中输入https://www.360docs.net/doc/2218221012.html,进入sun公司官方网站页面。在页面右边“Popular Downloads”栏中可看到最新版的JDK软件包(JDK1.6),并下载。 2)安装SDK 运行下载的“jdk-6u1-windows-i586-p.exe”软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,demo文件夹中包含开源代码程序实例。 3)JDK中主要文件夹和文件 安装成功后,d:\java\jdk1.6中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。 设置环境变量 JDK中的工具都是命令行工具,需要从命令行即MS-DOS提示符下运行它们。以Windows XP 为例说明设置过程。 右击桌面“我的电脑”图标,选择“属性”菜单

相关文档
最新文档