第 1 章 起步

第 1 章 起步

本章,你将首先在计算机上安装Java、Eclipse和Android Studio,再在交互式命令行shell——JShell中尝试执行一些命令,以熟悉基本的Java编程知识。

Java是一门功能强大的多平台编程语言,可免费下载并安装到Windows、macOS和Linux系统中。作为业界标准的集成开发环境(integrated development environment,IDE),Eclipse工具包可用于快速而轻松地开发Java应用程序。Android Studio是一个使用Java开发Android移动应用的开发环境,让你能够开发用于手机、平板电脑等设备的移动游戏和应用。

1.1 Java支持Windows、macOS和Linux

Java的优点之一是,你编写的Java程序可在任何计算机上运行,只要它安装了Java虚拟机(Java Virtual Machine,JVM)软件[有时也被称为Java运行时环境(Java Runtime Environment,JRE)]。JVM技术让你只需编写程序一次,就可在使用任何操作系统(Windows、macOS、Linux、Android等)的设备上运行它。

这种理念看似平淡无奇,但使用其他大多数编程语言时,你要么为Windows、macOS、Linux和智能手机编写不同的代码,要么针对不同的操作系统编译不同的版本。JVM是一种运行时环境,让你无需这样做。

图1-1显示了同一个图形Java应用程序在Windows、macOS和Ubuntu Linux系统上的运行情况。

图1-1 在三种不同的操作系统(Windows、macOS和Linux)中运行同样的Java代码

这个简单而强大的概念是Java被全球各地的个人和企业采用的原因之一。

1.2 安装Java 8 for Developers和Java 9 for Developers

Java开发包(Java Development Kit,JDK)是供开发人员(程序员)使用的Java版本,让你能够编写和编译Java应用程序,并将其与朋友分享、部署到企业环境中或在任何设备上运行。

我们将同时安装第8版和第9版的JDK,这样既可获得第8版被广泛使用带来的好处,又可使用第9版提供的最新功能。

为安装JDK 8,请执行如下步骤。

(1) 访问http://jdk.java.net/8/

(2) 单击单选按钮Accept License Agreement。

(3) 在JDK下载列表中找到你使用的操作系统,并单击相应的链接。如果你使用的操作系统为Windows或Linux,请选择64位版本。

(4) 双击下载到文件夹Downloads中的JDK文件以安装JDK。

为安装JDK 9,请访问http://jdk.java.net/9/,再重复JDK 8安装过程的第2~4步。

