10从零开始学Java之开发Java必备软件Intellij idea的安装配置与使用
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦
CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者
前言
壹哥在前面的文章中,带大家下载、安装、配置了Eclipse这个更好用的IDE开发工具,并教会了大家如何在Eclipse中进行项目的创建和代码编写、运行。但是实际上,在各种IDE开发工具中,Eclipse的功能并不是最好的,开发效率也并不是最高的。今天壹哥会给大家介绍另一个更先进的,可以说是目前开发Java最好用的IDE工具--Intellij Idea。这个软件是目前最流行、最好用的开发工具,大多数Java程序员都在使用它,所以这个软件的使用,大家必须要掌握哦。
-----------------------------前戏已做完,精彩即开始----------------------------
全文大约【3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一. Intellij简介
IntelliJ IDEA是针对Java语言的集成开发环境(IDE)。IntelliJ在业界被公认为是现在最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面可以说非常牛逼。IDEA是捷克JetBrains公司开发的产品,它的旗舰版还支持HTML、CSS、PHP、MySQL、Python等语言,免费版支持Java、Kotlin等少数语言。

二. 下载
如果我们想要安装IDEA,首先需要获取到它的安装包。大家要注意,Intellij Idea是收费的产品,但是提供了免费的开源版。如果我们只是想简单学习使用,可以下载免费的开源社区版;但如果是想体验完整的功能,肯定是要下载购买付费版。当然,目前网上有很多办法可以实现避免付费,你懂的。但壹哥还是建议大家尊重知识产权,养成知识付费的意识。
2.1 IDEA下载
Intellij的下载地址如下:
https://www.jetbrains.com/idea/download/#section=windows
左侧的是付费版,正常情况下可以免费使用30天。右侧的是免费的社区版,功能没有那么齐全,但进行基本的Java开发是没问题的。

2.2 其他版本下载
我们可以在以下地址上下载各个版本的Intellij。大家注意,对于这种开发工具而言,我们不必追求最新的版本。因为最新的版本,可能不够稳定,会有一些bug存在,咱们选一个比较经典的稳定版本使用即可。尤其是对新手小白而言,开发工具的新特性你都用不上,更不必去追求最新版的开发工具。你只需要把最经典的东西学明白就行,别把时间精力浪费在那些暂时和你没关系的地方上。
https://www.jetbrains.com/idea/download/other.html

三. 安装
本文以2020.3.1版本为例进行演示,其他版本的安装过程大同小异。
3.1 选择安装目录
壹哥之前就跟大家强调过,一般的软件最好不要安装在C盘。因为C盘属于系统盘,一方面C盘的文件太多会影响到系统的运行速度,另一方面如果将来小伙伴重装了系统还得重新去安装和配置IDEA。

3.2 创建桌面快捷方式
选择自己系统对应的版本,创建一个桌面快捷方式。

3.3 等待安装
接着就会进入到等待安装的界面,需要一点时间。

3.4 启动IDEA
安装完毕后,就可以启动IDEA了。

四. 配置
但为了后期能更好地使用IDEA进行编码,我们在软件安装完成后还需要对它进行一些个性化的配置。另外因配置项太多,且考虑到有些配置前期用不上,壹哥今天主要针对初学者列举一些常用的设置。
4.1 设置主题
小伙伴们可以在这里可以根据个人的喜好选择自己喜欢的主题风格,我个人比较倾向于炫酷黑,另外你也可以在网上找一些其他更漂亮的主题下载,导入到IDEA中,这都是可以实现的。

4.2 其他设置
我们可以在这里进行自定义颜色、风格等的设置。

4.3 设置字体大小
可以在这里设置编辑器的字体大小。可以把字体设置的合适一些,不要太小,字体太小并不会省电哦。

4.4 设置滚轮调整字体显示的大小
在这里可以设置滚轮调整字体显示的大小。

4.5 设置编码格式
壹哥之前就跟大家说过,我们安装好编辑器之后,必须先设置编码格式。我们要在这里统一修改编码格式为UTF-8!必须这样做!

4.6 设置自动导包
在这里开启自动导包功能,可以大大提高我们的开发效率哦,否则写代码就太麻烦了。

