20145210姚思羽《Java程序设计》实验一实验报告
实验一 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 的安装位置:
•编写.java 程序,运行javac后出现.class 文件:
(二)IDEA 下 Java 程序开发、调试
•首先新建一个窗口:点击右上角 File-New-Progect,弹出一个窗口,勾选其中的 Java 选项:
•给新的项目起一个名字:
•在 src 处右键新建 java 程序:
•运行程序:
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);
}
}
•运行结果:
•断点调试:
•在 IDEA 中选定要设置断点的代码行,在该行最左边单击鼠标左键
•开启调试会话
•单步调试:
•step over:点击图示中向下的箭头,程序向下执行一行
•step into:点击step over 右边的斜向下的箭头,程序向下执行一行,如果该行有自定义方法,则运行进入自定义方法
(三)练习
•题目:实现凯撒密码,并进行测试
•代码如下:
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());
}
}
}
•运行结果如下:
问题及解决
•问题:平常对于凯撒密码的加一个数字模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% |
posted on 2016-04-10 15:45 20145210姚思羽 阅读(431) 评论(3) 编辑 收藏 举报