注意 有关详尽的分步安装视频,请参阅与本书配套的在线课程(http://www.udemy.com/java-the-easy-way/)。

这就是需要做的所有准备工作,现在你可以从基于文本的命令行或终端编译并运行Java程序了。但我们还想使用Java来创建类似于图1-1所示的图形用户界面(graphical user interface,GUI)应用程序,为此我们将安装集成开发环境Eclipse。

1.3 安装Eclipse IDE for Java Developers

Eclipse是最流行的Java编程IDE之一,它还是开源的,这意味着个人和企业都可免费使用,同时有欣欣向荣的开源社区不断地改进和支持它。还有很多其他的Java开发IDE,但就开发Java应用程序而言,Eclipse以易于使用著称。Eclipse安装起来也非常容易。

为安装Eclipse,请访问http://www.eclipse.org/downloads/,根据你使用的操作系统下载相应的安装程序(如图1-2所示)再运行它。本书编写期间,最新版本为Eclipse Oxygen。

图1-2 根据你使用的操作系统下载相应的Eclipse IDE安装程序

你将看到一个类似于图1-3所示的菜单,请选择Eclipse IDE for Java Developers并单击Install。务必选择Eclipse IDE for Java Developers(Java EE没有本书将使用的一些功能)。

{%}

图1-3 在Eclipse安装程序菜单中选择Eclipse IDE for Java Developers

安装可能需要几分钟才能完成。

1.4 配置Eclipse

下面来配置Eclipse,使其更像专业开发环境:安装WindowBuilder Editor;选择对程序员友好的颜色方案和字体。

请单击Eclipse图标来启动它。Eclipse启动时,通常会让你指定工作区的位置——所有Java项目都将存储在这里,如图1-4所示。你可使用默认位置(在Windows系统中,为C:\Users\<YourUserName>\eclipse-workspace\;在macOS系统中,为/Users/<YourUserName>/Documents/eclipse-workspace/;在Linux系统中,为/home/<YourUserName>/eclipse-workspace/),也可给Java工作区文件夹指定自定义位置。

{%}

图1-4 Eclipse首先会询问你要将Java项目存储在什么地方

如果你没什么偏好,可使用默认位置eclipse-workspace。不管你选择的是什么位置,都请记住它,因为你的所有Java项目都将存储在这里。如果你选中复选框“Use this as the default and do not ask again”,Eclipse Launcher窗口就不会在你每次启动Eclipse时都出现。如果你要使用多个工作区,就不要选中这个复选框,这样可在启动Eclipse时轻松地在不同工作区之间切换。

修改Eclipse使其支持Java 9

如果Eclipse无法启动,就还需要修改一个地方。编写本书期间,Java 9推出没多长时间,虽然Eclipse Oxygen和更高的版本支持Java 9,但有些版本需要修改配置文件eclipse.ini才能支持Java 9。为完成这种修改,请执行如下步骤。

(1) 找到Eclipse安装文件夹。

  • 在Windows系统中,可右击Eclipse快捷方式并选择“打开文件位置”。文件eclipse.ini与程序文件eclipse.exe位于同一个文件夹。
  • 在macOS系统中,启动Finder,并找到文件夹Applications中的应用程序Eclipse,然后按住control键并单击应用程序图标Eclipse,再选择“显示包内容”。依次打开“内容”和Eclipse文件夹,你将在文件列表中看到eclipse.ini。
  • 在Linux系统中,进入你的主(home)文件夹,并打开eclipse/java-oxygen/ eclipse,你将在其中找到eclipse.ini。

(2) 右击(或按住control键并单击)文件eclipse.ini,选择“打开方式”,再选择“记事本”、TextEdit或其他文本编辑器。

(3) 在文件eclipse.ini末尾添加如下内容:

--add-modules=ALL-SYSTEM

(4) 将eclipse.ini存盘,再启动Eclipse。从现在开始,Eclipse应该能够正确地启动。

首次启动Eclipse时,你将看到一个欢迎屏幕。根据你使用的Eclipse版本,这个屏幕可能包含一些很有用的示例项目和教程,也可能更简单。如果你愿意,可随便单击做些探索。探索完毕后,请单击Welcome选项卡右上角的X将其关闭。

1.4.1 安装WindowBuilder Editor

我们要对Eclipse做的最重要的升级是安装WindowBuilder Editor,它让你能够创建多窗口应用程序。为此,你只需将按钮、标签和文本框等GUI元素拖放到应用程序的图形预览中。

有些版本的Eclipse安装了WindowBuilder Editor,但我们将执行安装或更新步骤,为第3章开始创建GUI应用程序做好准备。

首先,请访问http://www.eclipse.org/windowbuilder/并单击Download。在下载页面中,找到与你使用的Eclipse版本匹配的WindowBuilder版本(对Eclipse Oxygen来说,为4.7版),再右击(或按住control键并单击)相应的链接,并复制链接地址,如图1-5所示。

图1-5 找到最新版WindowBuilder Editor的下载链接并复制其地址

回到Eclipse并选择菜单Help ▶ Install New Software。在文本框Work with中,粘贴WindowBuilder Editor的下载URL(对Eclipse Oxygen来说,为http://download.eclipse.org/windowbuilder/WB/integration/4.7/),再单击按钮Add...。在出现的对话框中,在文本框Name中输入WB,如图1-6所示。

{%}

图1-6 使用Eclipse菜单项Install New Software来添加WindowBuilder Editor

单击按钮OK,等安装窗口中出现复选框WindowBuilder后,单击按钮Select All安装需要的所有WindowBuilder组件。不断单击Next按钮,并在被询问时接受许可协议,再单击按钮Finish。

这个软件可能需要几分钟才能安装完毕——Eclipse右下角有进度指示器。安装完毕后,将询问你是否要重启Eclipse。请单击Restart Now以完成WindowBuilder的整个安装过程。

下面来做些微调——修改背景色、文本颜色和字体,让Eclipse中的代码更容易阅读。

1.4.2 定制Eclipse的外观

安装必要的软件后,还需定制Eclipse的外观。为此,在Windows和Linux系统中,可选择菜单Window ▶ Preferences;在macOS系统中,可选择Eclipse ▶ Preferences。

例如,你可能想修改主题(调色板)和文本编辑器使用的字号。根据你的显示器尺寸以及编程环境,主题和字号可能对可读性、舒适程度乃至效率带来重大的影响。

在Preferences菜单中,展开General并选择Appearance,你将看到Theme(主题)选项。你可选择喜欢的主题,如Classic(淡灰色背景和黑色字体)或Dark(黑色背景和色彩丰富的字体)。我喜欢主题Dark,因为其字体颜色比黑色背景浅,无论是在显示器还是投影屏幕上都更容易看清楚。

在General ▶ Appearance ▶ Colors and Fonts中,可修改字号。请在右边的Colors and Fonts窗格中,选择Basic ▶ Text Font,再单击Edit按钮,这将打开Font(字体)对话框。请选择对你来说容易看清的字体,我喜欢Courier New或Consolas。推荐你将字号设置为18~20,并将字体样式设置为Bold(粗体)。Font对话框将根据你选择的字体、字号和样式显示样本,如图1-7所示。

图1-7 Colors and Fonts首选项(左)和Font对话框(右)

设置好首选项后,单击按钮OK返回到Eclipse主工作区。等到第2章你开始在Java文本编辑器中编写代码时,将会发现首选项设置生效了。

1.5 安装用于开发移动应用的Android Studio

Android Studio是官方提供的Android移动应用开发环境,让你能够使用Android原生编程语言Java来设计和编写移动应用。与Java和Eclipse一样,Android Studio也可免费下载、安装和使用。Android Studio体量庞大,下载并安装它需要的时间从几分钟到几小时不等,这取决于你的网络连接速度。

为下载Android Studio,请访问http://developer.android.com/studio/并单击Download Android Studio,如图1-8所示。请阅读并同意许可条款,再单击Download Android Studio for <operating system>。

图1-8 Android Studio是官方的Android移动应用开发环境

请按说明完成安装过程。安装期间可能下载其他的软件开发包(software development kit,SDK)组件,而下载完所有组件后,可能还需要几分钟才能安装完毕。

1.6 使用JShell熟悉Java

搭建好编程环境后,我们使用Java交互式解释器JShell来检查安装情况。JShell非常适合用来了解Java的工作原理,因为它在你输入代码后立即提供反馈。在Java 9之前,Java程序员必须输入完整的程序,再编译并运行,才能看到结果。现在有了JShell,我们输入单行Java代码(如System.out.println("Hello,Java!")并按回车键后,就能在屏幕上看到输出,如图1-9所示。

{%}

图1-9 Java 9中的JShell让你能够在交互式命令行shell中快速尝试代码

在JShell中可执行任何合法的Java语句,这让它非常适合用来学习基本的Java编程知识。下面就来看看。

1.6.1 运行JShell

你可从命令行运行JShell,也可创建快捷方式并通过它来运行JShell。这里将同时介绍这两种方法,以防有一种方法对你来说不管用。

首先,你必须安装JDK 9。要确定是否安装了JDK 9,可在命令行运行一个命令。

要在Windows、macOS或Linux系统中启动命令行界面,可像下面这样做。

  • 在Windows系统中,这样打开命令提示符:单击“开始”按钮,在搜索框中输入cmd并按回车键或单击命令提示符图标。
  • 在macOS系统中,打开Launchpad并在搜索框中输入terminal,再单击应用程序图标Terminal。
  • 在Linux系统中,搜索terminal,再单击应用程序图标Terminal。

此时将出现一个命令提示窗口。在提示符下输入java –version,Java将指出安装的是哪个JDK版本。在Windows系统中,你将看到类似于下面的输出:

C:\Users\Payne> java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+153)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+153, mixed mode)

在macOS或Linux系统中,你将看到类似于下面的输出:

Payne:~ payne$ java -version
java version "1.9.0_33"
Java(TM) SE Runtime Environment (build 1.9.0_33)...

只要输出像上面这样指出安装的Java版本为9或1.9,就可运行JShell了。如果你要从命令行运行它,可继续阅读下面的“从命令行运行JShell”。如果输出中显示的是更早的Java版本,如Java 1.8,请按1.2节的介绍安装JDK 9。如果安装JDK 9后,前述命令的输出依然未包含版本9,或者你更喜欢使用快捷方式运行JShell,请跳到“从快捷方式运行JShell”。

  1. 从命令行运行JShell

    要从命令提示符运行JShell,可在其中输入jshell并按回车。Java将显示JShell欢迎消息和提示符,它们在Windows系统中类似于下面这样:

    C:\Users\Payne> jshell
    |  Welcome to JShell -- Version 9-ea
    |  For an introduction type: /help intro
    
    jshell>
    

    在macOS或Linux系统中,消息和提示符类似于下面这样:

    Payne:~ payne$ jshell
    |  Welcome to JShell -- Version 9-ea
    |  For an introduction type: /help intro
    
    jshell>
    

    如果出现了提示符jshell>,你就可直接进入1.6.2节。如果安装JDK 9后命令jshell依然不管用,请尝试执行下一小节介绍的步骤。

  2. 从快捷方式运行JShell

    如果你无法从命令行启动JShell,或者你想从桌面快捷方式启动它,请按下面的步骤进入JDK 9安装目录下的文件夹bin,再找到JShell并创建快捷方式。文件夹名称bin是binaries(二进制文件)的简写;所谓二进制文件指的是使用计算机语言(只包含0和1)编写的程序。

    注意 遗憾的是,在Linux系统中,这种方法不一定管用,但命令行方法应该管用。

    JShell位于下面的目录中。

    • Windows系统:C:\Program Files\Java\jdk-9\bin\jshell.exe。
    • macOS系统:/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/ Home/bin/jshell。

    在你的计算机上,JDK 9安装目录可能是jdk-1.9.x,而不是jdk-9。请进入JDK 9安装目录下的文件夹bin,并找到文件JShell,如图1-10所示。

    图1-10 在Windows系统(左)和macOS系统中,JDK 9安装目录下文件夹bin中的程序文件JShell

    你可双击JShell文件的图标来启动JShell,也可创建一个快捷方式,这样就可直接从桌面启动JShell了。

    • 在Windows系统中,右击jshell.exe并选择“发送到”▶“桌面快捷方式”。
    • 在macOS系统中,按住control键并单击文件jshell,再选择“创建别名”。将出现一个名为jshell alias的文件,请将其拖放到桌面。

    现在,无论什么时候想启动JShell,都只需双击桌面上的图标,然后就可以编写Java代码了。

1.6.2 在JShell中使用Java表达式

表达式是值(如数字或文本)和运算符的任何组合,条件是其结果为另一个值。运算符执行加减乘除等运算;在Java中,用来表示加减乘除运算的符号分别为+-*/。我们来尝试一个简单的数学表达式。在JShell提示符下输入2+2并按回车:

jshell> 2+2
$1 ==> 4

JShell指出,表达式2+2的值为4$1是一个临时变量,JShell创建这样的变量来存储值;在这里,变量$1用于临时存储4,以便你以后使用。要获悉变量的值,可在JShell中输入它。例如,如果你现在输入$1,JShell将指出$1存储的值为4

jshell> $1
$1 ==> 4

再来尝试一个表达式。这次我们合并两个文本字符串。字符串是用引号括起的字符,用于显示单词、名称和其他文本。要合并字符串,可使用运算符+

jshell> "Your" + "Name"
$3 ==> "YourName"

如你所见,又创建了一个临时变量,这里是$3$后面的数字指出了相应的表达式是在第几行输入的。这是我输入的第三个代码片段,因此JShell将"YourName"存储在变量$3中。

另外请注意,Java拼接两个字符串(或者说将它们相加)时,不会在它们之间添加空格。如果你要在拼接的两个字符串之间添加空格,必须将其包含在双引号内,如下所示:

jshell> "Your" + " " + "Name"
$4 ==> "Your Name"

只要是合法的Java表达式,就可在JShell中计算它。我们再来尝试几个表达式。要编辑以前输入的语句,可按向上箭头键,JShell将显示你输入的最后一条语句,让你能够对其进行编辑。编辑完毕后,可按回车键再次运行它。不断按向上箭头键,可遍历以前输入的所有语句,直到到达你输入的第一行。

1.6.3 在JShell中声明Java变量

计算由简单值组成的表达式很好,但你通常想将值存储在变量中,以便以后能够使用。JShell会不断地替我们自动创建变量,如前一节的$1$3,但你也可自己创建(声明)变量。

  1. 数字变量

    我们来创建一个名为x的整数变量,并将值42存储到其中。Java使用类型为int的变量来存储整数值,因此请在JShell提示符下输入int x = 42

    jshell> int x = 42
    x ==> 42
    

    在Java中,等号(=)为赋值运算符,即用于给变量赋值。JShell做出响应,让你知道变量x包含的值为42。现在,如果你要使用这个值,只需引用变量x即可。我们来看看x * 2x乘以2)等于多少:

    jshell> x * 2
    $6 ==> 84
    

    Java将星号(*)用作乘法运算符,而JShell告诉你x * 2等于84。但获取x的值并将其与2相乘时,修改了x的值吗?为获悉这一点,我们输入x

    jshell> x
    x ==> 42
    

    变量x的值没变,还是42。这意味着使用变量存储的值时,不会修改它的值。

    那么如何修改变量存储的值呢?只需再次使用赋值运算符。请在JShell提示符下输入x = x + 7

    jshell> x = x + 7
    x ==> 49
    

    我们获取x的值,将其与7相加,并将结果存储到变量x中。从现在开始,每当你询问x的值时,都将得到49,直到你再次修改它。你想什么时候修改变量的值就可什么时候修改,这正是它们被称为变量的原因所在。

    下面来尝试几个不同类型的变量。前面看过了整数值,下面来尝试一个小数(浮点数)。Java使用类型为double(意思是双精度浮点数)的变量来存储小数,因此我们创建一个名为metersdouble变量,并在其中存储小数值1.83

    jshell> double meters = 1.83
    meters ==> 1.83
    

    对Java来说,小数处理起来与整数一样容易。我们来做点数学运算,将米转换为厘米:

    jshell> double centimeters = meters * 100
    centimeters ==> 183.0
    

    我们将meters的值乘以100,并将结果存储到变量centimeters中。

    Java还支持其他几种数字类型,但intdouble是最常用的。每当你遇到没有见过的类型时,都可启动JShell并尝试在其中使用它们。

  2. 字符串变量

    类型为String的变量用于存储文本字符串。我们来定义一个名为myNameString变量,并在其中存储一个姓名,如下所示(你可存储你的姓名):

    jshell> String myName = "Bryson Payne"
    myName ==> "Bryson Payne"
    

    与前面给数字变量赋值一样,我们也使用等号来赋值。

    注意 在Java中,变量、方法和类的名称是区分大小写的。全小写的myname不同于全大写的MYNAME,而这两个都不同于myName。在Java中,约定(通行的做法)是使用骆驼拼写法,即名称中每个单词的首字母都大写(第一个单词除外),如myNamethisIsASillyName ButShowsCamelCase,这让每个首字母看起来都像驼峰。对于类名,除采用骆驼拼写法外,还将第一个字母也大写。

    下面来使用存储在变量myName中的值。假设你获得了证书或学位,需要在你的姓名后面添加一些字符,如下所示:

    jshell> myName + ", PhD"
    $12 ==> "Bryson Payne, PhD"
    

    请注意,这里没有使用赋值运算符,因此存储在myName中的值应该还是你的姓名,而不包含新增的字符。

    下面来修改存储在变量myName中的值,在你的姓名前加上正式的头衔,就像在信封或邀请函中那样:

    jshell> myName = "Dr. " + myName
    myName ==> "Dr. Bryson Payne"
    

    JShell显示了存储在变量myName中的新值。下一节将继续使用数字变量和字符串变量,并介绍如何在Java程序中将值输出到屏幕上。

