Java从一无所知到入门

本文介绍了Java语言的基础,包括其与平台无关性、简洁性、可移植性、面向对象、解释型、安全性、多线程处理能力等关键特性。Java虚拟机(JVM)使得Java程序能在不同平台上运行。文章还讲述了Java程序的编写、编译和执行过程,以及环境变量配置。通过示例程序展示了如何编写和运行简单的Java应用。
摘要由CSDN通过智能技术生成

Java从一无所知到入门

第 1 部分Java 基础程序设计

·简单的 Java 程序

·Java 中的变量与数据类型

·运算符、表达式与语句

·循环与选择结构·数组与方法的使用

1.1Java 的特点

Java语言的优点

Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows9x、Windows NT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上被广泛采用。由于Java语言的设计者们十分熟悉C++语言,所以在设计时很好地借鉴了C++语言。可以说,Java语言是一种比C++语言“还面向对象”的一种编程语言。Java语言的语法结构与C++语言的语法结构十分相似,这使得C++程序员学习Java语言更加容易。当然,如果仅仅是对C++改头换面,那么就不会有今天的Java热了。Java语言提供的一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。

这些新特性包括:

1、提供了对内存的自动管理,程序员无需在程序中进行分配、释放内存,那些可怕的内存分配错误就不会再打扰设计者了;

2、去除了C++语言中的令人费解、容易出错的“指针”,用其它方法来进行弥补;

3、避免了赋值语句(如a = 3)与逻辑运算语句(如a = = 3)的混淆;

4、取消了多重继承这一复杂的概念。Java语言的规范是公开的,可以在http://www.sun.com上找到它,阅读Java语言的规范是提高技术水平的好方法。


1.2Java 语言的关键特性

Java语言有许多有效的特性,吸引着程序员们,最主要的有以下几个:

1.简洁有效 Java语言是一种相当简洁的“面向对象”程序设计语言。Java语言省略了C++语言中所有的难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类等。它更加严谨、简洁。

2.可移植性对于一个程序员而言,写出来的程序如果不需修改就能够同时在OS、Windows、MacUNIX等平台上运行,简直就是美梦成真的好事!而Java语言就让这个原本遥不可及的事已经越来越近了。使用Java语言编写的程序,只要做较少的修改,甚至有时根本不需修改就可以在不同平台上运行了。

3.面向对象可以这么说,“面向对象”是软件工程学的一次革命,大大提升了人类的软件开发能力,是一个伟大的进步,是软件发展的一个重大的里程碑。在过去的30年间,“面向对象”有了长足的发展,充分体现了其自身的价值,到现在已经形成了一个包含了“面向对象的系统分析”、“面向对象的系统设计”、“面向对象的程序设计”的完整体系。所以作为一种现代编程语言,是不能够偏离这一方向的,Java语言也不例外。

4.解释型 Java语言是一种解释型语言,相对于C/C++语言来说,用Java语言写出来的程序效率低,执行速度慢。但它正是通过在不同平台上运行Java解释器,对Java代码进行解释,来实现“一次编写,到处运行”的宏伟目标的。为了达到目标,牺牲效率还是值得的,况且,现在的计算机技术日新月异,运算速度也越来越快,用户是不会感到太慢的。

5.适合分布式计算 Java语言具有强大的、易于使用的联网能力,非常适合开发分布式计算的程序。Java应用程序可以像访问本地文件系统那样通过URL访问远程对象。 使用Java语言编写Socket通信程序十分简单,使用它比使用任何其它语言都简单。而且它还十分适用于公共网关接口(CGI)脚本的开发,另外还可以使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,简称JSP)、Servlet等等手段来构建更丰富的网页。

6.拥有较好的性能正如前面所述,由于Java是一种解释型语言,所以它的执行效率相对就会慢一些,但由于Java语言采用了两种手段,使得其性能还是不错的。

