Chapter 2 从JDK到IDE

Chapter 2 从JDK到IDE

2.1 从Hello World开始

2.1.1 撰写Java原始码

新建一个txt文件,命名为HelloWorld.java,然后在文件中进行编辑即可

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

记事本编辑器不是很好用,建议可以用NotePad++。注意类名与文件名保持一致,Java区分大小写。

  • 定义类

注意一个.java文档可以定义多个类,但是只能有一个公开类,而且文档名称必须与公开类名相同。

  • 定义区块

{ }定义区块,大括号成对出现,目的是区别程序代码范围。

  • 定义main()方法

Java程序执行的起点是main()方法。

main()方法是public成员,表示可以被JVM公开执行;static表示JVM不用生成类实例就可以调用;Java程序执行过程的错误,都是以异常方式处理,所以main()不用返回值,声明为void()即可,String[] args可以在执行程序时,取得用户指定的命令行自变量。

  • 撰写描述(Statement)

这里说的是以分号分隔的每句话。

2.1.2 PATH是什么

.java后缀的文件需要编译为.class后缀才可以在JVM中执行,Java编译工具程序是javac,装好JDK后,工具程序就会放在JDK安装文件夹的bin文件夹中,你必须按照命令行打开方式,切换到.java文件所在目录,并执行javac指令,但是在这个之前,需要告诉系统工具程序javac存放的位置,因此这里需要配置PATH的路径。

当你输入一个指令而没有指定路径信息时,操作系统会按照PATH环境变量中设定的路径顺序,依次寻找各路径下是否有这个指令,可以通过一下指令来看PATH中包含哪些路径信息

echo %PATH%

注意一点,如果不用javac指令,而是只使用java指令,是不需要配置PATH的,实际上不是因为不配置,而是在安装JDK(JRE)时,Windows中的JDK(JRE)安装程序会自动放一份java.exe到C:\Windows\system32中。

设置PATH,可以通过SET PATH=路径,在需要编译的.java目录下,进行设定,例子如下:

SET PATH = "lujing\jdk1.8.0_05\bin";%PATH%

注意bin前面是JDK安装的路径。这里通常会将原有PATH附加在设定值后面。

但是只要关闭命令行窗口,这个设定就失效了,每次都需要重新设定,因此可以在计算机中的系统环境变量中设定PATH,这样就可以了。系统环境变量会对每个登录的用户都生效,用户环境变量只对当前用户生效。

JDK的bin路径放在PATH变量的不同位置,意味着系统搜索PATH的优先级不一样。

2.1.3 JVM(java)与CLASSPATH

当编译完HelloWorld.java后,会得到HelloWorld.class文件,接下来就需要启动JVM来执行HelloWorld,只需要使用java HelloWorld即可。不需要加上.class扩展信息。ClASSPATH就是告诉JVM要在哪些目录下寻找.class文件。这个参数是用来指定可执行文件(.class)的路径信息。

操作系统搜索路径可执行文件
WindowsPATH.exe、.bat
JVMCLASSPATH.class

-classpath有个缩写形式-cp,如果有多个路径信息,可以用分号分隔,如下:

java -cp C:\workspace;C:\classes HelloWorld

路径的搜索从前往后,如果不指定路径,会默认从当前文件夹中的.class,如果都找不到,则会报错,有时候设定了classpath,但还是希望从当前文件夹中找,则可以采用如下方式:

java -cp .;C:\xyz HelloWorld

注意,对于引用的库文件JAR,实际这个是个压缩包,里面包含.class文件,如果需要使用,也可以在classpath中设置这些jar的路径。

2.1.4 编译程序(javac)与CLASSPATH

如果程序中使用了库文件,也可以理解成.class文件,需要指定这个.class文件的路径,否则,编译程序时候则找不到使用的.class文件,如果没有设定环境变量,则需要在编译和执行时候都指定classpath。具体实例如下:

public class Main {
  public static void main(String[] args) {
     Console.writeLine("Hello World");
  }
}

在C:\workspaces\classes中有个已编译的Console.class文件,这个Main文件是在C:\workspaces.

若要编译Main.java文件

javac -cp classes Main.java

若要执行Main.class文件

java -cp .;classes Main

此时,必须前面要用.; 因为只有这样才能找到Main自身对应的.class文件。

2.2 管理原始码与位码文档

若.java和.class文件都放在一个目录下,不便于管理,而且很混乱。

2.2.1 编译程序(javac)与SOURCEPATH

可以把源码放在src文件下,位码文件放在classes文件夹中。

因此在编译时候,必须告诉源码的存放路径。

javac -sourcepath src -d classes src/Main.java

这里没有指定-cp,因此会在默认路径上进行搜索。这里生成的.class文件会在classes文件夹中。

然后可以执行程序

java -cp classes Main

2.2.2 使用package管理类

使用包来管理类,使得更加容易管理项目,也能解决名称冲突的问题。编译出来的class文件也相应在相应包的路径下,与类名的层级目录相同,只是一个在classes文件夹中,一个在src文件夹中,

2.2.3 使用import偷懒

将经常使用的类名前面的包名直接import,这样每次使用时,就不需要定义一个很长的类路径名了。但如果有冲突的时候,还是需要把全称写出来避免冲突。

2.3 使用IDE

使用IDE,方便我们管理程序,也避免了繁琐的指定参数,提升效率。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值