首页 > 技术文章 > Java第02次实验提纲(Java基本语法与类库)

zhrb 2017-03-07 23:37 原文

实验目标

  1. 掌握Git的基本概念与基本操作。
  2. 进一步熟悉Scanner的使用。
  3. 熟练掌握Eclipse常用快捷键
  4. 掌握常用类(String、Integer、StringBuilder等)及JDK文档的基本使用
  5. 掌握数组与ArrayList

试验任务书及相关材料
Java第2次实验文件.zip

1. 熟悉Git(可选)

目标

  • 使用Git管理自己的Java课程学习代码
  • 学会使用git进行源代码管理
  • 学会使用命令行操作git

1.1 使用网页版的操作代码仓库

  • 申请账号、登录并创建自己的仓库(远程)并规划好目录结构(比如按章节分,用英文)
  • 通过网页版将文件提交到远程仓库中,并查看
  • 使用命令行配置、将远程仓库克隆本地仓库、提交代码
  • 在远程仓库修改或新建文件,通过命令行将远程仓库的变动拉到本地仓库
  • 可选:根据老师提供的链接或者二维码加入团队,然后修改昵称。
  • fork老师提供的代码库项目。

参考链接:

0.意义-现代软件工程讲义 源代码管理(为什么要用源代码管理)
1.CSDN的《Git入门》课程。特点:支持实操的代码仓库+课程教学。
2.教程-Git与码云(gitee)入门-如何在实验室和宿舍同步你的代码(1)
3.Gitee帮助
4.教程-猴子都能懂得Git入门
5.gitee高校版
6.gitee高校版实训教程

1.3 使用Git克隆(clone)项目到你的Eclipse项目中(可选)

见以下参考资料"使用Eclipse Egit与码云管理你的代码"中的4 从码云将项目clone到你的电脑

重要提示:
使用Git来管理你的代码以后,当你在本地项目中开始编写新的代码之前,一定首先要将远程仓库的最新代码pull到本地仓库,这可以降低冲突发生的可能。

参考资料:

使用Eclipse Egit与码云管理你的代码

2. PTA

题集jmu-Java-02-Java基本语法

PTA提交说明

  1. 代码首行的package要去掉。
  2. public class的类名称一定要是Main
  3. 快速测试方法:将样例输入复制到记事本(命令行使用notepad打开),并在最后一行回车换行,然后全选复制(Ctrl+aCtrl+c),粘贴到控制台即可测试。

2.1 综合小测验(重点讲)

对于控制台输入的处理,nextLine()方法与其他nextXXX方法混用会产生吞回车问题。建议全部使用Scanner.nextLine()处理输入以免碰到行尾回车换行问题。
主讲:

  • Eclipse自动生成快捷键解Alt+\,如switch、for、while、sysout、main
  • 使用Eclipse快速创建程序框架(利用Eclipse的quick fix功能快速创建方法)。
  • 不要重复创建Scanner对象。

其他:缩进, Tab、Shift+Tab。运行, ctrl+F11
注意:

  • 如果JDK为1.6版本(最新版PTA已支持1.8),switch不支持字符串。需先将字将String转化为int(早期的PTA 中使用的open jdk6)
  • 使用Eclipse的quick fix功能快速创建函数int choice2Int(String choice)

2.2 身份证排序(略讲)

  • 主要讲:sort1可直接使用Arrays.sort,String的subString
  • 采用结构化编程方式,针对sort1sort2各写一个方法处理。
  • 其他:nextInt()与nextLine()混用可能产生的后果。建议:全部使用Scanner的nextLine()处理输入以免碰到行尾回车换行问题。

2.3 StringBuilder(自行完成)

使用+进行字符串拼接的弊端

2.4 动态数组(自行完成)

动态生成不规则大小的数组。定义数组时数组第一维需事先确定大小,第二维大小可在程序运行中动态确定。

2.5 ArrayList入门(讲)

略讲:ArrayList的常用方法add(e)、add(index, e)等
使用ArrayList可以代替数组,见如下代码,ArrayList用法请参考JDK文档。

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo {

    public static void main(String[] args) {
        //泛型,Integer
        List<Integer> integerList = new ArrayList<>();
        integerList.add(1);
        integerList.add(new Integer(1));//和上句效果一样
        for (Integer e : integerList) {
            System.out.println(e);
        }
        //泛型,String 
        List<String> strList = new ArrayList<String>();
        strList.add(1+"");
        strList.add("abc");
        strList.set(0, "def");//随机存取,设置0号位置的元素
        for (int i = 0; i < strList.size(); i++) {
            System.out.println(strList.get(i));
        }
    }
}

2.5 浮点数的精确运算(略讲)

浮点数不精确,使用BigDecimal解决。

  • BigDecimal对象的构造(以字符串的方式构造)
  • 熟悉以面向对象的方式进行各种操作(加减乘除)。
  • BigDecimal的不可变性,如何体现?

3. 加分题

实验任务书中的题目2(Math类应用)
特别加分:6(一个实用的身份证信息查询程序)、8(作业随机分配)

下次实验

第03次实验:面向对象

推荐阅读