A、Java语言源程序编写完成后,先使用Java伪编译器进行伪编译,将其转换为中间码(也称为字节码),再解释;

B、提供了一种“准实时”(Just-in-Time,JIT)编译器,当需要更快的速度时,可以使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,这样速度就会更快。

7.健壮、防患于未然Java语言在伪编译时,做了许多早期潜在问题的检查,并且在运行时又做了一些相应的检查,可以说是一种最严格的“编译器”。它的这种“防患于未然”的手段将许多程序中的错误扼杀在摇篮之中。经常有许多在其它语言中必须通过运行才会暴露出来的错误,在编译阶段就被发现了。另外,在Java语言中还具备了许多保证程序稳定、健壮的特性,有效地减少了错误,这样使得Java应用程序更加健壮。

8.具有多线程处理能力的线程,是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使得程序能够具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让设计者惊喜的强大功能,而且在Java语言中进行多线程处理很简单。

9.具有较高的安全性由于Java语言在设计时,在安全性方面考虑很仔细,做了许多探究,使得Java语言成为目前最安全的一种程序设计语言。尽管Sun公司曾经许诺过:“通过Java可以轻松构建出防病毒、防黑客的系统”,但“世界上没有绝对的安全”这一真理是不会因为某人的许诺而失灵验的。
就在JDK (Java Development Kit)1.0发布不久后,美国Princeton(普林斯顿)大学的一组安全专家发现了Java1.0安全特性中的第一例错误。从此,Java安全方面的问题开始被关注。不过至今所发现的安全隐患都很微不足道,而且Java开发组还宣称,他们对系统安全方面的Bugs非常重视,会对这些被发现的Bugs立即进行修复。而且由于Sun公司开放了Java解释器的细节,所以有助于通过各界力量,共同发现、防范、制止这些安全隐患。

10.是一种动态语言Java是一种动态的语言,这表现在以下两个方面: A、在Java语言中,可以简单、直观地查询运行时的信息; B、可以将新代码加入到一个正在运行的程序中去。

11.是一种中性结构 “Java编译器生成的是一种中性的对象文件格式。也就是说,Java编译器通过伪编译后,将生成一个与任何计算机体系统无关的“中性”的字节码。这种中性结构其实并不是Java首创的,在Java出现之前UCSD Pascal系统就已在一种商业产品中做到了这一点,另外在UCSD Pascal之前也有这种方式的先例,在Niklaus Wirth实现的Pascal语言中就采用了这种降低一些性能,换取更好的可移植性和通用性的方法。Java的这种字节码经过了许多精心的设计,使得其能够很好地兼容于当今大多数流行的计算机系统,在任何机器上都易于解释,易于动态翻译成为机器代码。

1.3Java 虚拟机(JVM)

Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规范描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。如图1-1所示:

图 1-1 Java虚拟机

从图1-1中不难明白JAVA可以实现可移植性的原因,只要在操作系统上(WINNT、Linux、Unix)植入JVM(Java虚拟机),JAVA程序就具有可移植性,也符合SUN公司提出的口号“Write Once, Run Anywhere”(“一次编写,处处运行”)。

目前,Java技术的架构包括以下三个方面:

. zJ2EE (Java 2 Platform Enterprise Edition)企业版,是以企业为环境而开发应用程序的解决方案。 zJ2SE (Java 2 Platform Stand Edition)标准版,是桌面开发和低端商务应用的解决方案。 zJ2ME (Java 2 Platform Micro Edition)小型版,是致力于消费产品和嵌入式设备的最佳解决方案。

1.4 JDK 的安装及环境变量的配置

要开发Java程序首先必须要配置好环境变量,而Java的运行环境的配置比较麻烦,相信有些读者也会有这种体会,下面来看一下JDK的安装过程。在这里JDK选用的是J2SDK1.4.2版本。安装分为两个步骤: 1、首先要准备好JDK的安装文件:
j2sdk-1_4_0_03-windows-i586 2、配置环境变量path。先来看一下步骤一的安装过程:

