Eclipse的使用



前言

本博客介绍Eclipse的简单使用,借鉴之处已经注明出处,本博客引用博主之前写的编程题来介绍Eclipse的一些常用使用技巧 ——>​​第九章编程作业第三题​


提示:本博客主要介绍Eclipse的使用,其他知识点不作为重点

一、Eclipse的介绍

  • Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。
  • Eclipse 是 Java 的集成开发环境(IDE),当然 Eclipse 也可以作为其他开发语言的集成开发环境,如C,C++,PHP,和 Ruby 等。
  • Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

注:上述介绍出自菜鸟教程

二、下载与安装

1.下载

2.安装

  • 出现图所示下载界面。选择Eclipse IDE for Java Developers,根据自己安装的JDK, 决定是下载32位还是64位。下载完成后,直接解压。进入目录,双击eclipse.exe即可使用。

Eclipse 教程_eclipse

三、基本使用步骤

1.启动

  • 启动时会先出现设置工作空间界面,如图所示。工作空间指Java项目存储的目录,一般采用默认工作空间目录即可。

Eclipse 教程_java_02

2.创建项目

  • 按如图所示选择File-New-Project

Eclipse 教程_快捷键_03---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 选择Java Project 并点击Next

Eclipse 教程_开发工具_04

  • 填写项目名,选择JER环境(一般环境默认即可)

Eclipse 教程_快捷键_05

  • 创建项目后项目目录可能会消失

Eclipse 教程_eclipse_06

  • 点击小加号

Eclipse 教程_开发工具_07

  • 将多种模式都添加到右上角

Eclipse 教程_开发工具_08

  • 点击这个图标即可看到之前创建的项目了

Eclipse 教程_开发工具_09

3. 创建包及class文件

  • 注意: 需要在项目文件夹的src文件夹下创建包
  • 选择-src-右键-New-packeg创建包

Eclipse 教程_开发工具_10

  • 填写包名,并创建

Eclipse 教程_快捷键_11

  • 选择刚才创建的包右键-New-Class,填写public对应的类名并创建

Eclipse 教程_eclipse_12

Eclipse 教程_java_13

四、一些使用技巧

以下题为例,在做题过程中,体会eclipse的基本使用技巧

实现List和Map数据的转换.具体要求如下:

功能1:定义方法public static void listToMap(){}将List中Student元素封装到Map中

1) 使用构造方法Student(int id,String name,int age,String sex,int age)创建多个学生信息并加入List;

2) 遍历List,输出每个Student信息;

3) 将List中数据放入Map,使用Student的id属性作为key,使用Student对象信息作为value;

4) 遍历Map,输出每个Entry的key和value.

功能2:定义方法public static void mapToList(){}将Map中Student映射信息封装到List

1) 创建实体类StudentEntry,可以存储Map中每个Entry的信息;

2) 使用构造方法Student(int id,String name,int age,String sex,int age)创建多个学生信息,
并使用Student的id属性作为key,存入Map;

3) 创建List对象,每个元素类型是StudentEntry;

4) 将Map中每个Entry信息放入List对象.


功能3:说明Comparable接口的作用,并通过分数来对学生进行排序.

1. 快速生成构造方法

  • 点击右键-选择Source-Gen…Fileds可根据需求快速生产构造方法

Eclipse 教程_eclipse_14

  • 选择构造方法需要初始化的成员变量

Eclipse 教程_java_15

  • 如图可快速生成构造方法:

Eclipse 教程_构造方法_16

2.自动补全

  • 通过Alt+/ 可实现自动联想并快速输入main函数和其他方法或变量的补全

如下图自动补全无参构造函数
Eclipse 教程_开发工具_17

  • 输入main关键字然后按Alt+/ 键再回车即可实现快速创建main函数

Eclipse 教程_开发工具_18

3. 快速生成get-set方法

  • 右键-Source-Generate Getter…

Eclipse 教程_开发工具_19

  • 选择需要生成get-set方法的对应的成员变量

Eclipse 教程_eclipse_20

  • 可看到生成的get-set方法

Eclipse 教程_开发工具_21

  • Alt+shift+↓ 可实现快速copy某一行

Eclipse 教程_快捷键_22

4. 查找某变量所在位置,或者替换某变量的变量名

  • 选中变量按crtl+f,即可实现查找此变量在别的出现的位置,从而进行替换

Eclipse 教程_构造方法_23

