java实验报告

Python09

java实验报告,第1张

实验1

Java开发工具及程序设计初步

实验目的

能够搭建Java的开发环境

熟悉常用的JDK操作命令的使用

熟悉Java程序的编写和编译过程

了解常用Java开发工具的使用

实验内容

实验练习1:搭建和使用JDK

1.JDK的下载和安装

JDK是SUN公司免费在网上发布的,我们可以进入SUN公司的网站(http://java.sun.com)下载并安装。JDK安装完成后,进行如下操作:

(1)查看并写出JDK的安装目录______________________________;

(2)查看主目录bin文件夹中常用的JDK命令文件,写出java、javac等JDK命令所在的文件目录_________________________________;

(3)在Windows中打开一个命令行窗口,打开命令行窗口的方法有两种:

•选择“开始”→“所有程序”→“附件”→“命令提示符”

•选择“开始”→“运行…”命令,在打开的“运行”窗口中输入“cmd”命令并“确定”。

(4)在打开的命令行窗口中,分别执行java和javac命令,如:C:\>java

查看执行结果,看是否输出如下的java命令的帮助信息(如图1-1所示)。

图1-1:java命令的帮助信息

C:\>javac

查看执行结果,看是否输出如下的javac命令的帮助信息(如图1-2所示)。

图1-2:javac命令的帮助信息

如果上面的信息均能输出,说明JDK的安装成功,基本上可正常使用。

2.操作系统环境变量的使用

操作系统的环境变量是在操作系统中定义的变量,可被该操作系统上运行的程序访问。JDK中主要有两个相关的操作系统环境变量,即path和classpath。

(1)查看操作系统环境变量

•在命令行窗口中执行set命令

如:C:\>set

查看set命令的输出结果,在set命令的输出结果中可看到许多等式,其中等号的左边是环境变量的名称,等号的右边是环境变量的取值。

命令:set

<环境变量名>,可查看指定的某个环境变量的设置情况。

执行命令:C:\>set

path,查看path变量的设置情况。

•在“环境变量”窗口中查看环境变量

用鼠标右键单击“我的电脑”,选择“属性”命令,在打开的“系统属性”对话框中选择“高级”→“环境变量”,打开“环境变量”窗口。

在“环境变量”窗口中,有用户变量和系统变量两种环境变量。其中,用户环境变量只对某个用户起作用;系统环境变量对该系统上的所有用户都有效。

当我们以某一用户身份登录Windows时,它所使用的变量是系统变量和用户变量的总和。

如果一个变量在系统变量窗口和用户变量窗口都进行了设置,那么这个变量的取值在一般情况下为系统变量的取值与用户变量的取值相加;但有时也会出现用户变量的取值覆盖系统变量取值的情况。不管是什么情况,最终都以在命令行窗口中通过set命令查看到的结果为准。

(2)设置系统的环境变量

•在命令窗口中执行set命令

格式:set

变量名=[变量值]

执行如下命令,查看执行结果。

C:\>set

Xx=aa

//新建一个环境变量并设置其取值

C:\>set

Xx

//查看该环境变量

C:\>set

Xx=

//取消环境变量的设置

C:\>set

//查看环境变量

注意:在命令行窗口中设置的环境变量,只在该命令行窗口中起作用。

•在“环境变量”窗口中进行设置

可使用“新建”或“编辑”按钮。

注意:①

在“环境变量”窗口中设置的环境变量对以后所有的应用程序和命令行窗口都起作用,但不会影响原来运行的应用程序和启动的命令行窗口。

在“用户环境变量”窗口中进行的设置需要在注销重新登录后才起作用。

(3)path环境变量的作用和设置

环境变量path的值指定了JDK命令搜索路径,即当我们要执行某个命令时,操作系统首先会在当前目录下查找这个命令,如果当前目录下没有这个命令程序,操作系统会沿着path环境变量中所指定的目录依次去查找这个命令文件,并以最先找到的为准。

观察path变量的取值情况,path变量可以有多个取值,每个值代表一条搜索路径,它们之间用“”分隔。

在命令行窗口中执行如下命令:

C:\>set

path

//查看path环境变量

C:\>set

path=

或set

path=C:\

//取消path变量的设置或重新设置path的值

C:\>set

path

C:\>java

或javac

//执行java或javac命令

会出现如下错误信息(如图1-3所示):

图1-3:错误信息

分析错误的原因:_____________________________________________________

改正的方法:__________________________________

实验练习2:Java程序的编写与编译过程

1.一个简单的Java程序的编写与编译

第一步:先在磁盘上创建保存程序文件的目录(文件夹),如:D:\javawork\lesson1。

第二步:在“记事本”中创建并编辑Java源程序文件Test1.java,程序代码如下:

class

Test1

{

}

保存文件,扩展名为.java。

第三步:在命令行窗口中,对源文件Test1.java进行编译。

可参考如下命令:

如果当前盘当前目录为C:\,先将当前目录设置为D:\javawork\lesson1。

C:\>d:

D:\>cd

ja*w*

D:\javawork>cd

le*

D:\javawork\lesson1>javac

Test1.java

如果编译成功,则不出现任何提示,回到命令提示符状态下。打开保存源文件的文件夹,查看编译生成的字节码文件Test1.class。

第四步:运行字节码文件Test1.class。

D:\javawork\lesson1>java

Test1

执行结果出现异常,如图1-4所示。

图1-4:执行出现异常

出现异常的原因是:缺少执行应用程序的入口main方法。main方法的声明必须是public

static

void

main(String

args[]){}。修改源程序代码并重新编译,源程序代码如下:

class

Test1

{

public

static

void

main(String

args[])

{

}

}

编译完成后,执行字节码文件。

在main方法中,添加输出的语句并重新编译执行,程序代码如下:

class

Test1

{

public

static

void

main(String

args[])

{

System.out.println("Hello

World!")

}

}

输出结果如图1-5所示。

图1-5:程序执行结果

2.classpath环境变量的作用与设置

环境变量calsspath用于指定Java类的路径,即设置classpath的作用是告诉Java运行系统的类加载器到哪里去寻找要执行的类。

在前面打开的命令行窗口中继续执行以下命令:

D:\>java

Test1

执行结果如图1-6所示:

图1-6:改变当前目录后重新执行的结果

会发现程序执行出现异常:无法找到Test1类。说明在classpath变量中没有将Test1.class文件所在的目录设置为搜索路径,在命令行窗口中执行命令:

D:\>set

classpath=%classpath%d:\javawork\lesson1

重新执行程序,则运行结果正常。

调试练习

本节中的程序Test2.java不能正确地编译,修改所有的语法错误,使程序能够成功编译。程序编译之后,执行程序,比较输出结果与示例输出,然后排除所有可能的逻辑错误,示例输出演示了代码更正后程序的正确输出结果。

1.示例输出

2.错误的代码

//Test2.java

import

javax.swing.JOptionPane

public

class

test2

{

public

static

void

main(string

args[])

{

JOptionPane.showMessageDialog(null,"Hello")

}

}

1。People.java

public class People {

//性别(sex)及出生日期(date);方法成员有:获取人的性别和出生日期及构造方法。要求构造方法可以设置性别和出生日期的初始值。

private int sex

private Date birth

public People (int sex, Date birth) {

this.sex = sex

this.birth = birth

}

public int getSex() {

return this.sex

}

public Date getBirth() {

return this.birth

}

}

2。Student.java

public class Student extends People{

private int sex

private Date birth

private String name

private int stuno

private double grate

private String studentNative

public Student(int sex, Date birth, String name, int stuno, double grate, String studentNative) {

super(sex, birth)

this.name = name

this.stuno = stuno

this.grate = grate

this.studentNative = studentNative

}

public Date getBirth() {

return birth

}

public double getGrate() {

return grate

}

public String getName() {

return name

}

public int getSex() {

return sex

}

public String getStudentNative() {

return studentNative

}

public int getStuno() {

return stuno

}

}

3。测试类自己编写就好了,创建一个People和Student的对象,然后设置值,取值就可以了。

五。

1.构造方法没有返回值,方法名和类名一样.

2.继承是指子类可以拥有父类的方法和属性;多态是指父类的引用可以指向子类对象的实例

3.重写

4.重载

import java.io.BufferedReader

import java.io.IOException

import java.io.InputStreamReader

public class TestString {

public static void main(String arg[]) throws IOException {

int a,n

System.out.println("请输入a,n:")

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in))

String readStr=buf.readLine()

String argStr[]=readStr.split(",")

a=Integer.parseInt(argStr[0])

n=Integer.parseInt(argStr[1])

long sum=0,aaa=0

for (int i=1i<=ni++){

aaa=(long)getaaa(a,i)

sum+=aaa

System.out.print(aaa)

if (i==n) System.out.print("=")

else System.out.print("+")

}

System.out.println(""+sum)

}

static double getaaa(int a,int n){

double aaa=a

for(double i=1i<ni++){

aaa+=a*Math.pow(10, i)

}

return aaa

}

}

需要注意的是这里面引入了几个java包。

第2个:http://zhidao.baidu.com/question/198168341.html&__bd_tkn__=6ef56e5d3a2499274a6df875f5b773e682519fb8a07960d151bbad4928e085c42f309a67e9e08f6c24eb7e11a1fbf820dff421b52a