1.6.4 在Java中打印输出

到目前为止,我们都这样计算表达式:在JShell中输入它们以查看结果。但在实际编程中,情况通常不是这样的。在Java程序中,当你逐行输入代码时,在屏幕上看不到任何反馈。

要将内容打印到屏幕上,可使用打印函数,如System.out.println(),它将一行输入打印到系统控制台(即屏幕)。如果你没有关闭JShell,可像下面这样打印x的值:

jshell> System.out.println(x)
49

如果这样做时出错,请使用语句int x = 49重新声明变量x,再执行刚才的打印语句。

注意,现在JShell显示的不是x ==> 49,这是因为你并没有让它计算表达式。println()语句让JShell打印括号内的值(这里为变量x),因此JShell只显示49

下面来尝试打印字符串,为此请输入下面的语句:

jshell> System.out.println("Hello, " + myName)
Hello, Dr. Bryson Payne

只要现在依然可使用前一节声明的变量myName,Java就会向你发出问候。

每当需要将信息打印到屏幕上供用户查看时,都可使用System.out.println()语句,它打印你指定的内容。

1.6.5 JShell命令

JShell使用起来很容易,你可能都不愿离开,但你终究需要去做其他的工作,如使用Java编写激动人心的桌面和移动应用。下面来看看JShell提供的命令,包括退出JShell的命令。