4.7 设置显示行号分隔符
可以在这里显示出代码的行号和分隔符。

4.8 设置代码提示
IDEA比较厉害的一个功能就是代码的自动提示,这一块必须设置好,一般勾选”First letter only“即可。

4.9 设置注释颜色
这里可以对代码的注释进行设置。

4.10 设置文件模板
这里可以设置你自己喜欢的文件模板。
五. 使用
配置完成后,我们就可以开心地使用IDEA了~~~
5.1 创建项目
在这里,选择新建一个项目。

对于我们初学者来说,我们可以选择创建java项目以及自己安装的JDK。

创建项目时,不要使用IDEA自带的模板,这个会影响创建项目的速度。

接着选择项目存放的路径以及项目名称。

5.2 项目结构
项目创建好之后,壹哥再来给大家介绍一下项目的包结构。

5.3 创建Java类
接着我们就可以创建Java类了。

5.4 编写并运行程序
在Java类中编写相关的业务代码,然后运行Java程序。代码的左侧会有绿色的三角箭头,点击即可运行。

讲完了这些基本配置和使用之后,接下来壹哥再给大家列举一些我们开发时常用的快捷键。
六. IDEA快捷键
常用的快捷键大家要记住,边练习边记忆,跟你玩游戏一样,要把那些快捷键都记下来,才能提高你的效率。
6.1 常用快捷键
快捷键 | 介绍 |
Ctrl+F | 在当前文件进行文本查找(必备) |
Ctrl+R | 在当前文件进行文本替换(必备) |
Ctrl+Y | 删除光标所在行代码或者删除选中的行代码(必备) |
Ctrl+D | 复制光标所在行代码或者复制选中的行代码(必备) |
Ctrl+/ | 注释光标所在行代码或者注释选中的行代码(必备) 单行注释 |
Ctrl+Shift+/ | 注释光标所在行代码或者注释选中的行代码(必备) 多行注释 |
Alt+Enter | 提示快速修复代码的选择(光标要放在错误上) (必备) |
F2 | 跳转到程序报错的位置(必备) |
Alt+Insert | 生成代码,生成 Getter、Setter、构造器等(必备) |
Shift+Enter | 自动在当前光标位置下方开辟新的行(必备) |
Ctrl+Alt+L | 格式化代码(与QQ热键冲突)(必备) |
Shift+F10 | 运行Java程序 |
Ctrl+Z | 撤销操作 |
Ctrl+Shift+Z | 还原操作(与搜狗输入法热键冲突) |
Tab | 缩进代码 |
Shift + Tab | 取消缩进 |
Ctrl+ + | 展开当前方法 |
Ctrl + Shift + + | 展开所有方法 |
Ctrl+ - | 收起当前方法 |
Ctrl+ Shift + - | 收起所有方法 |
Ctrl+B | 查看当前类或者方法或者变量定义的位置(等同于按住Ctrl键+左键点击) |
Ctrl+N | 根据指定的类名查找相关的类 |
Ctrl+O | 重写父类方法 |
Ctrl+I | 实现接口方法 |
Ctrl+H | 查看当前类结构 |
Ctrl+Alt+左右方向键 | 切换到上一个或者下一个代码操作处 |
Alt + 左右方向键 | 切换文件 |
Alt+ 上下方向键 | 光标跳转到上一个方法处 |
Alt+Shift+上下方向键 | 移动当前选择的代码 |
Ctrl+Shift+Enter | 自动在当前行末尾添加分号 |
按两下Shift | 弹出搜索弹窗 |
6.2 自定义快捷键
如果以上这些快捷键,你用起来不顺手,没关系,我们可以把默认的快捷键修改成自己想要的快捷键。
6.2.1 打开搜索
首先在IDEA的设置中打开搜索选项。

6.2.2 修改对应的快捷键
接着选择要修改的某个快捷键,进行重新设置,如下图所示。