5. 快速导入包

  • 当我们引用类不同包下的类或者方法时,eclipse会出现如图所示警告:

Eclipse 教程_构造方法_24- 点击小叉即可查看报错原因,这里提示要导入包:

Eclipse 教程_快捷键_25

  • 点击import …即可快速导入:

Eclipse 教程_java_26

  • 另一种快速导入包的方法:ctrl+shift+o

6.合理利用eclipse的自动提示错误

  • 当未捕获异常或抛出异常、未导入包,变量为定义等错误或异常时,都可点小叉快速查看错误或异常,并及时解决。

7. 快速生成Sytem.out.println()函数

  1. 输入sout

Eclipse 教程_开发工具_27
2. 按Alt+/自动生成Sytem.out.println();

Eclipse 教程_开发工具_28

8. 快速注释多行

  • 先选中多行
    Eclipse 教程_java_29
  • 按住ctrl+/即可快速注释多行

Eclipse 教程_构造方法_30

9. 多行缩进

  • 选中需要缩进的多行:

Eclipse 教程_eclipse_31

  • 点击tab键即可实现多行缩进:

Eclipse 教程_eclipse_32

10. 向下向上快速插入一行

  • 在当前行之上插入一行快捷键: Ctrl + Shift + Enter
  • 在当前行之下插入一行快捷键: Shift + Enter

五、调试

1. 选择断点

  • 点击需要调试的某几行,如果出现如图的点,则说明选择成功:

Eclipse 教程_快捷键_33

2. 开始调试

  • 右键–DebugAs–JavaApplication开始调试

Eclipse 教程_eclipse_34

3. 查看某段代码的运行结果

  • 进入Debug模式,右边的Variables可查看运行过程变量的变化情况及值变化

Eclipse 教程_快捷键_35

  • 双击Variables可以放大,上面的这些按钮用于调试:

Eclipse 教程_快捷键_36

  • 点击step into会进入方法所在包可查看详细执行过程,一般不用这个调试代码

Eclipse 教程_java_37

  • 点击step over执行断点所在行代码,并进入下一个断点,可查看代码执行过程
  • 如图执行20行第一个断点后,stuList容器中添加了stu1这个对象

Eclipse 教程_java_38

  • 点击此按钮可以终止调试过程

Eclipse 教程_快捷键_39

六、查看开发文档

1. 调出javadoc文档

  • 在eclipse中,选中jdk中的类,按快捷键Shift+F2,调出javadoc文档

Eclipse 教程_快捷键_40

  • 效果如下 :

Eclipse 教程_java_41

2. 直接查看

  • 鼠标移动至选中jdk中的类、方法等上,即可查看此类或方法的详细描述信息。

Eclipse 教程_快捷键_42

七、查看源码(进入方法、类或接口等所在的包)

  • ctrl+左键查看源代码:

1. change Attached Source问题解决

2.进入所在包,查看源码及实现

  • 按住ctrl+点击需要查看源码的方法或类进入

Eclipse 教程_快捷键_44

  • 进入源码所在位置可以看到其实现
  • outline可以查看所在类或接口包含的方法,点击需要查看的方法可以直接调到所在位置

八、常用快捷键

copy自——>​​百度百科​

1. 默认快捷键

Ctrl+1           快速修复(最经典的快捷键,就不用多说了)
Ctrl+D 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Alt+/ 补全当前所输入代码
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没
有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变为大写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

2. 自定义快捷键

  • window菜单->preferences子菜单->general->keys就可以修改快捷键了

Eclipse 教程_eclipse_45
Eclipse 教程_开发工具_46

九、拓展

1. 重写toString方法

- Object类里已经有toString方法,而所有类都是继承Object类,所以“所有类都有这个方法”
- 重写toString方法,用system.out.println(xx) 打印对象输出的是重写toString的return部分,
- 不重写的话默认toString输出的是类的名字和内存地址的形式:getClass().getName()+'@'+Integer.toHexString(hashCode());
- 重写toString方法可以在打印对象时,输出我们想要的信息.

2. Comparable接口的作用

TreeSet底层实际是用TreeMap实现的,内部维持了一个简化版的TreeMap,通过key来存储Set的元素. 
TreeSet内部需要对存储的元素进行排序,因此,我们对应的类需要实现Comparable接口.这样,
才能根据compareTo()方法比较对象之间的大小,才能进行内部排序.

3. 容器的使用