如果我们想要在 IDEA 编辑器中快速插入一个模板代码块,可以通过在编辑器中输入指定 code 来完成,当然一些快捷键也可以达到同样的效果。本篇文章带大家总结一下,在 Java 程序中常用的代码块简写 code 和快捷键的使用。

1. 简写Code

Code 描述
psvm / main 插入主程序入口
fori 插入for循环
foreach 插入 foreach 语句
sout 插入打印语句
souf 打印格式化字符串
soutm 打印当前类和方法名
soutp 打印当前方法的参数名和值
soutv 打印当前值
soutc 打印方法引用
iter / I 插入增强 for 循环
itar 迭代数组元素
riter 倒叙迭代数组元素
serr 打印错误
itco 迭代集合元素
itli 迭代列表元素
itit 迭代迭代器元素
iten 迭代枚举对象
ittok 迭代StringTokenizer对象
ifn 是否为null条件判断
inn 是否不为null条件判断
inst 使用instanceof检查对象并向下转型
lst 取数组最后一个值
mn 给变量设置Math.min操作
mx 给变量设置Math.max操作
prsf 私有静态最终类/方法
psf 公共静态最终类/方法
psfi 公共静态最终整型类/方法
psfs 公共静态最终字符串类/方法
St String简写
toar 将集合元素存储到数组中
geti 插入单例模式的getinstance方法
lazy 延迟初始化
thr 抛出异常
RL 读锁
WL 写锁
.var 声明入变量
.null 变量是否为null判断条件
.nn 变量是否不为null判断条件
.not 变量取非
.if 生成变量条件表达式
.for 插入for循环,必须为数组变量
.iter 插入for循环,必须为数组变量
.fori 插入for循环,其中 Number 可为:
- 数字:100.fori
- 数组:s.length().fori
.forr 插入倒序for循环,其中 Number 可为:
- 数字:100.forr
- 数组:s.length().forr
.return 生成return表达式
soutc 插入打印方法引用
serrc 插入打印方法引用错误

1.1 插入主程序入口

在编辑器中输入psvm或者main,就可以快速插入一个主程序入口的main方法,具体效果如下:

  1. public static void main(String[] args) {
  2. }

1.2 声明变量

在变量后面使用.var,可以快速插入变量:

  1. String name = "abc";
  2. name.var
  3. // 自动补充后的效果
  4. String name1 = name;

1.3 插入for循环

在编辑器中输入fori,则可以快速插入一段for循环代码块:

  1. for (int i = 0; i < ; i++) {
  2. }

1.4 插入foreach语句

在编辑器中输入foreach,可以快速插入一段 foreach 的语句:

  1. for (:
  2. ) {
  3. }

1.5 插入打印语句

在编辑器中输入sout,在可以快速插入打印语句:

  1. System.out.println();

1.6 打印格式化字符串

在编辑器中输入souf,可以快速插入打印格式化字符串的语句:

  1. System.out.printf("");

1.7 打印当前类和方法名

在当前方法中输入soutm,可以快速插入打印当前类和方法名的语句:

  1. public int getAge() {
  2. System.out.println("Girl.getAge");
  3. return this.age;
  4. }

1.8 打印当前方法的参数名和值

在当前方法中输入soutp,可以快速插入打印当前类和方法名的语句:

  1. public void setAge(int age) {
  2. this.age = Math.min(age, 18);
  3. System.out.println("age = " + age);
  4. }

如果该方法是一个无参方法,则相当于sout插入一个打印语句。

1.9 打印变量值语句

在当前方法中输入soutv,可以快速插入打印变量值:

  1. public static void main(String[] args) {
  2. String name = "abc";
  3. System.out.println("name = " + name);
  4. }

1.10 插入增强for循环

在编辑器中输入iter或者I(大写的i),可以快速插入一段增强 for 循环 语句:

  1. String[] names = {"Link", "Lance"};
  2. for (String s : names) {
  3. }

1.11 迭代数组元素

在编辑器中输入itar,可以快速插入一段迭代数组元素的语句:

  1. String[] names = {"Link", "Lance"};
  2. for (int i = 0; i < names.length; i++) {
  3. String s = names[i];
  4. }

