helloworld代码_编写 Java "Hello World!" 应用

第一个应用程序 HelloWorldApp 将只显示问候语 "Hello world!"

在 NetBeans IDE 上运行 "Hello World!"

检查清单

  • The Java SE Development Kit 8 (JDK 8):你现在可以 下载对应版本。(请确保你下载 JDK,不是 JRE。)请参阅 installation instructions。

  • The NetBeans IDE:NetBeans IDE 下载。


创建第一个应用

步骤:

  • 创建一个 IDE 项目:创建IDE项目时,将创建一个用于构建和运行应用程序的环境。使用 IDE 项目可以消除通常与在命令行上进行开发有关的配置问题。可以通过在 IDE 中选择一个菜单项来构建或运行应用程序。

  • 将代码添加到生成的源文件:源文件包含用 Java 编程语言编写的代码。创建 IDE 项目时,将自动生成框架源文件,修改源文件增加 " Hello World!"实现。

  • 将源文件编译成 .class 文件:IDE调用 Java 编程语言编译器(javac),javac 获取源文件并将其文本转换为 Java 虚拟机可以理解的指令(字节码)。

  • 运行程序:IDE 调用 Java 应用程序启动器工具(java),该工具使用 Java 虚拟机运行应用程序。

创建一个 IDE 项目

  • 启动 NetBeans IDE

    • Windows 系统,在开始菜单中启动 NetBeans IDE

    • Solaris OS 和 Linux 系统,在 IDE 的 bin 目录下执行 ./netbeans 启动

    • 在 Mac OS X,单击 NetBeans IDE 应用图标

  • 在 NetBeans IDE 中,选择 "File | New Project" ...

0b60ed5e78ebe4af4d7beacdbceaf8f6.png

  • 在 "New Project" 向导中,展开 Java 目录 并选择 "Java Application",如下所示:

e90fd1c39a597855675b9a893e00d826.png

  • 在 "Name and Location" 向导中,按照以下步骤做(如下图所示)

    • 在 "Project Name" 字段输入 "Hello World App"。

    • 在 "Create Main Class" 字段输入 " helloworldapp.HelloWorldApp"。

26b58ff6e5ac88c2d1ec7d602350702f.png

  • 点击 "Finish"

项目被创建并在 IDE 中打开,会看到以下组件:

  • Projects 窗口,包含项目组件的树形视图,包含源文件、代码依赖的类库等等。

  • Source Editor 窗口:打开了一个叫 "HelloWorldApp.java" 的问题。

  • Navigator 窗口:可以使用它在所选类中的元素之间快速导航。

325c9ad3fb026d4baa17009b704e7ed8.png


增加 JDK 8 到平台列表(需要的话)

如果需要添加 JDK 8 到 IDE 的可用平台列表,选择 "Tools | Java Platforms" 如下图所示:

a25706fcaf7b2177edf27d5a276002e6.png

如果在已安装平台的列表中没有看到 JDK 8(可能显示为 1.8 或 1.8.0),请单击 "Add Platform",导航到您的 JDK 8 安装目录,然后单击 "Finish"。此时可以看到新添加的平台:

991b7baf72f952b82548693c82b46a9b.png

如果需要给所有项目设置此 JDK 为默认 JDK,则可在命令行启动 IDE 时,带参数 "--jdkhome",或者在 IDE 安装目录下的(安装目录/etc/netbeans.conf)设置属性 netbeans_j2sdkhome,指定 JDK 路径。

如果仅需指定当前项目使用此 JDK,在 "Projects" 面板选中 "Hello World App",选择 ”File | Project Properties(Hello World App),点击 "Libraries",在 "Java Platform" 下拉菜单中选中 "JDK1.8",然后看到如下效果:

fccaf48d0172f9b8d363dfb743852b7f.png

这样 IDE 就配置好 JDK 8 了。

将代码添加到生成的源文件

创建项目时,在 "New Project" 向导中选中 "Create Main Class" 复选框,IDE 自动生成了框架代码。通过替换代码来补充 "Hello World!" 信息:

// TODO code application logic here

替换为:

System.out.println("Hello World!"); // Display the string.

