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 MainPowerShell 就会自动把编译命令变成:
javac.exe -encoding UTF-8 Main.java这里的@args会把你写在javac后面的参数原样传进去。
下载环境
无脑对着gpt问怎么装就行了。
Latest Releases | Adoptium
Download Apache Maven – Maven