Java进阶01进阶版基础知识 IDEA快捷键+常用插件

文章目录

    • 一、补充的几个基础知识
    • 二、数据类型进阶版
    • 三、数据类型提升
    • 四、String类型
    • 五、Idea快捷键
    • 六、IDEA常用插件
        • 1、Alibaba Java Coding Guidelines
        • 2、jclasslib bytecode viewer
        • 3、Translation
        • 4、GenerateAllSetter
        • 5、Rainbow Brackets
        • 6、CodeGlance Pro
        • 7、Statistic
        • 8、Presentation Assistant
        • 9、Key Promoter X
        • 10、JavaDoc
        • 11、 LeetCode Editor
        • 12、GsonFormatPlus
        • 13:Material Theme UI

一、补充的几个基础知识

1、一个源文件可以声明多个类,但是最多只能有一个类使用public进行声明,并且要求声明为public的类的类名和源文件名相同。

Java17API文档:

  • 在线看:https://docs.oracle.com/en/java/javase/17/docs/api/index.html
  • 离线下载:https://www.oracle.com/java/technologies/javase-jdk17-doc-downloads.html

2、更多的优点
垮平台性
面向对象性 高内聚 低耦合
健壮性 去掉了一些影响程序健壮性的部分(例如指针、内存的申请和释放)
安全性高:适合网络和分布式,需要安全机制防止恶意攻击,例如安全防范机制,可以分配不同的命名空间,防止替代本地的同名类、字节代码检查
简单性:C++语法的简化版
高性能:现在可以用JVM中的JIT即时编译技术提高运行效率

3、缺点:
语法过于复杂严谨
整个架构会比较重,开发成本比较高,需要经济实力
并非适用于所有领域,java在服务端编程和跨平台客户端应用领域很有优势