可选地,也可以替换以下模板代码:

/**
*
* @author
*/

替换为:

/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/

这部分代码只是代码注释,不会影响程序的运行。


注意: 完全按照所示键入所有代码,命令和文件名。编译器(javac)和启动器(java)都是 区分大小写(case-sensitive),因此你必须一致地大写。HelloWorldApp 与 helloworldapp 不相同。


通过选择 "File | Save" 保存变更。

源文件应该类似下述代码所示:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package helloworldapp;
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
public class HelloWorldApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}

将源文件编译成 .class 文件

在 IDE 的主菜单中选择 "Run | Build Project(Hello World App)",编译源文件。

构建信息如下图所示:

3facb1c322b9c919f2a0efdd1b35e36f.png

如果构建信息包含状态 "BUILD SUCCESSFUL",则说明程序编译成功。

如果构建信息包含状态 "BUILD FAILED",代码中可能存在语法错误。错误在“输出”窗口中报告为超链接文本。您双击这样的超链接,以导航到错误源。修复好对应的错误,再次选择 "Run | Build Project"。

项目构建成功后,会生成字节码文件 "HelloWorldApp.class"。可以下 "Files" 窗口下,站看节点 "Hello World App/build/classes/helloworldapp" 看到新生成的字节码文件,如下图所示:

351016f5af432ca973b968860a3250b1.png

构建完项目,接下来可以运行程序了。

运行程序

在 IDE 的菜单栏,选择 "Run | Run Main Project"。运行结果如下图所示:

d2dbacf4a987e41478658a6ab06bf4ca.png

NetBeans IDE 后续教程

以下是使用IDE的一些技巧,以及您可能会看到的一些IDE行为的说明:

  • 在IDE中创建项目后,可以使用 "New File" 向导将文件添加到项目中。选择 "File | New File",然后在向导中选择一个模板,例如“空 Java 文件”模板。

  • 使用 IDE 的 "Compile"(F9)和 "Run File"(Shift-F6)命令来编译和运行单个文件(而不是整个项目)。如果使用 "Run Main Project" 命令,则IDE将运行 IDE 关联的文件作为主要项目的主类。因此,如果在 HelloWorldApp 项目中创建其他类,然后尝试使用 "Run Main Project" 命令运行该文件,则 IDE 将改为运行 HelloWorldApp 文件。

  • 可能想为包含多个源文件的示例应用程序创建单独的IDE项目。

在IDE中键入内容时,可能会定期出现一个代码完成框。您可以忽略代码完成框并继续输入,也可以选择建议的表达式之一。如果您不想自动显示代码完成框,可以关闭该功能。选择 "File | Options | Editor" 中,单击 "Code Completion" 选项卡,然后清除 "Auto Popup Completion Window" 复选框。

  • 如果要在 “Projects” 窗口中重命名源文件的节点,请从IDE的主菜单中选择 "Refactor"。IDE 会通过 ”Rename“ 对话框提示您,引导您完成重命名类和更新引用该类的代码的选项。进行更改,然后单击 “Refactor” 以应用更改。如果您的项目中只有一个类,则这种单击顺序似乎是不必要的,但是当您的更改影响较大项目中代码的其他部分时,这非常有用。

  • 有关NetBeans IDE功能的更详尽的指南,请参见 NetBeans文档页面。

在 MIcrosoft Windows 运行 "Hello World!"

检查清单

  • The Java SE Development Kit 8 (JDK 8):你现在可以 下载对应版本。(请确保你下载 JDK,不是 JRE。)请参阅 installation instructions。

  • 一个文本编辑器:可以使用 Windows 记事本,这是 Windows 平台附带的一个简单的编辑器。


创建第一个应用

步骤:

  • 创建一个源文件:源文件包含用 Java 编程语言编写的代码。可以使用任何文本编辑器来创建和编辑源文件。

  • 将源文件编译成.class 文件:Java 编程语言 compiler(javac) 会将你的源文件转换为 Java 虚拟机可以理解的指令(字节码)。

  • 运行该程序:Java 应用程序 launcher tool(java)使用 Java 虚拟机来运行你的应用程序。