在JShell提示符下输入/help并按回车:

jshell> /help

JShell将列出它支持的所有特殊命令。每个命令都以斜杠(/)打头,这指出我们要与JShell程序(而不是Java)交流。下面列出了JShell支持的部分命令:

|    /list [<name or id>|-all|-start]    -- list the source you have typed
|    /edit <name or id>                  -- edit a source entry referenced by name or id
|    /save [-all|-history|-start] <file> -- save snippet source to a file
|    /open <file>                        -- open a file as source input
|    /vars [<name or id>|-all|-start]    -- list the declared variables and their values
|    /imports                            -- list the imported items
|    /exit                               -- exit jshell
|    /reset                              -- reset jshell
|    /history                            -- history of what you have typed
|    /help [<command>|<subject>]         -- get information about jshell

请尝试其中一些命令,如/list(它列出你已输入的源代码)。注意,必要时JShell会在行尾加上分号——Java使用分号来分隔程序中的语句。命令/history显示你输入的所有内容,其中包括命令,如/help/list乃至/history

你在第2章编写Java程序时,将在文件中进行,这要求你反复存盘并在需要时重新打开文件。然而,在JShell中,一旦你关闭JShell窗口,输入的所有内容都将消失——除非你将其保存。所幸JShell提供了保存、打开和编辑代码片段的功能。要将你在JShell中创建的代码存盘,可使用命令/save并指定文件存储位置:

