要掌握一门语言,当然首选是从“hello world”开始呗,在这里俺记起一个笑话来,说有好几类职业的人在一起参与一个活动,活动很简单就是每个人写一句话,结果,做程序员的想都没想想,就写下了一行“hello world”,可见“hello world”在开发人员心目中的地位了,呵呵,瞎扯归瞎扯,步入正题,说说搭建java开发环境的搭建
1.下载jdk (注意是jdk,不是jre)
下载链接http://www.oracle.com/technetwork/java/javase/downloads/index.html
图 2-1是javase的下载界面,点击第一个java即可,现在jdk7也都已经正式发布了,由此也可以看出java发展的日新月异
图2-1 javase的下载界面
点击完后进入版本选择页面,图2-2是版本选择
图2-2 版本选择界面
首先点选Accept License Agreement,在下面的列表中选择适合你操作系统的版本即可
2.安装jdk
如果没有什么特殊的需要,按照软件提示,直接下一步就可以,直到安装完成,在安装jdk时,如果你心细的话,可以发现,在jdk的可安装项目上,共有四个安装项目,图2-3所示,依次是开发工具development kits,演示程序 demos,API源代码,公共jre
图2-3jdk安装项目界面
- <span style="color: rgb(255, 0, 0);">在这里额外说一句,公用jre是为已经开发好的java程序准备的,jdk有自己的jre,是jdk的安装目录下,,jdk自带
- 的jre主要是用于开发时做测试使用的,这两个jre的不同在于,
- jdk自带的jre比公用的jre多了一个server的vm,执行java程序时,默认是使用client vm来执行的,如果使用server vm,程序在启动时会话费比较长的时间并且占用较多的资源,为的是启动后可以获得较好的执行效能,便于测试使用</span>
在这里额外说一句,公用jre是为已经开发好的java程序准备的,jdk有自己的jre,是jdk的安装目录下,,jdk自带
的jre主要是用于开发时做测试使用的,这两个jre的不同在于,
jdk自带的jre比公用的jre多了一个server的vm,执行java程序时,默认是使用client vm来执行的,如果使用server vm,程序在启动时会话费比较长的时间并且占用较多的资源,为的是启动后可以获得较好的执行效能,便于测试使用
3. 设置path,classpath
设置path
打开windows下的dos窗口,输入javac,尝试执行编译程序,出现结果为图2-4所示。
图2-4 执行javac后的结果
之所以出现这个问题的原因是系统不知道如何找到这些工具,虽然我们自己知道它是在java的安装目录下的bin目录下,所以必须让系统知道如何找到它们,这时,就需要设置系统的环境变量了,关于环境变量,可以认为它是操作系统下的全局变量,先这么理解吧,对不对再说,配置环境要紧。
打开环境变量的窗口,编辑Path变量,在Path变量下加入jdk bin的绝对路径,图2-5是环境变量配置图
图2-5环境变量配置图
配置完环境变量后,重新打开dos窗口,输入javac后,运行结果若如图2-6所示,则表示配置正确,若非,则请再次检查path的路径配置是否正确
图2-6 环境变量正确配置后,javac运行结果
设置 classpath
类似于设置path,classpath的设置方法同path相差无几,只是两者所起到的功能不同而已,其实在jdk6以后的版本里,如果java程序是放在jdk下的lib文件夹中,则可以不必设置,程序执行时是可以自己找到的,
- <span style="color: rgb(255, 0, 0);">在这里对path和classpath做一个解析
- 对于windows系统来讲,path是让系统找到.ext执行程序的存在,而对于java执行环境来讲,classpath是让jvm可以找到.class执行程序的存在
- 有人会问,为什么编译java文件的时候,自己并没有把编译好的程序文件放到lib中,为什么使用java命令运行时,一样通过并且有结果了呢?原因很简单,是因为我们在使用javac编译时,已经将目录切换到了对应的.class所在的目录下,而根据classpath路径的设置,第一个路径就是当前路径“.;”,在这里,明白为什么了吧</span>
在这里对path和classpath做一个解析
对于windows系统来讲,path是让系统找到.ext执行程序的存在,而对于java执行环境来讲,classpath是让jvm可以找到.class执行程序的存在
有人会问,为什么编译java文件的时候,自己并没有把编译好的程序文件放到lib中,为什么使用java命令运行时,一样通过并且有结果了呢?原因很简单,是因为我们在使用javac编译时,已经将目录切换到了对应的.class所在的目录下,而根据classpath路径的设置,第一个路径就是当前路径“.;”,在这里,明白为什么了吧
4.开始第一个java程序“hello world”
完成了jdk的相关设置之后,现在让我们来写我们的第一个java程序,经典的“hello world”
第一步
由于windows在默认条件下,是不会显示文件的扩展名的,因此需要我们自己手动设置,先打开“组织”菜单,在下拉菜单中选择“文件夹和搜索选项”,切换到“查看”页面下,取消“隐藏已知文件类型的扩张名”复选框,图2-7所示
图2-7 让文件的扩展名可见
第二步 编写java源代码
源代码如下所示
- public class hello{
- public staticvoid main(String args[]){
- System.out.println("hello world");
- }
- }
public class hello{
public static void main(String args[]){
System.out.println("hello world");
}
}
在txt中写好后,一定要主要保存是要修改文件的后缀为.java,切记,否则,程序无法编译通过,文件保存为hello.java
第三步 编译,运行
图2-8展示了编译和运行结果,我的java文件放在D:\JAVA下,好啦,到现在为止,我们又看见了我们所熟悉的“hello world”,至此,java开发环境搭建完成,并且运行了我们的第一个java程序,hello.java
图2-8 编译和运行结果
5 .在java程序编译时常见的错误以解决方法整理
- <strong>编写编译源代码是需要注意的地方</strong>
- <span style="color: rgb(255, 0, 0);">1.java的扩展名必须是以.java结束
- 2.主文件名必须与类名称一致,当你的java源程序中包含有基本类是,只能有一个类为public的,此时,主文件名应该与public的类的类名称保持一致
- 3.java语言是严格区分大小写的
- 4.在写入空白时,只能是半角的空格键,或者tab</span>
编写编译源代码是需要注意的地方
1.java的扩展名必须是以.java结束
2.主文件名必须与类名称一致,当你的java源程序中包含有基本类是,只能有一个类为public的,此时,主文件名应该与public的类的类名称保持一致
3.java语言是严格区分大小写的
4.在写入空白时,只能是半角的空格键,或者tab
- <strong>编译时出现的问题总结:</strong>
- <span style="color: rgb(255, 0, 0);">1.error:cannot read:hello.java
- 检查指定的java文件是否存在或者当前目录是否正确
- 2.hello.java :1:class hello is not public,should be declared In a file named hello.java
- 3.hello.java:5:cannot find symbol
- 代码输入错误,最常见到的是字母大小写错误
- 4.javac不是内部或外部命令,可执行程序或者批量文件
- 请检查你的path路径设置是否正确</span>
编译时出现的问题总结:
1.error:cannot read:hello.java
检查指定的java文件是否存在或者当前目录是否正确
2.hello.java :1:class hello is not public,should be declared In a file named hello.java
3.hello.java:5:cannot find symbol
代码输入错误,最常见到的是字母大小写错误
4.javac不是内部或外部命令,可执行程序或者批量文件
请检查你的path路径设置是否正确
- <span style="color: rgb(51, 102, 255);"> 写完这篇,对行业的发展,企业的变迁,突然让人有一些感触,想当年,sun怎么也是软件行业内位列第三的巨头,结果突然有一天就被oracle收购了,让人惊愕,就像之前的摩托罗拉被谷歌收购一样,摩托罗拉,多少年的通信巨人,说没就没了
- 信息时代,正在以前所未有的速度,改变我们的生活和我们所生活的这个世界</span>
写完这篇,对行业的发展,企业的变迁,突然让人有一些感触,想当年,sun怎么也是软件行业内位列第三的巨头,结果突然有一天就被oracle收购了,让人惊愕,就像之前的摩托罗拉被谷歌收购一样,摩托罗拉,多少年的通信巨人,说没就没了
信息时代,正在以前所未有的速度,改变我们的生活和我们所生活的这个世界