创建一个源文件

首先,事本编辑器,通过从 Start 菜单选择 Programs>Accessories>Notepad. 在新文档中,输入以下代码:

/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}

注意: 完全按照所示键入所有代码,命令和文件名。编译器(javac)和启动器(java)都是 区分大小写(case-sensitive),因此你必须一致地大写。

HelloWorldApp 与 helloworldapp 不相同。


将代码保存在名为 HelloWorldApp.java 的文件中。要在记事本中执行此操作,请先选择 File>Save As 菜单项。然后,在 Save As 对话框中:

  • 使用 Save in 组合框中,指定要保存文件的文件夹(目录)。在此示例中,目录是 C 驱动器上的 myapplication。

  • 在 File name 文本框中,键入 "HelloWorldApp.java",包括引号。

  • 从 Save as type 组合框中,选择 Text Documents (*.txt)

  • 在 Encoding 组合框中,将编码保留为 ANSI

完成后,对话框如下所示:

8732b84d59ddccdc5cb48cccd588b985.png

点击 Save,然后退出记事本。

将源文件编译为.class 文件

调出一个 shell 或 "命令" 窗口。你可以从 Start 菜单中选择 Run...,然后输入 cmd 来完成此操作。

5bf5dab11a15300308f69b3a703d2c2b.png

要编译源文件,请将当前目录更改为文件所在的目录。如源目录是 C 驱动器上的 myapplication,切换目录,命令如下:

> cd C:\myapplication

现在提示符应该改为 C:\myapplication>。


注意: 要切换到其他驱动器上的目录,必须输入一个额外的命令:驱动器的名称。例如,要切换到 D 驱动器上的 myapplication 目录,必须输入 D:,如下所示:

C:\>D:
D:\>cd myapplication
D:\myapplication>

使用dir,列举目录中的文件,如下所示:

C:\>cd myapplication
C:\myapplication>dir
Volume in drive C is System
Volume Serial Number is F2E8-C8CC
Directory of C:\myapplication
2014-04-24 01:34 PM
.
2014-04-24 01:34 PM
..
2014-04-24 01:34 PM 267 HelloWorldApp.java
1 File(s) 267 bytes
2 Dir(s) 93,297,991,680 bytes free
C:\myapplication>

编译源文件,使用如下命令:

> javac HelloWorldApp.java

编译器生成了一个字节码文件 HelloWorldApp.class。在提示符处键入 dir 以查看生成的新文件,如下所示:

C:\myapplication>javac HelloWorldApp.java
C:\myapplication>dir
Volume in drive C is System
Volume Serial Number is F2E8-C8CC
Directory of C:\myapplication
2014-04-24 02:07 PM
.
2014-04-24 02:07 PM
..
2014-04-24 02:07 PM 432 HelloWorldApp.class
2014-04-24 01:34 PM 267 HelloWorldApp.java
2 File(s) 699 bytes
2 Dir(s) 93,298,032,640 bytes free
C:\myapplication>

字节码文件生成后,则可运行。

如果在此步骤遇到问题,请参阅 常见问题及其解决方案。

运行程序

在相同的目录中,在提示符处输入以下命令:

> java -cp . HelloWorldApp

你应该在屏幕上看到以下内容:

C:\myapplication>java -cp . HelloWorldApp
Hello World!
C:\myapplication>

如果在此步骤遇到问题,请参阅 常见问题及其解决方案。

在 Solaris OS 和 Linux 运行 "Hello World!"

检查清单

  • The Java SE Development Kit 8 (JDK 8):你现在可以 下载对应版本。(请确保你下载 JDK,不是 JRE。)请参阅 installation instructions。

  • 一个文本编辑器:使用基于 UNIX 平台的文本编辑器。vi 或 emacs 也行。


创建第一个应用

步骤:

  • 创建一个源文件:源文件包含用 Java 编程语言编写的代码,可以使用任何文本编辑器来创建和编辑源文件。

  • 将源文件编译成.class 文件:Java 编程语言 compiler(javac) 会将你的源文件转换为 Java 虚拟机可以理解的指令(字节码)。

  • 运行该程序:Java 应用程序 launcher tool(java)使用 Java 虚拟机来运行你的应用程序。