jshell> /save ~/Desktop/filename.txt

波浪字符(~)表示你的用户目录,因此上述命令将把你从打开JShell(或最后一次执行命令/reset)开始输入的所有代码,存储到桌面的一个文件中。如果你查看桌面,将看到这个新文件。

要打开文件,可使用/open命令并告诉JShell到哪里去查找文件:

jshell> /open ~/Desktop/filename.txt

JShell将打开这个文件并运行其中的代码。

每当你要将编写的代码片段保存供以后使用时,都可使用/save将其保存,再在以后启动JShell后使用/open来加载它们。

要开始新的代码片段,可使用命令/reset。JShell将只保存你在执行命令/reset后输入的代码,但你随时都可打开已保存的文件。请尝试下面的代码,这个简单的示例演示了如何保存文件、重置和打开文件:

❶ jshell> /reset
   |  Resetting state.
❷ jshell> System.out.println("Hello, Java!")
   Hello, Java!
   jshell> System.out.println("My name is Bryson, nice to meet you!")
   My name is Bryson, nice to meet you!
❸ jshell> /save ~/Desktop/myJava.txt
❹ jshell> /reset
   |  Resetting state.
❺ jshell > /open ~/Desktop/myJava.txt
❻ Hello, Java!
   My name is Bryson, nice to meet you!

