JAVA运行环境的安装和Hello World
一、JDK的安装
步骤
1. 双击JDK,根据步骤完成安装
2.通过cmd在jdk文件夹中手动生成对应的jre文件
3.右键点击我的电脑-属性-高级系统设置-环境变量
4. 新建JAVA_HOME和CLASSPATH两个新变量,修改系统变量里的PATH
5. 通过CMD来测试安装是否完成,检查JAVA版本等。
详细方法
- 双击JDK完成安装,这里我安装的是13.0.2版本(在jdk 官网下载)
- 手动生成jre
打开jdk所在目录,按住shift键,右键选择powershell
输入bin\jlink.exe–module-path jmods --add-modules java.desktop --output jre
回车之后,在jdk文件夹中出现了jre文件夹,就是成功了
- 安装完成后,如图打开环境变量窗口
- 修改环境变量
在环境变量里面加入JAVA_HOME变量,变量值为JDK目录
加入CLASSPATH,变量值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
修改完,可以看到系统变量里面增加了CLASSPATH和JAVA_HOME两个变量
在系统变量里面的PATH中加入
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
结果:
输入javac和java,结果如图(都一样)
输入java -version 和 javac-version,查看版本
可以看出安装完成,Java的版本为13.0.2
二、CMD运行 Hello World
在这里需要注意,文件名和类名要相同
步骤
1. 新建HelloWorld.java,用NOTEPAD++(记事本)打开
2. 输入代码
3. 用cmd运行
详细方法
-
新建一个文本文档,将名字改为HelloWorld.java
用notepad++(或记事本)打开
如果没有notepad++,可以在打开方式里面选择记事本
-
输入代码
public class HelloWorld {
public static void main (String[] args) {
System.out.println ("Hello World!");
}
}
- 用shift+右键打开powershell,输入javac HelloWorld.java
这个步骤可以理解成c语言的编译过程,会出现
接下来输入java HelloWorld
结果
- 或者使用cmd进入所在文件夹(结果相同)
- 关于在用cmd运行java程序时候的中文问题
在使用notepad++编写时,如果我在代码中加入了中文
public class HelloWorld{//修饰符class类名中
public static void main(String[]args){
//定义一个main的方法,该方法是JAVA程序的执行入口
System.out.println("这是第一个Java程序!");
//输出”这是第一个Java程序”,println自带换行,如果不换行就出入print
}
}
就会出现这种情况
简单的说就是它不认识中文,因为notepad++中用的是utf-8编码,而cmd中输出的是ANSI编码,这些中文被用ANSI的方法译码。
通俗的说,1用中文打出来是一,用英语打出来是one
所以可以在notepad++中选择 编码-ANSI编码
这时候程序就正确了
三、Eclipse集成开发环境完成HelloWorld
步骤
1. 打开eclipse选择文件位置
2. 新建一个新的Java Project
3. 在Java Project下新建一个新的Package
4. 在Package下新建一个Class
5. 输入代码
6. 运行,查看结果
详细方法
- 打开eclipse选择文件位置
- 新建一个新的Java Project,命名为HelloWorld
- 在Java Project下新建一个新的package,命名为HelloWorld
- 在package下新建一个class
- 输入代码
System.out.println(“HelloWorld”);
结果
四、小结&遇到的问题
-
安装jdk和jre来来回回搞了四五次,环境变量页改了很多次,总结出来很多问题
我看的教程是https://blog.csdn.net/qq_36554582/article/details/81814096
然后按照它的方法装完发现,运行java命令有,java -version 出现是这样的。
有点懵逼,我装的jdk版本是13.0.213.0.2啊,怎么是1.8.0?自以为搞定了,然后发现了一系列问题。
先放一张图(我原本的文件位置)
然后先试了一下输入javac,发现jdk没安装好(忘了截图了),改了一番安装目录,出现了几个问题。
① 先是环境变量中加入的JAVA_HOME是什么意思?个人认为是jdk和jre的位置,在最后给path加入
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
这两句话,大概意思就是进入jdk的位置和jre的bin目录,那么问题来了,jre并没有在jdk的目录后面的jre文件夹里啊。。。
② 我原本path中加入的是
%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin;
但是发现别的path后面没分号,最后我把 ; 删除了
改完之后,发现可以运行了,自以为可以运行了,发现书上方法我好像不行,cmd根本进入不了jdk所在文件夹
最后改了一个方法,以为jdk和jre已经安装好了,所以其实可以直接在文件所在文件夹直接输入 javac HelloWorld.java,和 java HelloWorld,出现以下问题
百度了一下,这是什么情况(下面是链接)
https://blog.csdn.net/zhaofen_7/article/details/90273128
大概意思就是我的jdk和jre版本不一样,(上面提到过,我装的是13.0.2,但是java -version显示的是1.8.0),其实jdk版本查看是javac -version, java -version查看的是jre的版本。
所以,想改好只有两个方法,修改jre或者jdk的版本,百度了一下删除jre和jdk的方法
①修改注册表(胆子小,不建议。因为搞不好可能有系统重装风险)
②是java官网的方法(下面是连接)
https://java.com/en/download/help/uninstall_java.xml
然而,我考虑了一下是不是我jdk重装了一下,jre没重装,所以不行,于是我屁颠屁颠的去重装的jre,装了一半想想不对又取消了,然后莫名其妙的它自己卸载干净了(个人认为可能是系统以为我安装了一半,然后要放弃就帮我清理干净了)
这时候javac -version其实版本已经对了,其实jdk在没有jre的时候也是可以运行的,但是是有区别的(链接),https://blog.csdn.net/ancientear/article/details/79483592,表示其实没懂。
然后找到了一个教程,可以手动生成jre(因为jdk13.0.2貌似下载不到匹配的jre)
http://www.mamicode.com/info-detail-2873095.html
因为我打不开jdk文件夹,所以用shift在jdk所在文件夹打开powershell, 输入
bin\jlink.exe–module-path jmods --add-modules java.desktop --output jre
回车后就可以了
这时候,jdk文件夹里面出现了jre文件夹
因为之前的环境变量里面已经改好了,jre文件夹的路径也已经对了,它在JAVA_HOME之后的jre\bin目录下了。所以现在已经装完了。 -
使用cmd来运行java程序的时候用中文(注释含有中文)
① 为System.out.println(“Java!”);
② 为System.out.println (“这是第一个Java程序!”);
③ 为加入了中文注释
关于这个问题,双手送上链接(我为啥啥都得百度)
https://blog.csdn.net/qq_27545063/article/details/81138722