Java 应用程序 launcher tool(java)使用 Java 虚拟机来运行你的应用程序。

创建一个源文件

首先,打开一个 shell 或 terminal 窗口。

0b4995e0d9f577c165953b78eca2337a.png

第一次出现提示时,当前目录通常是主目录。可以随时在提示符下键入 cd,然后按回车键,将当前目录更改为主目录。

源文件应保存在单独的目录中。可以使用命令 "mkdir" 创建目录。例如,要在 "/tmp" 目录中创建目录 "examples/java",请使用以下命令:

> cd /tmp
> mkdir examples
> cd examples
> mkdir java

切换当前目录到新的目录,使用一下命令

> cd /tmp/examples/java

可以开始编辑源文件(以 vi 为例子):

> vi HelloWorldApp.java

输入一下代码,并保存。vi 的详细用法,请参考:Basic vi Commands

/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}

注意: 完全按照所示键入所有代码,命令和文件名。编译器(javac)和启动器(java)都是 区分大小写(case-sensitive),因此你必须一致地大写。

HelloWorldApp 与 helloworldapp 不相同。


将源文件编译为 .class 文件

假设源文件保存的目录为 "/tmp/examples/java",切换到 "/tmp/examples/java"。

> cd /tmp/examples/java

使用 pwd 命令查看当前目录,使用 ls 命令列举目录文件。

66174f4240f4c3287682e47f385f1f0d.png

编译源文件:

> javac HelloWorldApp.java

编译器在当前文件生成字节码文件(HelloWorldApp.class),如下所示:

c7f5358b5a28bf52296cafe8df5723f2.png

字节码文件(.class)生成后,则可运行。

如果在此步骤遇到问题,请参阅 常见问题及其解决方案。

运行程序

在相同的目录,执行命令:

> java HelloWorldApp

执行结果如下所示:

0951c3f792cbb3cbb0f56de1d8dceb95.png

如果在此步骤遇到问题,请参阅 常见问题及其解决方案。

分析 "Hello World!"应用

"Hello World!" 应用的源代码如下所示:

class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}

"Hello World!" 应用由三个主要部分组成:源码注释,HelloWorldApp 类定义 和 main 方法。

源码注释

以下被 "/** */" 包围的代码是 "Hello World!"应用的的注释:

/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}

注释被编译器忽略,但是对阅读代码的程序员是有用的,方便了解代码的功能。Java 编程语言支持三种注释:

  • /* text */ :编译器忽略从 "/*" 到 "*/" 的所有内容。

  • /** documentation */ :这表示文档注释(简称 doc comment)。编译器会忽略这种注释,就像忽略使用 "/*" 和 "*/" 的注释一样。准备自动生成的文档时,javadoc 工具使用文档注释。有关 javadoc 的更多信息,请参阅 Javadoc™ tool documentation。

  • // text :编译器会忽略 "//" 到行尾的所有内容。

HelloWorldApp 类定义

"Hello World!" 应用的类定义块:

class HelloWorldApp {
// 忽略方法
}

如上所示,类定义的最基本形式是:

class name {
. . .
}

关键字 class 开始名为 name 的类的类定义,并且每个类的代码出现在上面用粗体标记的开头和结尾大括号之间。

main 方法

main 方法定义块如下:

public static void main(String[] args) {
// 忽略方法实现
}

在 Java 编程语言中,每个应用程序都必须包含一个 main 方法,其签名为:

public static void main(String[] args)

可以按任意顺序(public static 或 static public)编写修饰符 public 和 static,但规范就是使用 public static,如上所示。你可以根据需要命名参数,但大多数程序员选择 "args" 或 "argv"。

main 方法类似于 C 和 C ++中的 main 函数;它是应用程序的入口点,随后将调用程序所需的所有其他方法。

main 方法接受一个参数:String 类型元素的数组。

public static void main(String[] args)

该数组是运行时系统将信息传递给应用程序的机制。例如:

java MyApp arg1 arg2

