技术开发 频道

ASP 开发人员的 J2EE 基础

  从 Visual Basic 角度看 Java 101

  既然您对 Java 代码的外观以及如何编译并在测试机器上运行有了初步的了解,那么您应准备深入了解 Java 语言的结构和语法,包括 Java 编程环境和 Java 原始数据类型。由于您熟悉使用 Visual Basic 进行编程,所以您可以通过比较进行学习。我们将就 Java 平台的基础组件与 Visual Basic 编程框架底层相似组件的关系和区别来讨论 Java 平台的基础组件。如果您是一个 C/C++ 程序员,则可以跳过本节,然后学习教程“C/C++开发人员的 Java 编程”。

  Visual Basic 执行环境

  Visual Basic 是一种高级编程语言;它的目的是使人们可以轻松地开发计算机程序。计算机不能理解高级语言;只能理解低级的机器语言――可以直接在计算机处理器上执行的二进制指令序列。因此,必须将用高级语言编写的程序转换成机器语言程序 ―― 可执行程序,然后才能在计算机上执行。不同的计算机使用不同的机器语言。在一台机器上运行的可执行程序将不能在另一台使用不同机器语言的计算机上运行。

  将高级编程语言转换为机器语言可执行程序采用两种方法:编译和解释。编译会将整个高级语言程序转换为整个机器语言程序,然后可以全部执行机器语言程序。解释会将高级语言程序逐行转换为机器指令;在转换并执行一行后,才到达下一行。编译和解释在逻辑上是等价的,但编译程序的执行速度一般比解释程序要快。Visual Basic 程序由名为编译器的程序编译成机器语言可执行程序。

  Java 执行环境

  与 Visual Basic 程序类似,Java 程序也是进行编译的。但与 Visual Basic 程序不同的是,Java 程序并非被编译成特定于平台的机器语言。而是被编译成与平台无关的语言,称为 字节码。字节码与机器语言类似,但设计字节码的目的并不是在真正的物理计算机上运行。而是由被称为 Java 虚拟机(Java virtual machine,JVM)的程序运行,Java 虚拟机模拟真实的机器。

  简单地说,JVM 是一个解释器,它将 Java 字节码转换为在底层的、物理机器上执行的真实机器语言指令。更具体的说,术语 Java 虚拟机一般用来指任何执行 Java 类文件的程序。Java 解释器程序 java.exe 是一个具体的 JVM 实现。

  Java 平台使用虚拟机层来保证用 Java 语言编写的程序是平台无关的。Java 程序一旦编译成字节码,就可以在任何拥有 JVM 的系统上运行。这些系统包括 UNIX、Linux、Windows 以及许多其他系统。用其他语言编写的程序在每个平台上执行时,都必须重新编译,而 Java 程序只需编译一次。

  数据类型

  Java 语言包含两种不同的数据类型:程序员定义的类(或作为 SDK 或第三方类库的一部分而可以使用的类)和 Java 运行库直接理解的“原始”类型( boolean 、 char 、 byte 、 short 、 int 、 long 、 float 和 double )。大多数 Java 原始类型在 Visual Basic 中有等价的类型,而用户定义的类在很大程度上与 Visual Basic 中的类相似。表 1 列出 Java 语言中原始数据类型和在 Visual Basic 中等价的类型。

  表 1. Java 语言原始类型及与其等价的 Visual Basic 类型

Java 原始类型范围Visual Basic 类型注释
booleantrue,falseBoolean布尔类型的有效值只有 truefalse。
char0 - 65535String (of length 1)Java 语言使用 Unicode 对字符进行编码。
byte8 位整数(有符号)Byte?
short16 位整数(有符号)Integer?
int32 位整数(有符号)Long?
long64 位整数(有符号)N/A?
float32 位浮点数Single?
double64 位浮点数Double?
N/A?VariantJava 语言没有 Variant 类型。
N/A?DateJava 语言没有原始日期类型。可以 用 Date 类代替。
N/A?CurrencyJava 语言没有原始货币类型。可以 用 BigDecimal 类代替。

  清单 2 展示了在两种语言中声明原始类型的一些示例。

  清单 2. 声明原始类型

1 Visual Basic                                   Java
2 Option Explicit                                  // Note that all Java
3 Dim LetterJ As String, I As Integer, x As Byte   // variables must be declared
4 Dim Point1 As Single, Point2 As Double           // before they can be used
5 Dim IsEmpty As Boolean                             char letterJ = 'j';
6 LetterJ = "j"                                      int i = 0;
7 I = 0                                              byte x = 12
8 X = 12                                             boolean isEmpty = false;
9 IsEmpty = False                                    float point1 = 1.1F;
10 Point1 = 1.1                                       double point2 = 0.0025;
11 Point2 = 0.0025
12
0
相关文章