diff --git a/README.md b/README.md index 1917c7d..3e6eb67 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ -[第一章:概述](%E7%AC%AC%E4%B8%80%E7%AB%A0%EF%BC%9A%E6%A6%82%E8%BF%B0.md) +[第一章:概述](%E7%AC%AC%E4%B8%80%E7%AB%A0%EF%BC%9A%E6%A6%82%E8%BF%B0/%E7%AC%AC%E4%B8%80%E7%AB%A0%EF%BC%9A%E6%A6%82%E8%BF%B0.md) -[附录1 拼题平台的使用](%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8.md) \ No newline at end of file +[附录1 拼题平台的使用](%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8.md) +[附录2 课程设置](%E9%99%84%E5%BD%952%20%E8%AF%BE%E7%A8%8B%E8%AE%BE%E7%BD%AE.md) \ No newline at end of file diff --git a/第一章:概述/20230302094127.png b/第一章:概述/img/20230302094127.png similarity index 100% rename from 第一章:概述/20230302094127.png rename to 第一章:概述/img/20230302094127.png diff --git a/第一章:概述/20230302095100.png b/第一章:概述/img/20230302095100.png similarity index 100% rename from 第一章:概述/20230302095100.png rename to 第一章:概述/img/20230302095100.png diff --git a/第一章:概述/20230302095429.png b/第一章:概述/img/20230302095429.png similarity index 100% rename from 第一章:概述/20230302095429.png rename to 第一章:概述/img/20230302095429.png diff --git a/第一章:概述/20230302095510.png b/第一章:概述/img/20230302095510.png similarity index 100% rename from 第一章:概述/20230302095510.png rename to 第一章:概述/img/20230302095510.png diff --git a/第一章:概述/20230302095541.png b/第一章:概述/img/20230302095541.png similarity index 100% rename from 第一章:概述/20230302095541.png rename to 第一章:概述/img/20230302095541.png diff --git a/第一章:概述/20230302095621.png b/第一章:概述/img/20230302095621.png similarity index 100% rename from 第一章:概述/20230302095621.png rename to 第一章:概述/img/20230302095621.png diff --git a/第一章:概述/20230302095647.png b/第一章:概述/img/20230302095647.png similarity index 100% rename from 第一章:概述/20230302095647.png rename to 第一章:概述/img/20230302095647.png diff --git a/第一章:概述/20230302095710.png b/第一章:概述/img/20230302095710.png similarity index 100% rename from 第一章:概述/20230302095710.png rename to 第一章:概述/img/20230302095710.png diff --git a/第一章:概述/20230302095740.png b/第一章:概述/img/20230302095740.png similarity index 100% rename from 第一章:概述/20230302095740.png rename to 第一章:概述/img/20230302095740.png diff --git a/第一章:概述/20230302095908.png b/第一章:概述/img/20230302095908.png similarity index 100% rename from 第一章:概述/20230302095908.png rename to 第一章:概述/img/20230302095908.png diff --git a/第一章:概述/20230302095923.png b/第一章:概述/img/20230302095923.png similarity index 100% rename from 第一章:概述/20230302095923.png rename to 第一章:概述/img/20230302095923.png diff --git a/第一章:概述/20230302100019.png b/第一章:概述/img/20230302100019.png similarity index 100% rename from 第一章:概述/20230302100019.png rename to 第一章:概述/img/20230302100019.png diff --git a/第一章:概述/20230302100109.png b/第一章:概述/img/20230302100109.png similarity index 100% rename from 第一章:概述/20230302100109.png rename to 第一章:概述/img/20230302100109.png diff --git a/第一章:概述/20230302100434.png b/第一章:概述/img/20230302100434.png similarity index 100% rename from 第一章:概述/20230302100434.png rename to 第一章:概述/img/20230302100434.png diff --git a/第一章:概述/20230302100457.png b/第一章:概述/img/20230302100457.png similarity index 100% rename from 第一章:概述/20230302100457.png rename to 第一章:概述/img/20230302100457.png diff --git a/第一章:概述/20230302100555.png b/第一章:概述/img/20230302100555.png similarity index 100% rename from 第一章:概述/20230302100555.png rename to 第一章:概述/img/20230302100555.png diff --git a/第一章:概述/20230302100616.png b/第一章:概述/img/20230302100616.png similarity index 100% rename from 第一章:概述/20230302100616.png rename to 第一章:概述/img/20230302100616.png diff --git a/第一章:概述/Java虚拟机.drawio.svg b/第一章:概述/img/Java虚拟机.drawio.svg similarity index 100% rename from 第一章:概述/Java虚拟机.drawio.svg rename to 第一章:概述/img/Java虚拟机.drawio.svg diff --git a/第一章:概述.md b/第一章:概述/第一章:概述.md similarity index 96% rename from 第一章:概述.md rename to 第一章:概述/第一章:概述.md index ba916c1..8073b79 100644 --- a/第一章:概述.md +++ b/第一章:概述/第一章:概述.md @@ -217,7 +217,7 @@ javac Circle_Test.java 发现生成了两个文件 -![](第一章:概述/20230302094127.png) +![](img/20230302094127.png) 这两个class文件是java编译后的文件,类似Windows中的exe文件。但是这个文件不能直接运行,需要在Java虚拟机(VirtualMachine)中运行。 @@ -254,13 +254,13 @@ The position x=1, y=1, radius=3.300000! 好了,我们看到了一般的程序是如何运行的,如下图。 -![Alt text](%E7%AC%AC%E4%B8%80%E7%AB%A0%EF%BC%9A%E6%A6%82%E8%BF%B0/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.drawio.svg) +![Alt text](img/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.drawio.svg) 这种分层的设计理念我们在很多地方都用到,例如网络的TCP/IP协议层,软件系统当中的分层设计。分层的设计的目的就是为上层提供统一且稳定的服务而隔离下层的不同。从上图知,如果操作系统是Windows,无论硬件是Intel还是AMD,上层的应用都可以不做修改的运行(当然CPU架API: application programming interface JDK: Java Developing Kit IDE: Integrated Development Environment 构需要一致)。而Java的高明之处就在于Java自己有虚拟机,屏蔽了所有下层的不同,只要是Java的应用,在有Java虚拟机的平台上都可以运行。 ### 2.2. Java的编译和运行 -![](第一章:概述/20230302095100.png) +![](img/20230302095100.png) ==bytecode是java编译后的二进制代码,只能在java虚拟机上运行。== @@ -294,13 +294,13 @@ Eclipse 是一个开放的框架,基于Eclipse框架的有很多不同语言 启动Eclipse,出现一个Workspace(工作空间)的选择。工作空间是一个目录,Eclipse在这个目录中可以建立多个项目(Project),每个项目可以包含多个java源代码文件。Eclipse在每次运行的时候会让你选择Workspace,这样Workspace->Project->Source code 就是Eclipse管理源代码的层级关系。 -![](第一章:概述/20230302095429.png) +![](img/20230302095429.png) ==请选择一个你方便管理的目录作为Eclipse的Workspace,这个目录路径最好不要包括中文或者是特殊字符。== 第一次打开空的Workspace会出现一个欢迎的界面,关闭就可以了。 -![](第一章:概述/20230302095510.png) +![](img/20230302095510.png) 除了菜单、工具条,Eclipse大约分为上述4个区间。 @@ -308,7 +308,7 @@ Eclipse 是一个开放的框架,基于Eclipse框架的有很多不同语言 在左边有"Create a Java project"的快捷方式新建一个项目,也可以在File->New菜单中找到新建项目的功能。 -![](第一章:概述/20230302095541.png) +![](img/20230302095541.png) 在弹出的对话框中主要是: @@ -321,7 +321,7 @@ Eclipse 是一个开放的框架,基于Eclipse框架的有很多不同语言 生成项目后的界面如下: -![](第一章:概述/20230302095621.png) +![](img/20230302095621.png) 这个界面中项目名称不用说了;JRE System Library 是虚拟机提供的库,类似C语言中提供的标准库(文件、算术、网络库等),这些库中的类(C语言中是头文件)是可以在我们源代码中引用的;src是一个特殊的文件夹,所有的Java源代码必须在这个文件夹中。 @@ -333,17 +333,17 @@ Eclipse 是一个开放的框架,基于Eclipse框架的有很多不同语言 把一个复杂的工程拆分成多个小的代码片段可以便于工程项目的管理与维护,当然编译速度也会加快。但如果所有源代码放在一个文件夹中还是非常混乱,因此Java引入了Package(包)的概念。我们先界面左边src上单击鼠标右键,在菜单中选择New->Package新建一个包。 -![](第一章:概述/20230302095647.png) +![](img/20230302095647.png) 源代码位置一般不要轻易修改,只需要填写包名。 ==注意这里又是名称,记住我们上面的规则== -![](第一章:概述/20230302095710.png) +![](img/20230302095710.png) 现在左边src下面多了一个first的包。现在鼠标右键单击first,菜单中选择New->Class -![](第一章:概述/20230302095740.png) +![](img/20230302095740.png) 1. Name:类名,上面名称的规则。在Java中,一个类**一般**是一个文件(一个文件可以包含多个类,一般不建议)。一个类的定义如同C中结构体类型的定义。Java推荐类名的首字母大写; 2. Modifiers:可视等级,这个以后解释,这里选择 public 就可以了; @@ -381,11 +381,11 @@ public class Hello { ``` 保存(ctl+s)后,可以运行看看结果: -![](第一章:概述/20230302095908.png) +![](img/20230302095908.png) #### 3.2.3. 包和源文件结构 -![](第一章:概述/20230302095923.png) +![](img/20230302095923.png) 我们看看文件系统中的情况,如上图。包其实对应到的就是文件夹。当然一个包中可以再包含子包,如果一个文件夹中可以包含子文件夹一样。 @@ -399,7 +399,7 @@ package first; 表明了这个文件是属于哪个包的,那么可以在src下面建立一个类吗?答案是可以的,不过这里不用新建,我们使用鼠标在左边的工程列表中把已经建立好的Hello.java拖动到src目录这个位置,Eclipse会新建一个同名的文件。但是这个文件在哪里? -![](第一章:概述/20230302100019.png) +![](img/20230302100019.png) 这个文件并不在src文件夹中,而在一个叫做 default package 的包中,我们打开这个文件: @@ -415,7 +415,7 @@ public class Hello { ``` 注意,第一行并没有 package 这个申明。在看看文件系统: -![](第一章:概述/20230302100109.png) +![](img/20230302100109.png) Hello.java 这个文件的确在src文件夹中。 @@ -543,7 +543,7 @@ public class Debug { #### 4.4.1. 设置中断 -![](第一章:概述/20230302100434.png) +![](img/20230302100434.png) 在需要中断(程序会在进入这一行之前暂停)的源代码行号前面双击,会出现一个蓝色的点,表示中断以及设置成功,接下来点击调试按钮就可以让程序运行,并且在设置中断的地方暂停。 @@ -551,7 +551,7 @@ public class Debug { eclipse的调试界面是单独的布局,第一次运行调试会提示进入调试界面,单击switch按钮就可以了。运行调试后出现下面的界面: -![](第一章:概述/20230302100457.png) +![](img/20230302100457.png) 1. 中断行:高亮显示,表示当前需要执行的行(还未执行); 2. 调试窗口:当前的变量值;断电设置;表达式计算等; @@ -573,7 +573,7 @@ eclipse的调试界面是单独的布局,第一次运行调试会提示进入 调试完成后,可能你想要回到以前的编程视图,这时需要单击右上角的视图切换(Perspective)。 -![](第一章:概述/20230302100555.png) +![](img/20230302100555.png) ## 5. 小技巧 @@ -585,7 +585,7 @@ eclipse的调试界面是单独的布局,第一次运行调试会提示进入 菜单:Window->Preference 打开Eclipse偏好设置,如下图,找到Java->Editor->Content Assist,在右边的这个地方点的后面输入26个英文字母(小写即可),点击 Apply and Close 就可以了。 -![](第一章:概述/20230302100616.png) +![](img/20230302100616.png) ### 5.2. 代码格式化 diff --git a/附录1 拼题平台的使用/1677659805079.png b/附录/img/1677659805079.png similarity index 100% rename from 附录1 拼题平台的使用/1677659805079.png rename to 附录/img/1677659805079.png diff --git a/附录1 拼题平台的使用/1677660511748.png b/附录/img/1677660511748.png similarity index 100% rename from 附录1 拼题平台的使用/1677660511748.png rename to 附录/img/1677660511748.png diff --git a/附录1 拼题平台的使用/1677660700874.png b/附录/img/1677660700874.png similarity index 100% rename from 附录1 拼题平台的使用/1677660700874.png rename to 附录/img/1677660700874.png diff --git a/附录1 拼题平台的使用/1677660851190.png b/附录/img/1677660851190.png similarity index 100% rename from 附录1 拼题平台的使用/1677660851190.png rename to 附录/img/1677660851190.png diff --git a/附录1 拼题平台的使用/1677661189299.png b/附录/img/1677661189299.png similarity index 100% rename from 附录1 拼题平台的使用/1677661189299.png rename to 附录/img/1677661189299.png diff --git a/附录/img/20230303100657.png b/附录/img/20230303100657.png new file mode 100644 index 0000000..9a6524a Binary files /dev/null and b/附录/img/20230303100657.png differ diff --git a/附录/img/20230303150733.png b/附录/img/20230303150733.png new file mode 100644 index 0000000..2b40711 Binary files /dev/null and b/附录/img/20230303150733.png differ diff --git a/附录/img/20230303150903.png b/附录/img/20230303150903.png new file mode 100644 index 0000000..ea8bcad Binary files /dev/null and b/附录/img/20230303150903.png differ diff --git a/附录/img/20230303150928.png b/附录/img/20230303150928.png new file mode 100644 index 0000000..da6a11f Binary files /dev/null and b/附录/img/20230303150928.png differ diff --git a/附录1 拼题平台的使用.md b/附录/附录1 拼题平台的使用.md similarity index 80% rename from 附录1 拼题平台的使用.md rename to 附录/附录1 拼题平台的使用.md index 8cae672..c548569 100644 --- a/附录1 拼题平台的使用.md +++ b/附录/附录1 拼题平台的使用.md @@ -3,10 +3,8 @@ -- [拼题平台使用](#拼题平台使用) -- [编程题和函数题](#编程题和函数题) - - [编程题](#编程题) - - [函数题](#函数题) +- [编程题](#编程题) +- [函数题](#函数题) @@ -23,7 +21,7 @@ ==拼题平台一般是单文件编译,并且对主类是有严格要求的,必须是 Main。你在本地的编辑的代码,可能主类并不是Main,但是提交到拼题后,请修改主类的名称!否则编译会失败。== -![1677659805079.png](./%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8/1677659805079.png) +![1677659805079.png](./img/1677659805079.png) 1. 编译器选择Java,一般只有这个选项,如果有多个选项,请选择Java; 2. 对一编程题,主类必须是Main,如果有import,也需要写出来; @@ -36,17 +34,17 @@ 当运行后,如果使用的是标准的测试用例,出现下面的对比: -![1677660511748.png](./%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8/1677660511748.png) +![1677660511748.png](./img/1677660511748.png) 上图中,左边是你你的运行结果;右边是正确的运行结果。(3)位置处标识了你运行结果和预期结果的不同。这个例子中你运行结果的最后一行多了一个回车。一般来说,最后一行多一行回车没有什么关系,会被判定为正确。 如果程序编译错误,在运行后会出现编译错误界面,可以根据该界面去排错,如下图: -![1677660700874.png](./%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8/1677660700874.png) +![1677660700874.png](./img/1677660700874.png) ==界面的最下面有“提交本题作答”,在完成编程后务必点击提交,否则你的代码不会被上传和评阅!== 提交作答后的界面如下图: -![1677660851190.png](./%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8/1677660851190.png) +![1677660851190.png](./img/1677660851190.png) 界面在(1)和(2)的位置提示了你该题的得分;每个编程题或者函数题都有隐藏的测试点,一般可能是边界条件测试点,或者是需要进行错误处理的测试点。每个测试点都有一定的得分。例如上图中有5个测试点。 @@ -54,7 +52,7 @@ 函数题关于编译和测试的方式与编程题一致,唯一不同的是你只需要提交代码的一部分,一般在题面中有详细的说明,如下图: -![1677661189299.png](./%E9%99%84%E5%BD%951%20%E6%8B%BC%E9%A2%98%E5%B9%B3%E5%8F%B0%E7%9A%84%E4%BD%BF%E7%94%A8/1677661189299.png) +![1677661189299.png](./img/1677661189299.png) 左边是题面,右边是你的提交代码。可以看到,右边并没有完整的主类定义,而主类的定义在左边的题面中。 diff --git a/附录/附录2 课程设置.md b/附录/附录2 课程设置.md new file mode 100644 index 0000000..768301e --- /dev/null +++ b/附录/附录2 课程设置.md @@ -0,0 +1,17 @@ + +## 1. 理论课程 + +### 1.1. 理论课程安排 +![课程内容](img/20230303100657.png) + +### 1.2. 理论课程考核 +![Alt text](img/20230303150733.png) + +## 2. 实践课程 + +### 2.1. 实践课程安排 + +![Alt text](img/20230303150903.png) +### 2.2. 实践课程考核 + +![Alt text](img/20230303150928.png) \ No newline at end of file