注意 带数字的圆圈标出了重要的代码行,但它们并不是代码的组成部分。

首先,你需要重置JShell❶,以免保存之前输入的代码。重置后,就可编写程序了;这里的程序包含两条打印语句❷。接下来,你将这个程序保存到桌面❸。即便重置JShell❹后,依然可以使用命令/open❺加载在命令/save前输入的两行代码,并运行它们❻。你可使用/edit来修改这些代码,并在修改完毕后再次使用/save将其保存。

无论代码片段包含多少行,JShell都能够存储并重新加载它。

探索完JShell后,可使用命令/exit将其关闭:

jshell> /exit
Goodbye

JShell很有礼貌,离开时会跟你说再见。

1.7 小结

在本章中,你不仅安装了Java、Eclipse和Android Studio,还开始学习Java了——在JShell中尝试各种命令。对无处不在的Java来说,JShell是一项激动人心的改进。无论是对初学者还是久经沙场的开发人员来说,JShell都是一个绝妙的工具。

对编程新手来说,JShell消除了学习基本Java命令的壁垒,可方便他们进行探索。对经验丰富的程序员来说,JShell让他们能够快速测试代码片段,并在屏幕上立即看到结果。作为教员和程序员,JShell的面世让我激动万分,这对Java的未来意义重大,同时数百万的程序员也将受益于这组重要的新工具。

