VS Code 中用於 Java 競賽程式設計的設定:快速 I/O 和程式碼片段
簡介
本教程將指導您完成在 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 物件以從控制檯讀取輸入,並在 main 方法中按如下方式初始化它:
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 物件以有效地構建輸出,並在 main 方法中按如下方式初始化它:
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 物件以將輸出寫入輸出檔案,並在 main 方法中按如下方式初始化它:
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 中程式設計時的生產力。程式碼片段允許您只需幾個按鍵即可快速插入常用的程式碼模板。
方法 1
您可以按如下方式使用 Java Snippets VS Code 擴充套件:
安裝 Java 程式碼片段 - 在 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
}
程式碼片段將插入如下:

上面的程式碼片段示例為 length 提供了佔位符,您可以將其替換為您想要的迴圈長度。這在建立重複的程式碼結構時可以節省您的時間和精力。
方法 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 中配置 JDK、建立 Java 專案和執行 Java 程式碼。此外,我們還探索了使用 BufferedReader 和 StringTokenizer 進行高效輸入/輸出操作以及使用 PrintStream 快速複製輸入的快速 I/O 技術。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP