Android 是谷歌用于移动设备的软件栈。这个堆栈由应用(或通常所说的应用)、运行应用的(位于操作系统之上并为虚拟机及其应用提供各种服务的软件),以及基于 Linux 的操作系统组成。

Android 应用是用 Java 编写的,使用各种 Java 应用接口(API)。因为你想写你自己的应用,但可能不熟悉 Java 语言和这些 API,这本书教你 Java,作为应用开发的第一步。它为您提供了开发应用时有用的 Java 语言和 Java APIs 的基础知识。

注意这本书通过非 Android Java 应用阐述了 Java 概念。新手掌握这些应用比对应的安卓应用更容易。

API 是指应用代码用来与其他代码通信的接口,通常存储在某种软件库中。关于这个术语的更多信息,可以查看的“应用编程接口”主题(。

这一章为你在开始 Android 应用开发生涯之前需要理解的基本 Java 概念奠定了基础。我首先回答“什么是 Java?”问题。接下来,我将向您展示如何安装 Java SE 开发工具包(JDK),并向您介绍用于编译和运行 Java 应用的 JDK 工具。

在向您展示了如何安装和使用开源 Eclipse IDE(集成开发环境)以便您可以更容易(更快速)地开发 Java 应用(以及最终的 Android 应用)之后,我将为您提供各种 Java APIs 的高级概述,您可以从您的 Java 应用和 Android 应用中访问这些 API。在后续章节中,您将更详细地探索这些和其他有用的 API。

注意第 1 章简短而紧凑,介绍了许多你将在本书中更详细遇到的概念。如果您是 Java 新手,您可能会发现自己对这些概念有点不知所措。然而,当你继续阅读余下的章节时,任何迷雾都将消散。如果您仍然感到有些困惑,请联系我(Jeff @ tutortutor . ca),我会尽力帮助您。

Java是 Sun Microsystems 首创的语言和平台。在这一节中,我将简要描述这种语言,并揭示它对 Java 作为一个平台意味着什么。为了满足各种需求,Sun 将 Java 组织成三个主要版本:Java SE、Java EE 和 Java ME。本节还简要探讨了这些版本以及 Android。

注意 Java 有一段有趣的历史,可以追溯到 1990 年 12 月。当时,詹姆斯·高斯林、帕特里克·诺顿和迈克·谢里丹(都是太阳微系统公司的雇员)被赋予了弄清计算领域下一个主要趋势的任务。他们的结论是,一个趋势将涉及计算设备和智能消费电器的融合。由此诞生了绿色工程。

绿色的果实是Star7,这是一款手持无线 英寸彩色液晶显示屏、SPARC 处理器、复杂的图形功能和 Unix 版本;以及由詹姆斯·高斯林开发的用于编写在 Star7 上运行的应用的语言Oak,他以生长在 Sun 公司他办公室窗外的一棵橡树命名了 star 7。为了避免与另一种同名语言的冲突,Gosling 博士将这种语言的名称改为 Java。

Java 是开发者表达源代码(程序文本)的语言。Java 的语法(将符号组合成语言特性的规则)部分模仿了 C 和 C++ 语言,以缩短 C/C++开发人员的学习曲线。

Java 支持另一种称为 Javadoc 的注释风格。(我在第二章简单介绍一下 Javadoc。)

Java 提供了 C/C++中没有的保留字(扩展、 strictfp 、同步和瞬态就是例子)。

Java 不需要特定于机器的知识。支持字节整数类型(见;不提供字符类型的有符号版本;并且不提供整数、长整数和短整数的无符号版本。此外,所有 Java 的基本类型都有保证的实现大小,这是实现可移植性的重要部分(稍后讨论)。在 C 和 C++中,等价的基本类型就不一样了。

Java 提供了 C/C++中没有的运算符。这些运算符包括的实例和 (无符号右移)。

Java 提供了 C/C++中没有的带标签的 break 和 continue 语句。

你将在第 2 章中学习单行和多行注释。此外,在那一章中,您将学习保留字、基本类型、操作符、块和语句(包括标记为 break 和 continue 的语句)。

Java 被设计成比 C/C++更安全的语言。它实现安全性的部分原因是不让您重载操作符,并省略了 C/C++特性,如指针(包含地址的变量—参见)。

Java 还通过修改某些 C/C++特性来实现安全性。例如,循环必须由布尔表达式控制,而不是由整数表达式控制,其中 0 为假,非零值为真。(在第二章的中有关于循环和表达式的讨论。)

假设您必须编写一个重复不超过 10 次的 C/C++ while 循环。累了,你指定 while(x)x++;(假设 x 是一个初始化为 0 的基于整数的变量——我在第二章中讨论变量)其中 x++ 给 x 的值加 1。当 x 达到 10 时,该循环不停止;你引入了一个错误。

这个问题在 Java 中不太可能出现,因为它在看到 while (x) 时会报错。这个投诉要求你重新检查你的表达,然后你很可能指定 while (x!= 10)。不仅提高了安全性(不能只指定 x ),还明确了含义: while (x!= 10) 比更有意义而(x) 。

这些和其他基本的语言特性支持类、对象、继承、多态和接口。Java 还提供了与嵌套类型、包、静态导入、异常、断言、注释、泛型、枚举等相关的高级特性。后续章节将探讨这些语言的大部分特性。

Java 是一个由虚拟机和执行环境组成的平台。虚拟机是一个基于软件的处理器,提供一个指令集。执行环境由运行程序和与底层操作系统交互的库组成。

执行环境包括一个巨大的预建类文件库,这些类文件执行常见任务,如数学运算(例如,三角学)和网络通信。这个库通常被称为标准类库。

一个被称为Java 编译器的特殊 Java 程序将源代码翻译成由虚拟机执行的指令(和相关数据)。这些指令被称为字节码。

编译器将程序的字节码和数据存储在带有的文件中。类扩展。这些文件被称为类文件,因为它们通常存储编译后的等价类,这是一个在第 3 章中讨论的语言特性。

Java 程序通过工具(例如, java )执行,该工具加载并启动虚拟机,并将程序的主类文件传递给机器。虚拟机使用一个类加载器(一个虚拟机或执行环境组件)来加载类文件。

加载类文件后,虚拟机的字节码验证器组件确保类文件的字节码是有效的,并且不会危及安全性。当验证器发现字节码有问题时,它就终止虚拟机。

假设类文件的字节码一切正常,虚拟机的解释器一次解释一条指令。解释包括识别字节码指令和执行等价的本机指令。

当解释器得知字节码指令序列被重复执行。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注