IDEA相关操作

IDEA安装

安装链接:JetBrains: Essential tools for software developers and teams
image.pngimage.png
根据系统下载安装包,修改安装路径,然后什么也不用选,安装好就可以了。

更改字体

FILE——Settings——Editor——font——23

新建项目

为了在合适的文件夹下新建文件,我们首先要找到文件夹(以JavaProject为例)
image.png
image.png
可以在Module JDK处找到我们JDK的安装目录(找到根目录即可,不需要bin)。
image.pngimage.png
image.png
注意:Module name与root要保持一致,如果文件夹里没有JavaProject文件,那么就会根据路径创造一个。
然后就是在JavaProject中创建一个项目文件夹,我们假设为Hello。 image.png
同样的,name与root保持一致,否则会出现错误。
在Hello中的src文件夹里创造Java Class(注意那个Hello.iml不能删除,否则src会失效)。然后起一个名字,在里面书写代码即可。
image.png
image.png
在Bulid中查看代码运行结果(或者直接点箭头)。
image.png

修改菜单字体

image.png
把”Use custom font“选上,调整字体即可。

修改主题

image.png image.png

修改编码

image.pngimage.png

快捷键

1. 删除当前行,默认是ctrl + Y,可以自己配置为 ctrl +d。
image.png
image.pngimage.pngimage.png
2. 在下一行复制当前行,默认ctrl+d,自己可以配置成 ctrl + alt + 向下箭头(似乎笔记本不行)。
image.png
3. 补全代码:alt + /
4. 添加注释:ctrl + /
5. 导入改行需要的类(比如Scanner):先配置auto import,然后使用 alt + enter(默认)。把两个对号都选上即可。
image.png
6. 快速格式化代码 ctrl + alt + L
7. 快速运行程序:默认为 shift + F10,自己定义: alt + R,要注意一点,新写完的程序第一次运行需要手动操作,因为没有这个程序运行的记录,手动运行一次后就可以使用快捷键了。
image.png
8. 生成构造器:alt + insert —> constructor —> alt多选(选中的元素将成为参数)
9. 查看一个类的层级关系:ctrl + H
10. 将鼠标把一个方法名拉住,输入 ctrl + B,可以定位到该方法定义的位置。
11. 通过在new后面加 .var 可以自动分配变量名。
image.png
image.png
image.png
12. 生成封装的 Set 和 Get 函数:alt + Insert —-> Getter and Setter —-> 按住 ctrl 多选。
image.pngimage.png
13. 去掉构造器的提示信息: 把”Show parameter hins for”去掉就好了。
image.png
14. 生成for循环:XX.for
image.png
image.png
15. 每次创建类都生成版权信息:在Includes里书写
image.png

模板

file -> settings -> editor -> Live templates -> Java:查看有哪些模板快捷键,也可以自己增加模板。常用的比如 main,sout,fori 等。
image.png
用右上角的加号添加自己的模板:
image.png
在左下角的 define 中,添加作用域。image.pngimage.png
image.png
image.png
生成输出语句:
image.png
生成for循环:
image.png
生成main方法:
image.pngimage.png

断点调试(debug)

简介

  1. 断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。进行分析从而找到这个Bug
    2. 断点调试是程序员必须掌握的技能。
    3. 断点调试也能帮助我们查看Java底层源代码的执行过程,提高程序员的Java水平。
    注:在断点调试的过程中,是运行状态,是以对象的运行状态来执行的。

    快捷键

    F7(跳入方法内) F8(逐行执行代码) shift + F8(跳出方法) F9(resume,执行到下一个断点)
    image.pngimage.png

    调试异常

    1. int[] a = {1,2,3};
    2. for(int i = 0 ; i<4;i++ ){
    3. System.out.println(a[i]); //在i=3时会报错
    4. }
    image.png

    查看源码

    方法1:使用 foce step into : 快捷键为 alt + shift +F7。
    方法2:Settings —> Build,Execution,Deployment —> Debugger —> Stepping,把 Do not step into the classes 中的 java. 和 javax. 取消勾选。然后用Step into(F7)即可进入方法
    image.png
    退出方法查看用Step out(shift + F8)。
    image.png

    语句跳跃

    用 Resume Program(F9)可以将Debug跳转到下一个断点,中间的语句直接执行。值得一提的是——1. 可以用Step into 进入方法后,在方法里设置断点。2. 在Debug过程中也可以设置断点。

    对象断点的应用

    1. 可以用Debug查看对象创建的过程。
    image.png
    image.png 用Step into 进入该对象中查看具体初始化方法。
    默认初始化:
    image.png
    显示初始化:
    image.png
    构造器:
    image.png image.png
    image.png
    2. 可以用断点调试一步步查找到调用的方法。
    image.png
    用Step into进入 println 方法。
    image.png
    再用Step into方法进入 valueOf 这个方法。
    image.png
    发现 valueOf 调用了 toString 方法,用Step into进入 toString 方法。
    image.pngimage.png
    最终找到了在Person类中重写的 toString 方法。
    3. 还可以用断点调试验证动态绑定机制
    1. public class Person {
    2. public void run(){
    3. System.out.println("人类跑步");
    4. }
    5. } //父类
    6. public class Student extends Person{
    7. public void run(){
    8. System.out.println("学生跑步");
    9. }
    10. }//子类
    11. public static void main(String[] args) {
    12. Person a = new Student();//向上转型
    13. a.run(); //Step into
    14. }
    Step into后发现调用的是学生的方法。按照向上转型的理论,不能调用子类独有的成员。当调用run方法时,根据动态绑定机制先从子类查找,而调用属性时,没有动态绑定,根据编译类型
    image.pngimage.png