在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

介绍

在本教程中,我们将指导您在Visual Studio Code(VS Code)中设置Java开发环境,并为竞技编程介绍一些有用的工具和技术,包括快速输入/输出(I/O)技术和有用的代码片段。

在VS Code中设置Java开发环境

要在VS Code中开始编写Java代码,请按照以下步骤进行操作−

  • 安装Java扩展包 − 打开VS Code,通过单击左侧边栏上的方形图标或使用快捷键Ctrl+Shift+X(Windows/Linux)或Cmd+Shift+X(Mac)导航到扩展视图。搜索”Java Extension Pack”并安装它。此扩展包包含Java开发的基本工具。

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

  • 创建一个Java项目 - 现在,让我们创建一个新的Java项目。按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板。输入”Java: Create Java Project”并选择它。在您的计算机上选择一个合适的位置和名称为该项目命名。

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

  • 运行你的第一个Java代码 − 打开src文件夹中的自动生成的Java类文件(App.java),你应该看到一个简单的”Hello, World!”程序−

示例

public class App {
   public static void main(String[] args) {
      System.out.println("Hello, World!");
   }
}
  • 编译和运行 − 您可以使用VS Code中的集成终端来编译和运行Java代码。通过选择“视图”→“终端”或使用快捷键Ctrl + 反引号(Windows/Linux)或Cmd + 反引号(Mac)来打开集成终端。在终端中,使用以下命令−
javac Main.java
java Main

输出

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

Hello, World!

现在,让我们探索一些技巧,以改进您的竞技编程体验。

为竞技编程提供快速I/O

方法1

在竞技编程中,高效的输入/输出(I/O)操作可以显著影响程序的性能。让我们使用BufferedReader和StringTokenizer来探索一种快速的I/O技术。

  • 导入所需的类 - 在Java类文件的开头添加以下导入语句-
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
  • 设置输入阅读器 − 在主方法中声明一个BufferedReader对象来从控制台读取输入,并根据以下方式进行初始化−
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  • 读取输入 - 要从一行中读取用空格分隔的整数,可以使用StringTokenizer类,示例如下 –
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
  • 设置输出编写器 - 在主方法中声明一个StringBuilder对象,以高效地构建输出,并如下所示进行初始化-
StringBuilder sb = new StringBuilder();
  • 编写输出 − 而不是使用System.out.println(),将输出字符串附加到StringBuilder对象中−
sb.append("Result: ").append(result).append('\n');
  • 刷新输出 - 最后,在处理所有测试案例后,使用 System.out 打印输出并刷新 –
System.out.print(sb);
System.out.flush();

示例

让我们看一个计算两个整数之和的示例-

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class App{
   public static void main(String[] args) throws IOException {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      StringTokenizer st = new StringTokenizer(br.readLine());

      int a = Integer.parseInt(st.nextToken());
      int b = Integer.parseInt(st.nextToken());
      int sum = a + b;

      StringBuilder sb = new StringBuilder();
      sb.append("Sum: ").append(sum).append('\n');

      System.out.print(sb);
      System.out.flush();
   }
}

输入

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

输出

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

方法2

另外,您可以使用两个文件作为输入,输出更容易复制和粘贴长输入,并将输出写入单独的文件,而不使用控制台/终端窗口。要使用此技术,请按照以下步骤进行-

  • 在与您的Java程序相同的文件夹中创建两个文件,一个用于读取输入,另一个用于写入输出。您可以将这些文件放在一个单独的文件夹中,但请务必在程序中使用适当的文件路径。

  • 声明一个BufferedReader对象来从输入文件读取输入,并在main方法中进行初始化,如下所示-

BufferedReader reader = new BufferedReader(new FileReader(“input.txt”));
  • 在主方法中,声明一个PrintStream对象来将输出写入输出文件,并按以下方式进行初始化−
PrintStream printStream = new PrintStream(new FileWriter(“output.txt”));
  • 而不是使用System.out.println(),使用PrintStream对象将输出写入输出文件-
printStream.print("Product: " + product);

示例

让我们看另一个计算两个整数乘积的示例−

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;

public class App {
   public static void main(String[] args) throws IOException {
      BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
      int num1 = Integer.parseInt(reader.readLine());
      int num2 = Integer.parseInt(reader.readLine());
      reader.close();
      int product = num1 * num2;
      PrintStream printStream = new PrintStream(new FileOutputStream("output.txt"));
      printStream.print("Product: " + product);
      printStream.close();
    }
}

输出

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

提高生产力的代码片段

您可以在使用Java编码时利用VS Code中的代码片段来提高生产力。代码片段允许您通过几个按键快速插入常用的代码模板。

方法1

您可以按照以下方式使用Java Snippets VS Code扩展−

  • 安装Java Snippets - 在VS Code的扩展视图中(Ctrl+Shift+X或Cmd+Shift+X),搜索”Java Snippets”并安装由”Visual Studio Code Team”提供的扩展。

  • 插入代码片段 - 要插入代码片段,输入片段关键字并从IntelliSense下拉列表中选择所需的片段。例如,输入main将显示”Java Main Method”片段。按Enter键将片段插入当前光标位置。

假设您经常需要创建for循环,而不是键入整个for循环结构,您可以使用for片段。输入for并从IntelliSense下拉列表中选择”Java For Loop”片段。

语法

在Java中创建’for’循环的语法如下−

for (initialization; condition; update) {
   // code to be executed
}

以下是插入的代码片段:

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

上面的代码片段示例提供了一个占位符,您可以用所需的循环长度替换它。这在创建重复的代码结构时节省了时间和努力。

方法2

VS Code提供了方便的支持,可以创建和利用您的代码片段。让我们为二分搜索算法创建一个自定义代码片段。

  • 创建代码片段 − 打开VS Code,并导航到用户代码片段,方法是转到 文件 > 首选项 > 配置用户片段。选择语言”Java”并添加以下片段-
"Binary Search": {
   "prefix": "binarysearch",
   "body": [
      "int low = 0;",
      "int high = {1:array.length} - 1;",
      "while (low <= high) {",
      "    int mid = low + (high - low) / 2;",
      "    if (array[mid] =={2:target}) {",
      "        // Target found",
      "        break;",
      "    } else if (array[mid] < ${2:target}) {",
      "        low = mid + 1;",
      "    } else {",
      "        high = mid - 1;",
      "    }",
      "}"
   ],
   "description": "Binary search algorithm"
}
  • 使用代码段 - 在您的Java代码文件中,键入代码段前缀binarysearch,然后按Tab键进行展开。修改必要的占位符,并将代码段用作二分查找实现的起点。

在VS Code中设置带有快速输入/输出和代码片段的Java竞技编程环境

结论

在本教程中,我们介绍了在VS Code中为竞赛编程设置Java开发环境的步骤。我们了解了配置JDK、创建Java项目和在VS Code中执行Java代码的过程。此外,我们还探索了使用BufferedReader和StringTokenizer进行高效输入/输出操作的快速I/O技术,以及使用PrintStream实现输入的快速复制。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程