java程序设计实验一_20145210姚思羽《Java程序设计》实验一实验报告

这篇实验报告详细介绍了如何在Linux环境下配置Java开发环境,包括JDK、JRE和JVM的区别。接着,通过Eclipse展示了如何编写、编译、运行和调试Java程序。实验涵盖了基本的Java语法和IDEA的使用,包括断点调试、单步执行等。最后,通过凯撒密码的实现,展示了代码设计和测试过程。
摘要由CSDN通过智能技术生成

实验一 Java开发环境的熟悉(Linux + Eclipse)

实验内容

1.使用JDK编译、运行简单的Java程序;

2.使用Eclipse 编辑、编译、运行、调试Java程序。

实验知识点

1.JVM、JRE、JDK的安装位置与区别;

2.命令行运行javac;java;javac -cp; java -cp;

3.PATH,CLASSPATH,SOURCEPATH的设定方法与应用;

4.包管理:package;import;javac -d ;

5.Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;

6.Java基础语法:类型与类型转换;变量;运算符;流程控制等;

7.JDK帮助文档的使用。

实验步骤

(一)命令行下 Java 程序开发

•JVM:(JAVA虚拟机)JVM是Java程序的操作系统,有了JVM,Java程序就可以达到“编辑一次,到处执行”的跨平台目的。JVM的可执行文件就是.class文档。

•JRE:(Java运行时环境)JRE是Java执行环境,包括Java SE API 与JVM、部署技术。

•JDK:(Java开发工具包)编译程序的工具程序由JDK提供,包括Java程序语言、工具程序与JRE。

•三者区别:

•JDK 是用于开发的,而 JRE 是用于运行 Java 程序的

•JDK 和 JRE 都包含了 JVM,从而使得我们可以运行 Java 程序

•JVM 是java 编译程序的核心并且具有平台独立性

•我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用

•以下为 JDK 与 JRE 的安装位置:

c4168a124f837a788c86dcf9452ee48e.png

•编写.java 程序,运行javac后出现.class 文件:

07ac78eba2cc7202ede9be95f12d6e31.png

7c7abfc1f40a6f913bb6a22f2f4f41fe.png

(二)IDEA 下 Java 程序开发、调试

•首先新建一个窗口:点击右上角 File-New-Progect,弹出一个窗口,勾选其中的 Java 选项:

e685b5b6e9d5753dccfb85faf2244a0d.png

•给新的项目起一个名字:

64d4ab6736227c356146997227832c7c.png

•在 src 处右键新建 java 程序:

9cea118a35f37ed88c05a813f7293418.png

•运行程序:

import java.util.Scanner;

public class Exp1{

public static void main(String[] args){

System.out.println("请输入你的名字:");

Scanner scanner = new Scanner(System.in);

String name = scanner.next();

System.out.println("Hi " + name);

}

}

•运行结果:

e03b7f8fe765e62dc315e89c13f825bf.png

•断点调试:

•在 IDEA 中选定要设置断点的代码行,在该行最左边单击鼠标左键

bd976c91bd9f6a5bd5dcab84c868e17f.png

•开启调试会话

649811c972a8f4674cd381546dc4f167.png

•单步调试:

•step over:点击图示中向下的箭头,程序向下执行一行

31ad4d1f71834594c57f7260d838f343.png

75c6d0694ae9b95377faee3868bbe190.png

•step into:点击step over 右边的斜向下的箭头,程序向下执行一行,如果该行有自定义方法,则运行进入自定义方法

497eca492e7c4a3a9b3414bbd7b0a878.png

(三)练习

•题目:实现凯撒密码,并进行测试

•代码如下:

import java.io.*;

import java.util.Scanner;

public class Caesar {

public static void main(String[] args){

System.out.print("请输入密钥:");

Scanner s = new Scanner(System.in);

int a = s.nextInt();

C(a);

}

public static void C(int n){

try{

char b[];

BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));

System.out.println("请输入一段明文:");

String str2 = br2.readLine();

b = str2.toCharArray();

System.out.println("密文为:");

int k = n;

for(int i = 0;i < str2.length();i++){

char ch = (char)((b[i] - 'a' +k)%26 +'a');

System.out.print(ch);

}

System.out.println("密钥 K = " + k);

}catch(IOException e){

System.out.println(e.getMessage());

}

}

}

•运行结果如下:

0dc1c4a53f41ad8638704c4ec38fe400.png

问题及解决

•问题:平常对于凯撒密码的加一个数字模26还是比较理解的,但是编写代码的时候却无从下手

•解决:采取数组的形式,把输入的数字放在一个数组里,然后一个一个进行加密,具体代码如下:

for(int i = 0;i < str2.length();i++){

char ch = (char)((b[i] - 'a' +k)%26 +'a');

System.out.print(ch);

}

本次实验的 PSP(Personal Software Process) 时间:

步骤

耗时

百分比

需求分析

40min

18.2%

设 计

50min

22.7%

代码实现

60min

27.3%

测 试

30min

13.6%

分析总结

40min

18.2%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值