20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

一、实验要求

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

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

二、实验知识点

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

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

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

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

  • 5.IDEA管理Java项目,调试:断点、单步执行等;

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

  • 7.JDK帮助文档的使用。

三、实验步骤

(一)使用JDK编译、运行简单的Java程序

  • Ctrl+Shift+T打开终端
  • 输入cd java-besti-20175316进入目录下,准备建立20175316exp1目录
  • 输入mkdir 20175316exp1建立自己学号的目录
  • 输入cd 20175316exp1进入目录
  • 输入mkdir src bin建立bin、src目录
  • 输入vim src/Hello.java编写Hello.java
  • 输入javac src/Hello.java -d bin编译Hello.java到bin目录下
  • 输入java -cp bin Hello运行Hello.java
  • 实验截图



(二)使用IDEA 编辑、编译、运行、调试Java程序

  • 编写完HelloJDB.java后,输入Run->Run(Ctrl+Shift+F10)运行
  • 任取一行设置断点后,输入Run->Debug(Ctrl+Shift+F9)调试程序
  • 输入Run->Step Over(F8)单步调试
  • 设置条件断点:设置另外一个断点,且设置Condition(i==50)
  • 输入Run->Resume(F9),表示从上一个断点直接跳到i=50的情况
  • 实验截图







(三)通过命令行和IDEA两种方式实现,在IDEA下练习调试程序

产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了。 并进行测试(正常情况,异常情况,边界情况)

代码
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int num = (int)(Math.random()*5316); //返回大小在0到5316之间的整数
Scanner scan = new Scanner(System.in);
System.out.println("请输入整数,在0到5316之间");
int a = -1;
int i = 0;
while (a!=num&&i<10) {
while (!scan.hasNextInt()) {
// 输入错误的信息
System.out.printf("输入的数据类型有问题!请再次输入。(你还有%d次机会)\n", 10 - i);
scan = new Scanner(System.in);
}
a = scan.nextInt();
if (a < 0 || a > 5316) {
System.out.printf("输入的数要在0到5316之间!请再次输入。(你还有%d次机会)\n", 10 - i);
scan = new Scanner(System.in);
continue;
} else if (a != num) {
if (a < num) {
System.out.println("小了");
} else if (a > num) {
System.out.println("大了");
}
i++;
}
}
if (a == num)
System.out.println("恭喜你,猜对了!");
else
System.out.println("很遗憾,你没有机会了"); }
}
运行情况



调试情况

码云链接

https://gitee.com/shengmaosong/java-besti-20175316/blob/master/shiyan1/shiyan1_3/shiyan1_3.java

实验体会与总结

  • 设计第三个实验花费很长时间,但是八思路理清楚写的时候就不会手忙脚乱
  • 使用IDEA编程提高效率,不仅可以自动补全,而且可以检查出错误

20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告的更多相关文章

  1. 20175316盛茂淞-Java第1周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第1周学习总结 教材学习内容总结 Java入门 1.Java简介(地位,特点) 2.安装JDK,设置系统环境 3.编译J ...

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验五 《网络安全与编程》 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验五 <网络安全与编程> 实验报告 一.实验报告封面 课程:Java程序设计 班级:1753班 姓名:盛 ...

  3. 20175316盛茂淞 2018-2019-2 《Java程序设计》第9周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第9周学习总结 教材学习内容总结 下载安装MySQL数据库管理系统. 学习<Java程序设计>第十一章MyS ...

  4. 20175316盛茂淞 2018-2019-2 《Java程序设计》第8周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 泛型 -- 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据 ...

  5. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验二 面向对象程序设计 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验二 面向对象程序设计 实验报告 (一)单元测试 在 IDEA中我们把产品代码放在src目录中,把测试代码放在tes ...

  6. 20175316盛茂淞 2018-2019-2 《Java程序设计》第7周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 第八章 常用实用类 一.String类 String类在java.lang包中,jav ...

  7. 20175316盛茂淞 2018-2019-2 《Java程序设计》第6周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第6周学习总结 教材学习内容总结 第7章 内部类与异常类 1.使用 try.catch Java中所有信息都会被打包为对 ...

  8. 20175316盛茂淞 2018-2019-2 《Java程序设计》第5周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 第六章 接口与实现. 何谓接口 接口:书上没有明确地给出接口的定义,我理解的接口就是一 ...

  9. 20175316盛茂淞 2018-2019-2《Java程序设计》第4周学习总结

    20175316盛茂淞 2018-2019-2<Java程序设计>第4周学习总结 教材学习内容总结 第五章 子类与继承 一.继承 1.继承定义:避免多个类间重复定义共同行为 2.子类与父类 ...

随机推荐

  1. 用到的linux命令

    1.修改文件权限 chmod 777 文件路径 修改文件下所有文件权限 chmond -R 777 文件路径 2.修改文件 (保存文件的方法,在命令行窗口 shift+:换出底部命令行, q表示退出, ...

  2. 【oracle常见错误】oracle监听程序配置/“ORA-12541: TNS: 无监听程序”

    问题描述 在用PL/SQL Developer连接Oracle 11g时报错“ORA-12541: TNS: 无监听程序”,如下图所示.可以按照如下的步骤进行解决. 解决方案 监听程序配置 从开始菜单 ...

  3. 从OsChina Git下载项目到MyEclipse中

    前提是,拥有权限下载 1.进入MyEclipse,点击File-->Import,选择Git,点击“Next”,如下图: , 2.选择“URI”,点击"Next" 3.输入项 ...

  4. java多线程中并发集合和同步集合有哪些?区别是什么?

    java多线程中并发集合和同步集合有哪些? hashmap 是非同步的,故在多线程中是线程不安全的,不过也可以使用 同步类来进行包装: 包装类Collections.synchronizedMap() ...

  5. django之COOKIE 与 SESSION

    COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...

  6. 一个简单的通讯服务框架(大家发表意见一起研究)JAVA版本

    最近研究下java语言,根据一般使用的情况,写了个连接通讯服务的框架: 框架结构 C-Manager-S; 把所有通讯内容抽取成三个方法接口:GetData,SetData,带返还的Get; 所有数据 ...

  7. Vue 父组件方法和参数传给子组件的方法

    <template> <div class="content-item"> <!-- openWnd是父组件自身的方法,openDutyWnd是子组件 ...

  8. 来自Github的优秀源码(python操作iframe框架网页)

    #Please use your username and password for academia in codeimport timefrom selenium import webdriver ...

  9. python 爬虫启航

    1. 使用excel(简单使用) 数据- 自网站-导入 2.you-get python爬虫入门 1.环境配置 python,request,lxml 2.原理 爬虫的框架如下: 1.挑选种子URL: ...

  10. Helm简介

    什么是Helm 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,作为Kubernetes应用的一个包管理工具,可理解为Kuberne ...