4、JVM(Java Virtual Machine Java虚拟机)
一个虚拟的计算机,是java程序的运行环境,JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。
可以实现自动内存管理(内存分配和内存回收)
java不需要程序员回收无用内存,提供了一种系统级线程跟踪内存空间的分配情况,在内存到达阈值的时候,检查并释放可被释放的存储器空间。
GC的自动回收,提高了内存空间的利用效率,减少了因为没有释放空间导致的内存泄露。
内存泄露:垃圾但是JVM没有识别出是垃圾,所以没有回收。
内存溢出:都是有用的东西,都不是垃圾,所以都不能清理,就溢出了。
内存泄漏多了会导致内存溢出。
5、java是半解释半编译的语言,前端编译器+(JVM中的 解释器+编译器)
6、命名习惯
类名和接口名 所有单词第一个字母大写
变量名 第二个单词起第一个字母大写
常量名 全部大写
包名 全部小写
7、&与&& 以及 |与||的区别
& |无论如何两边语句都要运行 然后判断
&& || 只要左边可以判断了 右边就不需要运算了 短路于
8、获取[a,b]范围的随机整数
(int)(Math.random()*(b-a+1))+a
9、switch表达式中只能是特定的数据类型
byte、short、char、int
遇到break跳出,没遇到break继续执行后面的case语句(case穿透)执行完所有的case和default后才退出
10、无限循环不仅仅可以用while(true)也可以是for(;
11、switch和if的区别,switch可以通过穿透性 同时执行多个分支,同时switch的效率高,但是场景比较狭窄

二、数据类型进阶版

1、整数类型
byte 1字节 -128~127
short 2字节 -215 ~215 -1
int 4字节 -231 ~231 -1 大概21亿
long 8字节 -263 ~263 -1

定义long类型 赋值要以 l 和 L 作后缀
整型常量默认为int型

补充:
字节byte 计算机用于计量存储容量的基本单位,一个字节等于8bit
位bit 是数据存储的最小单位,二进制数系统中,每个0或1就是一个位,叫做bit

2、浮点类型
float单精度 4字节 -3.403E38~3.403E38
double双精度 8字节 -1.798E308~1.798E308

如果在开发的时候普通的浮点类型精度无法满足需求,我们可以BigDecimal替换浮点类型变量

3、字符类型char
通常2个字节
java中所有字符都通用Unicode编码(其实就是一种映射)

三种形式:
‘’单引号
用unicode值 \uXXXX
转义字符
ASCII码

4、布尔类型
4字节
true为1
false为0

三、数据类型提升

自动类型提升
自动类型提升是java自动执行的,而强制类型转换是自动类型提升的逆运算,需要我们手动执行

强制类型转换

规则:
容量小的变量与容量大的变量运算的时候,结果自动转换为容量大的数据类型(仅仅改变的是范围的大小)
将容量大的变量转换为容量小的变量类型,需要使用强制类型转换(强制类型转换需要使用强转符 (数据类型) )

四、String类型

是一种引用数据类型
String类型的变量可以用一对“”的方式进行赋值
可以用 + 进行连接运算

五、Idea快捷键

通用

说明 快捷键
复制代码-copy ctrl + c
粘贴-paste ctrl + v
剪切-cut ctrl + x
撤销-undo ctrl + z
反撤销-redo ctrl + shift + z
保存-save all ctrl + s
全选-select all ctrl + a

提高效率

说明 快捷键
智能提示-edit alt + enter
提示代码模板-insert live template ctrl+j
使用xx块环绕-surround with … ctrl+alt+t
调出生成getter/setter/构造器等结构-generate … alt+insert
自动生成返回值变量-introduce variable … ctrl+alt+v
复制指定行的代码-duplicate line or selection ctrl+d
删除指定行的代码-delete line ctrl+y
切换到下一行代码空位-start new line shift + enter
切换到上一行代码空位-start new line before current ctrl +alt+ enter
向上移动代码-move statement up ctrl+shift+↑
向下移动代码-move statement down ctrl+shift+↓
向上移动一行-move line up alt+shift+↑
向下移动一行-move line down alt+shift+↓
方法的形参列表提醒-parameter info ctrl+p
批量修改指定的变量名、方法名、类名等-rename shift+f6
抽取代码重构方法-extract method … ctrl+alt+m
重写父类的方法-override methods … ctrl+o
实现接口的方法-implements methods … ctrl+i
选中的结构的大小写的切换-toggle case ctrl+shift+u
批量导包-optimize imports ctrl+alt+o

类结构、查找和查看源码

如何查看源码-go to class… ctrl + 选中指定的结构 或 ctrl+n
显示当前类结构,支持搜索指定的方法、属性等-file structure ctrl+f12
退回到前一个编辑的页面-back ctrl+alt+←
进入到下一个编辑的页面-forward ctrl+alt+→
打开的类文件之间切换-select previous/next tab alt+←/→
光标选中指定的类,查看继承树结构-Type Hierarchy ctrl+h
查看方法文档-quick documentation ctrl+q
类的UML关系图-show uml popup ctrl+alt+u
定位某行-go to line/column ctrl+g
回溯变量或方法的来源-go to implementation(s) ctrl+alt+b
折叠方法实现-collapse all ctrl+shift+ -
展开方法实现-expand all ctrl+shift+ +

查找、替换与关闭

查找指定的结构 ctlr+f
快速查找:选中的Word快速定位到下一个-find next ctrl+l
查找与替换-replace ctrl+r
直接定位到当前行的首位-move caret to line start home
直接定位到当前行的末位 -move caret to line end end
查询当前元素在当前文件中的引用,然后按 F3 可以选择 ctrl+f7
全项目搜索文本-find in path … ctrl+shift+f
关闭当前窗口-close ctrl+f4

调整格式

说明 快捷键
格式化代码-reformat code ctrl+alt+l
使用单行注释-comment with line comment ctrl + /
使用/取消多行注释-comment with block comment ctrl + shift + /
选中数行,整体往后移动-tab tab
选中数行,整体往前移动-prev tab shift + tab

Debug

说明 快捷键
单步调试(不进入函数内部)- step over F8
单步调试(进入函数内部)- step into F7
强制单步调试(进入函数内部) - force step into alt+shift+f7
选择要进入的函数 - smart step into shift + F7
跳出函数 - step out shift + F8
运行到断点 - run to cursor alt + F9
继续执行,进入下一个断点或执行完程序 - resume program F9
停止 - stop Ctrl+F2
查看断点 - view breakpoints Ctrl+Shift+F8
关闭 - close Ctrl+F4

六、IDEA常用插件

1、Alibaba Java Coding Guidelines

阿里巴巴Java编码规范检查插件,检测代码是否存在问题,以及是否符合规范。

使用:在类中,右键,选择编码规约扫描,在下方显示扫描规约和提示。根据提示规范代码,提高代码质量。

2、jclasslib bytecode viewer

可视化的字节码查看器。
使用:

  1. 在 IDEA 打开想研究的类。
  2. 编译该类或者直接编译整个项目( 如果想研究的类在 jar 包中,此步可略过)。
  3. 打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项。
  4. 选择上述菜单项后 IDEA 中

英文设置:

在 Help -> Edit Custom VM Options …,加上

-Duser.language=en
3、Translation

注册翻译服务(有道智云、百度翻译开放平台、阿里云机器翻译)帐号,开通翻译服务并获取其应用ID和密钥
绑定应用ID和密钥:偏好设置(设置) > 工具 > 翻译 > 常规 > 翻译引擎 > 配置…
使用:鼠标选中文本,点击右键即可自动翻译成多国语言。
注:请注意保管好你的应用密钥,防止其泄露。

4、GenerateAllSetter

实际开发中还有一个非常常见的场景: 我们创建一个对象后,想依次调用 Setter 函数对属性赋值,如果属性较多很容易遗漏或者重复。

可以使用这 GenerateAllSetter 提供的功能,快速生成对象的所有 Setter 函数(可填充默认值),然后自己再跟进实际需求设置属性值。

5、Rainbow Brackets

给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读

6、CodeGlance Pro

在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。

7、Statistic

代码统计工具。

8、Presentation Assistant

显示快捷键操作的按键

9、Key Promoter X

快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。

10、JavaDoc

alt+insert,执行操作:

11、 LeetCode Editor

在 IDEA 里刷力扣算法题

12、GsonFormatPlus

根据 json 生成对象。

使用:使用alt + s 或 alt + insert调取。

举例:

{
    "name": "tom",
    "age": "18",
    "gender": "man",
    "hometown": {
        "province": "河北省",
        "city": "石家庄市",
        "county": "正定县"
    }
}
13:Material Theme UI

对于很多人而言,写代码时略显枯燥的,如果能够安装自己喜欢的主题将为开发工作带来些许乐趣。

IDEA 支持各种主题插件,其中最出名的当属 Material Theme UI。

安装后,可以从该插件内置的各种风格个选择自己最喜欢的一种。

你可能感兴趣的:(JAVA基础,java,intellij-idea,开发语言)