好了,到此为止,壹哥就带各位小伙伴把IDEA的下载、安装及配置都讲解完毕了,现在你知道该怎么使用IDEA了吗?如果你还有什么问题,请在评论区给壹哥留言或私信,我看到后会及时解答你的疑惑。
-----------------------------正片已结束,来根事后烟----------------------------
七. 结语
至此,壹哥就把最好用的IDE开发工具Intellij带大家下载、安装、配置完毕了,现在你有没有配置好呢?另外一开始使用Intellij时,可能会不太熟练,或者感到很别扭,这都是正常现象。我们以后会天天使用Intellij,你不用担心不会使用Intellij,基本上使用一周就会很溜了。
在学完这三个常用的开发工具(Notepad++、Eclipse、Intellij Idea)后,接下来壹哥会带大家全力学习Java的各种基础语法,请各位做好准备哦,重点即将达到!
另外如果你独自学习觉得有很多困难,可以加入壹哥的学习互助群,大家一起交流学习。
八. 配套视频
如果你不习惯阅读技术文章,或是对文中的技术概念不能很好地理解,可以来看看壹哥帮你筛选出的视频教程。
与本文配套的Java学习视频,链接如下:
https://player.bilibili.com/player.html?bvid=BV1av4y1P7yR
Intellij的下载视频链接:
https://player.bilibili.com/player.html?bvid=BV1av4y1P7yR&p=2&page=2
Intellij安装与激活视频链接:
https://player.bilibili.com/player.html?bvid=BV1av4y1P7yR&p=3&page=3
Intellij基本设置视频链接:
https://player.bilibili.com/player.html?bvid=BV1av4y1P7yR&p=4&page=4
Intellij基本使用视频链接:
https://player.bilibili.com/player.html?bvid=BV1av4y1P7yR&p=5&page=5
九. 今日作业
1. 第一题
下载、安装、配置出自己的Intellij Idea软件。
2. 第二题
利用Intellij编写出一个HelloWorld案例并运行出结果。
相关文章:

10从零开始学Java之开发Java必备软件Intellij idea的安装配置与使用
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者前言壹哥在前面的文章中,带大家下载、安装、配置了Eclipse这个更好用的IDE开发工具,并教会了大家如何在Ecli…...

04 - 进程参数编程
---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录1. 问题1.1 再论execve(...)1.2 main函数(默认进程入口)1.3 进程空间概要图1.4 编程实验:进程参数剖析1…...

【python进阶】你真的懂元组吗?不仅是“不可变的列表”
📚引言 🙋♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅,…...
《C++ Primer Plus》(第6版)第13章编程练习
《C Primer Plus》(第6版)第13章编程练习《C Primer Plus》(第6版)第13章编程练习1. Cd类2. 使用动态内存分配重做练习13. baseDMA、lacksDMA、hasDMA类4. Port类和VintagePort类《C Primer Plus》(第6版)第…...

【多线程】多线程案例
✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 ✨每日一语:we can not judge the value of a moment until it becomes a memory. 目 录🍝一. 单例模式🍤1. 饿汉模式实现🦪2. 懒汉模…...

【IoT】嵌入式驱动开发:IIC子系统
IIC有三种接口实现方式 三种时序对比: 图1 IIC子系统组成 图2 图3 IIC操作流程 设备端 1.i2c_get_adapter 2.i2c_new_device(相当于register设备) 3.I2c_put_adapter 驱动端 1.填充i2c_driver 2.i2c_add_driver(相当于register驱动) 3.在probe中建立访问方式 client相…...

DJ2-4 进程同步(第一节课)
目录 2.4.1 进程同步的基本概念 1. 两种形式的制约关系 2. 临界资源(critical resource) 3. 生产者-消费者问题 4. 临界区(critical section) 5. 同步机制应遵循的规则 2.4.2 硬件同步机制 1. 关中断 2. Test-and-Set …...
AI独立开发者:一周涨粉8万赚2W美元;推特#HustleGPT GPT-4创业挑战;即刻#AIHackathon创业者在行动 | ShowMeAI周刊
👀日报&周刊合辑 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 这是ShowMeAI周刊的第7期。聚焦AI领域本周热点,及其在各圈层泛起的涟漪;拆解AI独立开发者的盈利案例,关注中美AIG…...