你为开发Java桌面和移动应用搭建好了环境,学习了如何在JShell中测试代码。你还对后面编写Java桌面和移动应用时将用到的众多编程概念有了一定的认识。下面概述了你在本章完成的工作:

  • 安装Java JDK 8和Java JDK 9;
  • 安装Eclipse IDE for Java Developers和WindowBuilder Editor;
  • 安装用于开发移动应用的Android Studio;
  • 从命令行以及从文件夹JDK9/bin运行JShell;
  • 在JShell中计算包括数字和字符串的Java表达式;
  • 在Java中声明用于存储整数、小数和字符串的变量;
  • 使用System.out.println()将输出打印到屏幕;
  • 使用/reset/edit/save/open/exit等JShell命令;
  • 在JShell中保存和打开文件。

在下一章,我们将创建第一个完整的Java应用程序——猜数游戏。在随后的几章中,我们将创建基于文本的程序、桌面应用程序及其Android移动版。

在这个过程中,将使用你在本章通过JShell学到的编程概念,这包括表达式、变量、输出等。无论你是第一次还是第800次编写程序,也无论你是为完成工作而编写桌面应用程序还是出于好玩而编写移动游戏,前述元素都不可或缺。

万事俱备,我们进入第2章撸起袖子干吧!

目录

  • 献词
  • 版权声明
  • 前言
  • 致谢
  • 第 1 章 起步
  • 第 2 章 创建猜数游戏
  • 第 3 章 给猜数游戏创建GUI
  • 第 4 章 创建你的第一个Android应用
  • 第 5 章 给应用添加菜单和首选项
  • 第 6 章 机密信息加密
  • 第 7 章 创建高级GUI并分享应用
  • 第 8 章 创建移动版Secret Messages应用并与朋友分享
  • 第 9 章 使用鼠标绘制五颜六色的气泡
  • 第 10 章 添加动画和碰撞检测
  • 第 11 章 创建Android多点触控版BubbleDraw应用
  • 附录 A 调试及避免常见错误