图 1-2 启动JDK安装程序

图 1-3 安装路径设置为 c:\j2sdk

之后走默认的安装设置即可。

从图1-1可以看出,在编译Java程序时需要用到Javac这个命令,执行Java程序需要java这个命令,而这两个命令并不是windows自带的命令,所以使用它们的时候需要配置好环境变量,这样就可以在任何的目录下使用这两个命令了。 那么该如何设置环境变量呢? 在我的电脑上点击右键——>选择属性——>选择高级——>环境变量——>path

图 1-4 系统环境变量的配置

path后面加上c:\j2sdk\bin;c:\j2sdk是安装JDK的路径,如果记不清楚了,可回去看一下图1-3

注意:在这里使用的是 windows 2000操作系统,至于其他的操作系统,如windows98在设置环境变量的时与 windows2000 的配置有许多不同,如果读者感兴趣,可以去查阅其他的资料。

图 1-5 添加环境变量 这样就可以在任何目录下使用javac和java这两个命令了。

1.5 编写第一个 Java 程序

说了这么多,现在就自己来动手编写一个Java的程序来亲自感受一下Java语言的基本形式。需要说明的是,JAVA程序分为两种形式:一种是网页上使用的Applet程序(Java小程序),另一种是Appliction程序(即:Java应用程序),本书主要讲解的是oJava Application程序。

范例:Hello.java

01 public class Hello

02 {

03 //是程序的起点,所有程序由此开始运行

04 public static void main(String args[])

05 {

06 //此语句表示向屏幕上打印"Hello World !"字符串

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

08 }

09 }

将上面的程序保存为HelloCareers.java文件,并在命令行中输入javac Hello.java,没有错误后输入java Hello。输出结果:Hello World!程序说明:在所有的Java Application中,所有程序都是从public static void main(String args[]),开始运行的,刚接触的读者可能会觉得有些难记,在后面的章节中会详细给读者讲解main方法的各个组成部分。上面的程序如果暂时不明白也没有关系,读者只要将程序一点一点都敲下来,之后按照步骤编译、执行,就可以了,在这里只是让读者对Java Application程序有一个初步印象,因为以后所有的内容讲解的都将围绕Java Application程序进行。

输出结果: Hello World!

程序说明:在所有的Java Application中,所有程序都是从public static void main(String args[]),开始运行的,刚接触的读者可能会觉得有些难记,在后面的章节中会详细给读者讲解main方法的各个组成部分。

上面的程序如果暂时不明白也没有关系,读者只要将程序一点一点都敲下来,之后按照步骤编译、执行,就可以了,在这里只是让读者对Java Application程序有一个初步印象,因为以后所有的内容讲解的都将围绕Java Application程序进行。

1.6 classpath 的指定

java中可以使用set classpath命令指定java类的执行路径。下面通过一个实验来了解classpath的作用,假设这里的Hello.class类位于c:\盘下。

D盘下的命令行窗口执行下面的指令:

set classpath=c:

之后在D盘根目录下执行:java Hello,如下图所示:

图 1-6

由上面的输出结果可以发现,虽然在D盘中并没有Hello.class文件,但是却也可以用java Hello执行Hello.class文件,之所以会有这种结果,就是因为在D盘中使用setclasspath命令,将类的查找路径指向了C盘,所以在运行时,会从C盘下开始查找。

小提示:可能有些读者在按照上述的方法操作时,发现并不好用,这里要告诉读者的是,在设置classpath时,最好将classpath指向当前目录,即:所有的class文件都从当前文件夹中开始查找:set classpath=.

·本章摘要:

1、Java程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行。

2、Byte-codes最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能。

3、使用classpath可以指定class的运行路径。

说明:本文限于篇幅,故而只展示部分的Java内容,完整的Java学习文档小编已经帮你整理好了,需要的朋友点赞+关注我哟!如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论!

咱们下期见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值