不要迷信 QUIC
很多人都在强调 QUIC 能解决 HoL blocking 问题,不好意思,我又要泼冷水了。假设大家都懂 QUIC,不再介绍 QUIC 的细节,直接说问题。 和 TCP 一样,QUIC 也是一个基于连接的,保序的可靠传输协议,T…...
【28】Verilog进阶 - RAM的实现
VL53 单端口RAM 1 思路 简简单单,读取存储器单元值操作即可 2 功能猜想版 说明: 下面注释就是我对模块端口信号 自己猜测的理解。 因为题目并没有说清楚,甚至连参考波形都没有给出。 唉,这就完全是让人猜测呢,如果一点学术背景的人来刷题,指定不容易!! 好在,我有较为…...

【MySQL】聚合查询
目录 1、前言 2、插入查询结果 3、聚合查询 3.1 聚合函数 3.1.1 count 3.1.2 sum 3.1.3 avg 3.1.4 max 和 min 4、GROUP BY 子句 5、HAVING 关键字 1、前言 前面的内容已经把基础的增删改查介绍的差不多了,也介绍了表的相关约束, 从本期开始…...

初时STM32单片机
目录 一、单片机基本认知 二、STM系列单片机命名规则 三、标准库与HAL库区别 四、通用输入输出端口GPIO 五、推挽输出与开漏输出 六、复位和时钟控制(RCC) 七、时钟控制 八、中断和事件 九、定时器介绍 一、单片机基本认知 单片机和PC电脑相比…...

debian部署docker(傻瓜式)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 debian10部署dockerdebian10部署docker(傻瓜式)一、准备工作二、**使用 APT 安装,注意要先配置apt网络源**1.配置网络源2.官方下载三、安装…...

JS判断是否为base64字符串如何转换为图片src格式
需求背景 : 如何判断后端给返回的 字符串 是否为 base-64 位 呢 ? 以及如果判断为是的话,如何给它进行转换为 img 标签可使用的那种 src 格式 呢 ? 1、判断字符串是否为 base64 以下方法,可自行挨个试试,…...

【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 向域对象共享数据一、使用 原生ServletAPI二、…...
本科课程【移动互联网应用开发(Android开发)】实验3 - Activity及数据存储
大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。 如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never let it rest, until good is better, and better best. 近期会把自己本科阶段的一些课程设计、实验报…...
为何在 node 项目中使用固定版本号,而不使用 ~、^?
以语雀 文档为准 使用 ~、^ 时吃过亏希望版本号掌握在自己手里,作者自己升级(跟随官方进行升级,就算麻烦作者,也不想麻烦使用者)虽然 pnpm 很好用,但是不希望在项目中用到(临时性解决问题可以选…...

leetcode -- 876.链表的中间节点
文章目录🐨1.题目🐇2. 解法1-两次遍历🍀2.1 思路🍀2.2 代码实现🐁3. 解法2-快慢指针🌾3.1 思路🌾3.2 **代码实现**🐮4. 题目链接🐨1.题目 给你单链表的头结点head&#…...
企业网络安全防御策略需要考虑哪些方面?
随着企业数字化转型的加速,企业网络安全面临越来越多的威胁。企业网络安全不仅仅关乎企业数据的安全,还关系到企业的声誉和利益,因此,建立全面的网络安全防御策略至关重要。 企业网络安全防御策略的实现需要考虑以下几个方面&…...

文心一言 vs. GPT-4 —— 全面横向比较
文心一言 vs. GPT-4 —— 全面横向比较 3月15日凌晨,OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日,3月16日下午百度发布大语言模型——文心一言。发布会上&…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...

6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...

RabbitMQ 各类交换机
为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息:将消息…...

基于小程序老人监护管理系统源码数据库文档
摘 要 近年来,随着我国人口老龄化问题日益严重,独居和居住养老机构的的老年人数量越来越多。而随着老年人数量的逐步增长,随之而来的是日益突出的老年人问题,尤其是老年人的健康问题,尤其是老年人产生健康问题后&…...

Android Framework预装traceroute执行文件到system/bin下
文章目录 Android SDK中寻找traceroute代码内置traceroute到SDK中traceroute参数说明-I 参数(使用 ICMP Echo 请求)-T 参数(使用 TCP SYN 包) 相关文章 Android SDK中寻找traceroute代码 设备使用的是Android 11,在/s…...