今天试了一下在cmd编译JAVA,环境变量都是配置完成的…
在cmd 然后jkd根目录试java, javac ,java - version,这三个都是没问题的.
然后就试着写个java代码,简单的HelloWorld.
在cmd 里面写java代码的根目录 编译 javac (名字).java 可以形成 (类名字).class
但是不管怎么样都运行不了 java (类名字)
找了很多方法,说什么环境变量有问题.但是我确定是没问题.我在idea可以运行.
最后原来是因为 我在编译器打代码的时候有包名,也就是package (包名)
也就是说如果在cmd的里面编译是不用package (包名)的
如果有人在cmd里面出现这样的情况,可以把代码刚开始的package (包名)内容删了在试着编译一下.
而且我还发现然后代码类名有 public
例如: public class Demo{
}
那么在cmd 编译的时候,文件名也得用类名Demo.
例如:我们上面用的类是Demo,那么我们的文件名就必须是Demo.java
否则会报错
执行: D:\JAVA\JAVA学习\day01>javac HelloWorld.java
报错: HelloWorld.java:1: 错误: 类Demo是公共的, 应在名为 Demo.java 的文件中声明
public class Demo
. . . . . . . ^
(…是为了格式,方便^指向class加的,本身是没有的)
那么如果我们要在cmd里面编译的话,可以在类前面不加public
列如: class Demo{
}
这样我们的文件名就可以随意命名了.
列如:HelloWorld.java
或者123.java等随意命名
假设我们命名的是: HelloWorld.java
那么我们执行的时候就必须 javac HelloWorld.java
然后我们在里面写类名是 class Demo
那么就会生成Demo.class
最后我们就只需要执行 java Demo就行了.