java程序设计实验一_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%
java程序设计实验一_20145210姚思羽《Java程序设计》实验一实验报告相关推荐
- java判断闰年通过多态方法_04748《Java语言程序设计》实验指导书.doc
04748<Java语言程序设计>实验指导书.doc Java语言程序设计 实验指导书 前言 一.上机实验目的 上机实验的目的是提高学生的分析问题.解决问题的能力和动手能力,通过实践环节理 ...
- java程序语言设计第三章答案_java语言程序设计课后习题解答张思民第三章
java语言程序设计课后习题解答张思民第三章 1 第3章 面向对象程序设计基础 [1]什么是 Java 程序使用的类?什么是类库? [解答]:Java 程序的基本单位是类.对象是对事物的抽象,而类是对 ...
- java程序设计实验报告代写_代写file I/O作业、代写java Scanner I/O程序、代写java编程作业、代做java实验报告...
代写file I/O作业.代写java Scanner I/O程序.代写java编程作业.代做java实验报告 日期:2018-09-05 03:40 ?Objectives oCreate a pr ...
- 学号20182325袁源 实验一《Linux基础与Java开发环境》实验报告
学号 20182325 <数据结构与面向对象程序设计>实验x报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 袁源 学号: 20182325 实验教师:王志强 实验 ...
- 程序设计基础c语言思政,【程序设计论文】思政教育在C语言程序设计中的应用(共3769字)...
关键词:思政教育:工匠精神:计算思维:自主学习 1课程思政在C语言程序设计课程中的意义 C语言程序设计课程是培养学生核心素养.计算思维和程序设计能力的基础课程.核心素养是个人终身发展和可持续发展的基础 ...
- java程序设计微课版普运伟_Java程序设计(微课版)
全书共11章,内容包括:Java语言概述.Java语法基础.程序流程控制.数组.Java面向对象编程.Java使用类库.异常与断言.Java文件操作.Swing程序设计.Applet程序设计.多线程. ...
- 20182326 实验一《Linux基础与Java开发环境》实验报告
20182326 2019-2020-1 <数据结构与面向对象程序设计>实验一报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 刘颖洁 学号:20182326 实验 ...
- c语言上机指导实验7,[C语言程序设计上机指导与同步训练(刘迎春张艳霞)]实验7.pdf...
您所在位置:网站首页 > 海量文档  > 计算机 > C/C++资料 [C语言程序设计上机指导与同步训练(刘迎春张艳霞 ...
- C++的速度比Java快2.1%:来自计算100万以内质数的实验数据对比
为了验证C++到底比Java快多少分别用两种语言计算100万以内的质数,并记录时间 C++的程序是 clock_t start,ends; start=clock(); int i, j; for(i ...
最新文章
- mysql一列的第二个值,mysql – 如果另一列有多个值,如何选择按列分组的值
- php tp 查数据库数据一条_php读取数据库乱码
- 终于,Geoffrey Hinton那篇备受关注的Capsule论文公开了
- 使用ueditor实现多图片上传案例——Dao层(IBaseDaoUtil)
- 计算机 注册表 远程桌面,仅允许运行使用网络级别身份验证的远程桌面计算机连接失败处理方法(远程桌面连接)...
- fork()调用使子进程先于父进程被调度
- 移动端vant时间选择器_vue移动端组件库(vant)
- DispatcherServlet详解
- python虚拟环境配置文件_uwsgi 配置 python virtualenv 虚拟环境目录 ( ini 配置)
- 数据库备份恢复策略_如何根据备份策略选择和检查正确的数据库恢复模型
- 如何将zlib,gzip和zip相关联?它们有什么共同之处,它们有何不同?
- 安装VisualSVN Server时候,端口号冲突
- MAVEN插件打包SNAPSHOT包MANIFEST.MF中Class-Path带时间戳的问题
- 【C++】 29_类中的函数重载
- Linux连接网络的方法
- 数据库逻辑结构设计 → E-R图
- JAVA HTML 转 PDF
- Separating Pebbles数学,暴力
- 英雄联盟查服务器角色信息,LOL英雄联盟角色信息查询
- weak和alias
热门文章
- Linux无法运行cal指令,Linux cal 命令 command not found cal 命令详解 cal 命令未找到 cal 命令安装 - CommandNotFound ⚡️ 坑否...
- 2014全国计算机等级考试报名时间,2014年下半年全国计算机等级考试时间安排
- 四种方法解决01背包问题
- 丰迈实验工坊学习笔记——5G系统组成与架构演进分析
- Linux(centos)系统主机使用教程详解
- 1.3寸AMOLED圆形屏+lvgl填坑记录(一)
- 美团收购摩拜,拉开出行领域的新一轮大战
- 西工大计算机技术研究生就业质量,西北工业大学2019届毕业生就业质量年度报告...
- ubuntu 16.04 server版安装VirtualBox Guest Additions 的解决过程
- 泛微OA-测试环境更新所有密码为1