最近想嘗試用 VSCode 來開發一些 Java demo/test , 遇到命令 javac 跟 java 不能簡化合併運行問題。

所以在S.O上面詢問 javac Foo.java && java Foo in windows vscode terminal not work 找到了解答。
vscode 預設的 terminal 是 powershell integrated console 所以不支持 javac Foo.java && java Foo 的命令
這時候切換成 cmd模式就能解決這問題

假如是powershell 6.x以前版本可以使用以下命令解決
javac Demo.java; if ($LASTEXITCODE -eq 0) { java Demo }

假如想要支援 && 關鍵字語法請升級到 powershell 7+ 連結
另外有 John 大提出可以用 (javac Demo.java) -and (java Demo) 解決,但實際執行會得到 false result
mklement0 大解答 : 原因是 -and和-or 從根本上不適合替代 &&和|| , 它們作用於輸出而不是過程退出代碼(真好,又從大師們身上學到一課 :D)
路過提供個小知識,對於單一原始碼的簡單小程式,Java 11 後可以使用 java 直接執行 .java 檔案,這會即時地編譯為位元組碼存放在記憶體,然後直接執行。
謝謝 良葛格 老師給的補充 ![]()