1.12 倒序迭代数组元素

在编辑器中输入ritar,可以快速插入一段倒序迭代数组元素的语句:

  1. String[] names = {"Link", "Lance"};
  2. for (int i = names.length - 1; i >= 0; i--) {
  3. String s = names[i];
  4. }

1.13 打印错误

在编辑器中输入serr,可以快速插入一段倒序迭代数组元素的语句:

  1. System.err.println("");

1.14 迭代集合元素

在编辑器中输入itco,可以快速插入一段迭代集合元素的语句:

  1. ArrayList<String> arr = new ArrayList<String>();
  2. for (Iterator<String> iterator = arr.iterator(); iterator.hasNext(); ) {
  3. String next = iterator.next();
  4. }

1.15 迭代列表元素

在编辑器中输入itli,可以快速插入一段迭代列表元素的语句:

  1. ArrayList<String> arr = new ArrayList<String>();
  2. for (int i = 0; i < arr.size(); i++) {
  3. String s = arr.get(i);
  4. }

1.16 迭代迭代器元素

在编辑器中输入itit,可以快速插入一段迭代迭代器元素的语句:

  1. ArrayList<String> arr = new ArrayList<String>();
  2. Iterator<String> iterator = arr.iterator();
  3. while (iterator.hasNext()) {
  4. String next = iterator.next();
  5. }

1.17 迭代枚举对象

在编辑器中输入iten,可以快速插入一段迭代枚举对象的语句:

  1. Vector<String> names = new Vector<>();
  2. names.add("Link");
  3. names.add("Zoro");
  4. names.add("Sanz");
  5. Enumeration<String> newNames = names.elements();
  6. while (newNames.hasMoreElements()) {
  7. String s = newNames.nextElement();
  8. }

1.18 迭代StringTokenizer对象

在编辑器中输入ittok,可以快速插入一段迭代StringTokenizer对象的语句:

  1. String names = "Link,Zoro,Name";
  2. for (StringTokenizer stringTokenizer = new StringTokenizer(names);
  3. stringTokenizer.hasMoreTokens(); ) {
  4. String s = stringTokenizer.nextToken();
  5. }

1.19 是否为null的条件判断

在编辑器中输入ifn,可以快速插入一段是否为null的条件判断的语句:

  1. String names = "Link,Zoro,Name";
  2. if (names == null) {
  3. }

1.20 是否不为null的条件判断

在编辑器中输入inn,可以快速插入一段是否不为null的条件判断的语句:

  1. String names = "Link,Zoro,Name";
  2. if (names != null) {
  3. }

1.21 instanceof检查对象并向下转型

在编辑器中输入inst,可以快速插入一段使用instanceof检查对象并向下做转型的代码块:

  1. String names = "Link,Zoro,Name";
  2. if (names instanceof Object) {
  3. Object o = (Object) names;
  4. }

1.22 获取数组最后一个元素值

在编辑器中输入lst,获取数组元素最后一个值:

  1. int[] numbers = new int[10];
  2. numbers[numbers.length - 1]

1.23 给变量设置Math.min操作

在编辑器中输入mn,给变量设置Math.min操作:

  1. int a = 10;
  2. a = Math.min(a, );

1.24 给变量设置Math.max操作

在编辑器中输入mx,给变量设置Math.max操作:

  1. int a = 10;
  2. a = Math.max(a, );

1.25 私有静态最终类/方法

在编辑器中输入prsf,插入私有静态最终类或方法:

  1. private static final

1.26 公共静态最终类/方法

在编辑器中输入psf,插入公共静态最终类或方法:

  1. public static final

2. 快捷键

下表总结常用的快捷键,后文介绍了不同快捷键的具体使用方式,需要用到哪个再详细查看。

快捷键 效果
Ctrl+Alt+V 插入变量

2.1 插入变量

如下例所示,如果表达式需要生成一个新变量,在高亮的第一个代码行上按下快捷键【Ctrl+Alt+V】,就可以快速插入一个数组变量s,这里变量的类型 IDEA 可以帮你自动补全,非常方便。

  1. String name = "Yu Ming min";
  2. name.split(" ");
  3. // 补全变量后的代码行
  4. String[] s = name.split(" ");