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. MySQL 之 MHA + ProxySQL + keepalived 实现读写分离,高可用(二)

    ProxySQL安装 yum/rpm安装 在github或官网上可以下载rpm包,wiki的Getting start章节有详细介绍. cat <<EOF | tee /etc/yum.r ...

  2. The perception and large margin classifiers

    假设样例按照到来的先后顺序依次定义为.为样本特征,为类别标签.任务是到来一个样例,给出其类别结果的预测值,之后我们会看到真实值,然后根据真实值来重新调整模型参数,整个过程是重复迭代的过程,直到所有的样 ...

  3. 通过WebClient模拟post上传文件到服务器

    写在前面 最近一直在研究sharepoint的文档库,在上传文件到文档库的过程中,需要模拟post请求,也查找了几种模拟方式,webclient算是比较简单的方式. 一个例子 这里写一个简单接受pos ...

  4. Vue--生命周期函数

    生命周期函数就是组件挂载.以及组件销毁的时候触发的一系列方法,这些方法叫做生命周期函数: beforeCreate(){ console.log('实例创建之前-1') }, created(){ c ...

  5. python常见循环练习

    第一题:求5的阶乘 # 方法1,递归 def jc(num): if num == 1: return 1 else: return num*jc(num-1) print(jc(5)) # 方法2, ...

  6. Spring------生命周期

    Spring------生命周期 转:https://blog.csdn.net/qq_42112846/article/details/81368862 如图所示: 一下就是对上图的解释: Spri ...

  7. win7激活成功 但每次开机后又显示此windows副本不是正版的解决办法

    进入命令行界面,输入 SLMGR -REARM 命令,点击回车 此方法只是暂时激活系统,大概4个月左右,即要使用此方法再次进行激活

  8. ActiveMQ(2)---ActiveMQ原理分析之消息发送

    持久化消息和非持久化消息的发送策略 消息同步发送和异步发送 ActiveMQ支持同步.异步两种发送模式将消息发送到broker上.同步发送过程中,发送者发送一条消息会阻塞直到broker反馈一个确认消 ...

  9. ABAP-表中数据的横向累加

    GLT0 等表中数据的横向累加 ——塞依SAP培训   在 ABAP 的 GLT0.FAGLFLEXT 等余额表中,用诸如 TSL01.TSL02 …… TSL16 等字段记录了 16 个期间的发生额 ...

  10. thinkphp5.0 - Redis 实现秒杀

    首先,因为秒杀这个环节在商城项目中比较常见,最近写商城项目,碰到这个功能模块,于是就拿出来给大家分享一波. 难点:高并发的情况下,正常逻辑写的话数据库的库存会出现负数,对付这类问题有很多解决方案,我就 ...