数组中的每个字符串都称为 command-line argument。命令行参数允许用户在不重新编译的情况下影响应用程序的操作。例如,排序程序可能允许用户使用此命令行参数指定数据按降序排序:

-descending

"Hello World!" 应用程序会忽略它的命令行参数,但你应该意识到这样的参数确实存在的事实。

最后,该行:

System.out.println("Hello World!");

使用核心库中的 System 类来打印 "Hello World!" 消息发送到标准输出。System 在后续章节进行讲解。

常见问题及其解决方案 -- 运行时问题

Microsoft Windows 上的公共错误信息

  • Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp

这个错误产生,是由于 java 没找到字节码文件 HelloWorldApp.class。

java 会尝试在当前目录查找 .class 文件。如果 ".class" 文件在 C:\java, 则需要将当前文件夹切换到 C:\java,相应命令

> cd c:\java

提示应更改为 C:\ java>。如果在提示符下输入dir,则应该看到.java和.class文件。现在再次输入

> java HelloWorldApp

如果仍然有问题,则可能必须更改 CLASSPATH 变量。通过以下命令将 CLASSPATH 置空,看是否需要设置 CLASSPATH

> set CLASSPATH =

现在再次输入

> java HelloWorldApp

如果程序现在可以运行,则必须更改 CLASSPATH 变量。要设置此变量,请参阅 JDK 8 安装说明中的“更新PATH变量”部分。CLASSPATH变量的设置方式相同。

  • Could not find or load main class HelloWorldApp.class

初学者程序员经常犯的一个错误是尝试在由编译器创建的 .class 文件上运行 Java 启动器。例如,如果尝试使用 java HelloWorldApp.class 而不是 java HelloWorldApp 运行程序,则会出现此错误。请记住,参数是您要使用的类的名称,而不是文件名。

  • Exception in thread "main" java.lang.NoSuchMethodError: main

Java VM要求您与其一起执行的类具有一个主要方法,从该方法开始执行您的应用程序。请看编写“Hello world” 应用的详细说明。

UNIX 系统上的公共错误信息

  • Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp

这个错误产生,是由于 java 没找到字节码文件 HelloWorldApp.class。

java 会尝试在当前目录查找 .class 文件。如果 ".class" 文件在 /home/example/java, 则需要将当前文件夹切换到 /home/exmaple/java,相应命令

> cd /home/example/java

如果在命令行输入 pwd,则显示 /home/example/java。如果输入 ls ,则应该看到 .java 和 .class 文件。现在再次输入

> java HelloWorldApp

如果仍然有问题,则可能必须更改 CLASSPATH 变量。通过以下命令将 CLASSPATH 置空,看是否需要设置 CLASSPATH

> unset CLASSPATH =

现在再次输入

> java HelloWorldApp

如果程序现在可以运行,则必须更改 CLASSPATH 变量。按照上面的介绍的方式设置 CLASSPATH 变量。

  • Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class

初学者程序员经常犯的一个错误是尝试在由编译器创建的 .class 文件上运行Java启动器。例如,如果尝试使用 java HelloWorldApp.class 而不是 java HelloWorldApp 运行程序,则会出现此错误。请记住,参数是您要使用的类的名称,而不是文件名。

  • Exception in thread "main" java.lang.NoSuchMethodError: main

Java VM 要求您与其一起执行的类具有一个主要方法,从该方法开始执行您的应用程序。请看编写 “Hello world” 应用的详细说明。

Applet 或者 Java Web 启动程序被阻塞

如果通过浏览器运行应用程序,并收到表示该应用程序被阻止的安全警告,请检查以下各项:

  • 验证是否针对运行应用程序的环境正确设置了JAR文件清单中的属性。Permissions 属性是必需的。在 NetBeans 项目中,可以通过展开项目文件夹并双击 manifest.mf,从 NetBeans IDE 的 “File” 选项卡中打开清单文件。

  • 验证应用程序是否由有效证书签名,并且该证书位于 Signer CA 密钥库中。

  • 如果正在运行本地小程序,请设置 Web 服务器以进行测试。还可以将应用程序添加到例外站点列表中,该列表在 Java 控制面板的“安全性”选项卡中进行管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值