下载PDF文件
下载PDF文件
Java是James Gosling于1995年创建的一种面向对象的编程语言,它用“字段”(fields,描述对象的属性),和“方法”(methods,对象可以执行的操作),将概念表示为“对象”(objects)。Java是一种“编写一次,就可以在任何地方运行”的编程语言,可以在任何装有Java虚拟机(JVM)的平台上运行。由于Java是一种用上大量英文单词的编程语言,母语为英语的初学者很容易学习和理解,非英语母语者只要下一番苦功也能很快上手。本教程介绍如何用Java编写程序。
步骤
-
要开始用Java编写程序,先设置你的工作环境。 许多程序员使用集成开发环境(Integrated Development Environment,IDE)进行Java编程,比如Eclipse和NetBeans。但是不必使用臃肿的IDE,也可以编写Java程序并编译它。
-
任何一种类似记事本的程序都能够用于Java编程。 高级程序员有时更喜欢使用终端内的文本编辑器,如Vim和Emacs。我们推荐一个可以安装在基于Windows和Linux系统(Mac、Ubuntu等)的文本编辑器: SublimeText 。我们将在本教程中使用它。
-
确保安装了 Java软件开发工具包 。 你要用它来编译程序。
- 在基于Windows的操作系统中,如果环境变量不正确,则可能在运行
javac
时出错。有关JDK安装的详细信息,可以参阅 如何安装Java软件开发工具包 ,以避免此错误。
广告 - 在基于Windows的操作系统中,如果环境变量不正确,则可能在运行
-
我们将首先创建一个能打印“Hello World”的程序。 在文本编辑器中,创建一个新文件,并将其另存为“HelloWorld.java”。HelloWorld是类名,你需要让类名与文件同名。
-
声明类和main方法。 main方法
public static void main(String[] args)
是程序运行时执行的方法。这个main方法在每个Java程序中都以相同方式调用。public class HelloWorld { public static void main ( String [] args ) { } }
-
编写将打印出“Hello World”的代码行。
System . out . println ( "Hello World." );
- 让我们看看这一行的组成成分:
-
System
告诉系统执行某些操作。 -
out
告诉系统我们要输出一些内容。 -
println
?代表“打印行(print line)”,我们用它告诉系统在输出中打印一行文字。 -
("Hello World.")
周围的圆括号表示方法System.out.println()
接受一个参数。在本例中,该参数是字符串"Hello World."
-
- 注意,Java中有一些我们必须遵守的规则:
- 必须始终在每行末尾添加分号。
- Java区分大小写,因此必须以正确的大小写写入方法名、变量名和类名,否则将出现错误。
- 某个方法或循环的特定代码块包含在花括号中。
- 让我们看看这一行的组成成分:
-
把这些都放在一起。 最后Hello World程序应如下所示:
public class HelloWorld { public static void main ( String [] args ) { System . out . println ( "Hello World." ); } }
-
保存文件,并打开命令提示符或终端来编译程序。 打开保存HelloWorld.java的文件夹,并键入
javac HelloWorld.java
。这告诉Java编译器你想要编译HelloWorld.java。如果有错误,编译器会告诉你做错了什么。否则,你不应该看到来自编译器的任何消息。如果现在查看helloworld.java所在的目录,应该会看到helloworld.class。这是Java用来运行程序的文件。 -
运行程序。 我们终于可以运行我们的程序了! 在命令提示符或终端中,键入
java HelloWorld
。这是在告诉Java你想运行HelloWorld类。你应该看到控制台出现 “Hello World”。 -
恭喜,你完成了第一个Java程序!广告
-
我们现在将扩展我们的Hello World程序,以接受用户的输入。 在我们的Hello World程序中,我们打印出一个字符串供用户查看,但是只有当程序能够接收用户输入信息,才能称之为程序的交互功能。我们现在将扩展程序,提示用户输入他或她的名字,然后用名字问候用户。
-
导入Scanner(扫描仪,由于编程时使用Scanner,故下文用Scanner)类。 在Java中,我们有一些可以访问的内置库,但是我们必须导入它们。其中一个库是java.util,它包含我们获取用户输入所需的Scanner对象。为了导入Scanner类,我们在代码的开头添加了以下行。
import java.util.Scanner;
- 这告诉程序我们想使用java.util包中的Scanner对象。
- 如果希望访问java.util包中的每个对象,只需在代码的开头编写
import java.util.*;
即可。
-
在main方法中,创建Scanner对象的一个新实例(instance)。 Java是一种面向对象的编程语言,因此它使用对象来表示概念。Scanner对象是含有字段和方法的对象。为了使用Scanner类,我们必须创建一个新的Scanner对象、它可以填充的字段和使用的方法。示例如下:
Scanner userInputScanner = new Scanner(System.in);
-
userInputScanner
是刚刚创建的Scanner对象实例的名称。注意名称是用骆驼体(每个单词首字母大写)写的,这是Java中变量命名的规定。 - 我们使用
new
运算符创建对象的新实例。因此在本例中,我们通过new Scanner(System.in)
,创建了Scanner对象的新实例。 - Scanner对象接受一个参数,该参数告诉对象要扫描什么。在本例中,我们输入
System.in
作为参数。System.in
告诉程序扫描来自系统的输入,这是用户将在程序中键入的输入。
-
-
提示用户输入。 我们必须提示用户输入,以便用户知道何时在控制台中键入内容。这可以通过
System.out.print
或System.out.println
实现。System.out.print("What's your name? ");
-
要求Scanner对象接受用户键入的下一行,并将其存储在变量中。 Scanner将始终接收用户键入的数据。下面的行将要求Scanner接受用户键入的姓名,并将其存储在变量中:
String userInputName = userInputScanner.nextLine();
- 在Java中,使用对象方法的规定是
objectName.methodName(parameters)
。在userInputScanner.nextLine()
中,我们使用刚才给出的名称调用Scanner对象,然后调用它的方法nextLine()
,该方法不接受任何参数。 - 注意,接下来程序将把下一行存储在一个“字符串”对象中。我们已将字符串对象命名为
userInputName
- 在Java中,使用对象方法的规定是
-
向用户显示问候语。 现在我们已经存储了用户名,我们可以打印一个问候语给用户。还记得我们在main类中编写的
System.out.println("Hello World.");
吗? 我们刚刚编写的所有代码都应该放在这一行上面。现在我们可以修改这一行,如:System.out.println("Hello " + userInputName + "!");
- 我们把“hello”、用户名和“!” 通过编写
"Hello " + userInputName + "!"
连起来的方式,称为字符串串联。 - 这里我们有三个字符串:"Hello "、userInputName和“!”。Java中的字符串是不可更改的。因此,当我们连接这三个字符串时,我们实际上创建了一个包含问候语的新字符串。
- 然后将这个新字符串作为参数输入
System.out.println
。
- 我们把“hello”、用户名和“!” 通过编写
-
一起保存以上代码。 我们的代码现在应该如下所示:
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner userInputScanner = new Scanner(System.in); System.out.print("What's your name? "); String userInputName = userInputScanner.nextLine(); System.out.println("Hello " + userInputName + "!"); } }
-
编译并运行。 进入命令提示符或终端,并运行与我们在第一次迭代HelloWorld.java时运行的命令。我们必须首先编译程序:
javac helloworld.java
。然后我们可以运行它:java HelloWorld
。广告
小提示
- Java是一种面向对象的编程语言,建议你阅读更多关于面向对象编程语言的基础知识,非常有用。
- 面向对象编程有许多特征。其中三个主要特征是:
- 封装 :限制访问对象某些组件的能力。Java为字段和方法提供私有(private)、受保护(protected)和公共(public)三种修饰符。
- 多态 :对象可以转换标识。在Java中,可以将一个对象转换为另一个对象,以使用另一个对象的方法。
- 继承 :使用与当前对象位于同一层次结构中的另一个类的字段和方法的能力。
广告
广告