zoukankan      html  css  js  c++  java
  • 实验一 Java开发环境的熟悉

    实验一 Java开发环境的熟悉

    Java开发环境的熟悉(一)——命令行下Java程序开发

    实验内容

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

    实验步骤

    • 1.首先双击桌面上的终端图标,单击终端图标,打开终端(类似Windows下的cmd),之后会自动运行shell程序

    • 2.输入cd Code命令进入Code(注意C要大写)目录,进入Code目录

    • 3.输入mkdir 20135100 命令建立实验目录,注意目录名一定是自己的学号(学号要体现在实验报告截图中),可以使用ls命令或dir命令查看建立的目录情况;

    • 4.输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径,如下图所示:

    • 5.输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:

    package ljp;
    import java.util.Scanner;
     public class Hello{
       public static void main(String[] args){
           System.out.println("Input your first name, please:");
           Scanner s = new Scanner(System.in);
           String name = s.next();
           System.out.println("Hello " + name + " !");
        }
     }
    
    • 6.注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类(你可以暂时理解为C语言中include的功能),导入路径可以查看JDK帮助文档,比如我们使用到了Scanner类
    • 7.输入javac -d . Hello.java命令编译代码,输入java ljp.Hello命令运行程序。结果如下图所示:

      -注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。

    Java开发环境的熟悉(二)——Java程序开发、调试

    实验内容

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

    实验步骤

    • 1.在自己的项目中,新建「HelloJDB」类,输入如下代码:
     public class HelloJDB {
       public static void main(String[] args) {
           int i = 5;
           int j = 6;
           int sum = add(i, j);
           System.out.println(sum);
               
           sum = 0;
           for(i=0; i< 100; i++)
              sum += i;
              
          System.out.println(sum);
      }
          
      public static int add(int augend, int addend){
          int sum = augend + addend;
          return sum;
      }
    }
    
    • 2.调试程序首先要会设置断点和单步运行。设置断点比较简单,在要设置断点的行号旁用鼠标单击一下就行了(或使用Ctrl+F8快捷键),我们在第5行设了个断点:

    • 3.然后单击菜单「Run」->「Debug...」(或使用Alt+Shift+F9快捷键)开始调试Java程序,我们可以看到程序停留在了第5行,注意,此时第5行代码并没有执行,我们看到变量sum的值并不是11,我们通过单步运行让程序运行到第6行,单步运行有两种:Step Into(快捷捷F7)和Step Over(快捷捷F8),这两种单步运行功能在运行语句时没有区别,在执行方法调用语句时,Step Into会跳入方法实现,Step Over会直接执行完方法,实际使用中我们优先使用Step Over,只有方法执行出错了,说明程序问题在被调用方法中,这时再回来通过Step Into进入方法进行调试。我们单击一下Step Over图标(或F8),程序停在了第5行,这时查看变量i的值,会看到sum等于11。如下图所示

    Java开发环境的熟悉(三)——练习

    实验内容

    • 实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况)

    实验代码

    public class Student {
    String name;
    String number;
    String sex;
    int grade;
    
    public Student(String name,String number,String sex,int grade){
    this.name= name;
    this.number= number;
    this.sex = sex;
    this.grade = grade;
    }
    public int getGrade(){
    return grade;
    }
    public String getName(){
    return name;
    }
    public String getSex(){
    return sex;
    }
    
    public void setGrade(int g){
    this.grade = g;
    }
    
    public String getnumber(){
    return number;
    }
    }
    
    import java.util.*;
    public class StudentSystem {
    static List<Student> StudentList = new LinkedList<Student>();
    public static void main(String[] agrs){     
        select(StudentList);                    
    }
    private static void select(List<Student> StudentList ){
            System.out.println("1:增加学生");
        System.out.println("2:删除学生");
        System.out.println("3:修改成绩");
        System.out.println("4:查询成绩");
      
        System.out.println("若要退出系统,请输入1、2、3、4外的其他数字!!!");
        System.out.println("请输入选择的操作序号:");
        Scanner x = new Scanner(System.in);
        int choice = x.nextInt();        
        switch(choice){
        //增加学生
        case 1:
            System.out.print("请输入学生的姓名:");
            Scanner Sname = new Scanner(System.in);
            String name = Sname.nextLine();
            System.out.print("请输入学生的性别:");
            Scanner Ssex = new Scanner(System.in);
            String sex = Ssex.nextLine();
            System.out.print("请输入学生的学号:");
            Scanner SId = new Scanner(System.in);
            String number = SId.nextLine();
            System.out.print("请输入学生的成绩:");
            Scanner Sgrade = new Scanner(System.in);
            int grade = Sgrade.nextInt();
            StudentList.add(new Student(name,number,sex,grade));
            System.out.println("添加成功!!!");
            select(StudentList);
            break;
        //删除学生成绩
        case 2:
            System.out.print("请输入需要删除学生的学号:");
            Scanner Sid = new Scanner(System.in);
            String Snumber = Sid.nextLine();
            boolean isfindDelete = false;
            for (int i = 0; i < StudentList.size(); i++) {
                if(Snumber.equals(StudentList.get(i).getnumber())){
                    StudentList.remove(i);
                    System.out.println("删除成功!!!");
                    isfindDelete =true;
                }
            }
            if(!isfindDelete){
                System.out.println("抱歉,没有找到");
            }
            select(StudentList);
            break;
        //修改学生成绩
        case 3:
            System.out.print("请告诉我需要修改成绩学生的学号:");
            Scanner GId = new Scanner(System.in);
            String Gnumber = GId.nextLine();
            boolean isfindChange = false;
            for (int j = 0; j < StudentList.size(); j++) {
                if(Gnumber.equals(StudentList.get(j).getnumber())){
                    System.out.println("学生原成绩为"+StudentList.get(j).getGrade());
                    System.out.print("请输入修改后学生的成绩:");
                    Scanner Ggrade = new Scanner(System.in);
                    int grade2 = Ggrade.nextInt();
                    StudentList.get(j).setGrade(grade2);
                    System.out.println("修改成功!!!");
                    isfindChange =true;
                }else{
                    
                }
            }
            if(!isfindChange){
                System.out.println("没有该名学生!");
            }
            select(StudentList);
            break;
        //查看学生成绩
        case 4:
            System.out.print("请告诉我需要查询学生的学号:");
            Scanner CId = new Scanner(System.in);
            String Cnumber = CId.nextLine();
            boolean isfindData = false;
            for (int i = 0; i < StudentList.size(); i++) {
                if(Cnumber.equals(StudentList.get(i).getnumber())){
                    System.out.println("名字:"+StudentList.get(i).getName());
                    System.out.println("性别:"+StudentList.get(i).getSex());
                    System.out.println("学号:"+StudentList.get(i).getnumber());
                    System.out.println("成绩:"+StudentList.get(i).getGrade());
                    isfindData = true;
                }
            }
            if(!isfindData){
            System.out.println("没有该名学生!");
            }
            select(StudentList);
            break;
        default:
            System.out.println("退出系统!!!");
            break;
        }   
    }
    }
    

    实验结果


  • 相关阅读:
    【遇见时光】笔试-偶数最大距离-java
    【遇见时光】笔试-下蹲-java实现
    [遇见时光]内推笔试-藏宝图-java实现
    【遇见时光】内推编程-洗牌
    [遇见时光]剑指offer-顺时针打印矩阵java
    [遇见时光]解决‘javac’不是内部或外部命令的问题
    [遇见时光]Java多线程
    Android Studio 打包错误
    android 开发不常用技巧集
    异步任务结束操作,对于ativity fragment SharedPreferences等涉及到context操作前的判断
  • 原文地址:https://www.cnblogs.com/tengxing/p/10650966.html
Copyright © 2011-2022 走看看