一、学习的背景
- 1.1、目前很多的IT同行在去面试的时候都会被问到会不会
数据结构
和算法
的问题,个人觉得很正常,这毕竟是内功。
- 数据结构 是相互之间存在一种或者多种特定关系的数据元素的集合。它也是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
- 数据 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的特殊符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符以及声音、图像、视频等非数值类型。
- 不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称为 结构。
- 1.2、学习算法与数据结构的好处:写出性能更高的程序、理解底层更够容易,出去面试更有底气......
- 1.3、语言的选择(
JAVA
)
C:非面向对象,写法复杂,大量内存管理代码
C++:写法复杂,大量的内存管理代码
Objective-C、Swift:需要Mac系统
JavaScript、Python:依赖于脚本解释器,同一个逻辑使用不同的写法会影响代码的性能,影响算法性能测评
Java:语法丰富严禁,更多的注意力可以放到业务逻辑上,建议至少使用 Java8(JDK>=1.8
)
- 1.4、整体大纲
二、开发环境
- 2.1、eclipse(或者 IntelliJ IDEA),优点如下
- 明亮、简洁、舒服
- 多个项目可以在同一个窗口显示
- 在学习的过程中不会使用到后台开发的框架
- 支持Mac、Windows
- 2.2、JDK,版本要求 >= 1.8,根据不同的系统自己选择,我的是Mac,选择的是下面的
三、配置环境变量
- 3.1、eclipse 创建项目的设置
- 打开 Console:
Window
->Show View
->Console
- 底部再保留一个
Problems
右上角保留一个 Outline
- 3.2、字体的设置
command + ,
(Eclipse->Preferences):搜索font
->Colors and Fonts-
>Basic
->Text Font
->Edit
,字体大小选择适合自己就好 - 3.3、创建一个项目:
File
->New
->Java Project
,项目名字 :01-Test
- 在 项目 里面创建一个类:文件名:Main,包名:com.www(包名遵循 域名反过来写)
- Java运行需要一个入口,也就是 main方法,如下
package com.www; public class Main { public static void main(String[] args) { System.out.println("Hello world!"); } }
- 3.4、行号的添加:选中
Show Line Numbers
- 3.5、常用快捷键
- 代码提示
Mac:Option
+/
Windows:Alt
+/
- 自动导入所需要的类
Mac:Command
+Shift
+O
Windows:Ctrl
+Shift
+O
- 错误修复
Mac:Command
+1
Windows:Ctrl
+1
- 快速生成代码
Mac:Option
+Command
+S
Windows:Alt
+Shift
+S
- 3.6、代码增强提示
将需要代码提示的字符输入到下面的文本框,比如:.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
,敲什么东西都自动有提示
3.7、修改工作空间默认编码:很多平台的编码都是 UTF-8
,所以我们要修改为UTF-8
3.8、导入已经存在的项目