在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开发的基本工具。
- 创建一个Java项目 - 现在,让我们创建一个新的Java项目。按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板。输入”Java: Create Java Project”并选择它。在您的计算机上选择一个合适的位置和名称为该项目命名。
- 运行你的第一个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
输出
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();
}
}
输入
输出
方法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();
}
}
输出
提高生产力的代码片段
您可以在使用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
}
以下是插入的代码片段:
上面的代码片段示例提供了一个占位符,您可以用所需的循环长度替换它。这在创建重复的代码结构时节省了时间和努力。
方法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开发环境的步骤。我们了解了配置JDK、创建Java项目和在VS Code中执行Java代码的过程。此外,我们还探索了使用BufferedReader和StringTokenizer进行高效输入/输出操作的快速I/O技术,以及使用PrintStream实现输入的快速复制。