C++转Java日记(01)

发布时间:2026/11/5 7:59:04
C++转Java日记(01)

为什么转Java?

因为博主最近想找一段实习,但是博主的背景是只做过游戏开发,会用unity,此外就只会一点C++算法竞赛的内容了,其它诸如Java和Go,那是一点不会。而现在我能够投的实习,不少都是后端开发,那么不会这个,可以说输一半了。

其实早在去年6月,我一个学长就在边学Java边投简历,找到了自己的第一份实习。他告诉我最好还是去学一下。现在换成了我,却到了11月,蹉跎了五个月的年华。

悟已往之不谏,知来者之可追。

初识Java

public class Main{ public static void main(String[] args){ System.out.println("Hello, Java!"); } }

问:一段Java代码是否是只能有一个类,然后用这个类命名,比如这个类是Main然后你定义为Main.Java?

答:顶层类就是直接写在文件里、没有被包在另一个类内部的类。对于这种类,一个.java文件里最多只能有一个声明为public。

一个 Java 文件可以有多个类。你现在需要记住的是:文件中如果有public顶层类,文件名必须和这个类名一致。

问:String[] args是什么意思?能不能不写?

错误案例:

public class Main { public static void main(String[] args) { Hello me = new Hello(); me.sayhi(); } class Hello { public void sayhi(){ System.out.println("我是傻逼"); } } }

正确写法是

public class Main { public static void main(String[] args) { Hello me = new Hello(); me.sayhi(); } } class Hello { public void sayhi() { System.out.println("Hello, World!"); } }

或者

public class Main { public static void main(String[] args) { Hello me = new Hello(); me.sayhi(); } static class Hello { public void sayhi() { System.out.println("Hello, Java!"); } } }

或者

public class Main { class Hello { public void sayhi() { System.out.println("Hello, World!"); } } public static void main(String[] args) { Main outer = new Main(); Hello me = outer.new Hello(); me.sayhi(); } }

UTF-8编码

你使用的是 PowerShell,推荐设置一个固定的编译命令。

先执行:

notepad $PROFILE

如果提示文件不存在,先执行下面两条,再打开:

New-Item -ItemType Directory -Force (Split-Path $PROFILE) New-Item -ItemType File -Force $PROFILE notepad $PROFILE

在打开的文件末尾加入:

function javac { & javac.exe -encoding UTF-8 @args }

保存配置文件后,当前终端需要执行(刚死在这一步):

. $PROFILE

之后照常输入:

javac Main.java java Main

PowerShell 就会自动把编译命令变成:

javac.exe -encoding UTF-8 Main.java

这里的@args会把你写在javac后面的参数原样传进去。

下载环境

无脑对着gpt问怎么装就行了。

Latest Releases | Adoptium

Download Apache Maven – Maven