java自学笔记1_第1页
java自学笔记1_第2页
java自学笔记1_第3页
java自学笔记1_第4页
java自学笔记1_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CZYJ 第1部分 Java基础程序设计 Java语言介绍JavaJava中的变量与数据类型 运算符、表达式与语句 循环与选择结构 数组与方法的使用 1第1章 认识Java 1.1 Java的历史 Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用电子消费产品开发一个分布式代码系统,这样就可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始他们准备采用C+,但C+太复杂,安全性差,最后基于C+开发一种新语言Oak(Java的前身)。Oak是一种用于网络的精巧而安全的语言,Sun公司曾以此投标一个交互式电视项目,但结果被SGI打败。于是Oa

2、k几乎无家可归,恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进军Internet。Java技术是由美国Sun公司倡导和推出的,它包括Java语言和Java Media APIS、Security APIs、Management APIs、Java Applet、Java RMI、JavaBean、JavaOS、Java Servlet、JavaServer Page 以及JDBC等。2现把Java技术的发展历程简述如下: 199

3、0年,Sun公司James Gosling领导的小组设计了一种平台独立的语言Oak,主要用于为各种家用电器编写程序。1995年1月,Oak被改名为Java;1995年5月23日,Sun公司在Sun World 95上正式发布Java和HotJava浏览器。1995年8月至12月,Netscape公司、Oracle公司、Borland公司、SGI公司、Adobe公司、IBM公司、AT&T公司、Intel公司获得Java许可证。1996年1月,Sun公司宣布成立新的业务部门JavaSoft部,以开发、销售并支持基于Java技术的产品,由Alan Baratz任总裁。同时推出Java开发工具包JDK

4、(Java Development Kit)1.0,为开发人员提供用来编制Java应用软件所需的工具。 1996年2月,Sun公司发布Java芯片系列,包括PicoJava、MicroJava和UltraJava,并推出Java数据库连接JDBC(Java Database Connectivity)。1996年3月,Sun公司推出Java WorkShop。 31996年4月,Microsoft公司、SCO公司、苹果电脑公司(Apple)、NEC公司等获得Java许可证。Sun公司宣布允许苹果电脑、HP、日立、IBM、Microsoft、Novell、SGI、SCO、Tamdem等公司将Ja

5、va平台嵌入到其操作系统中。1996年5月,HP公司、Sybase公司获得Java许可证。北方电讯公司宣布把Java技术和Java微处理器应用到其下一代电话机中的计划。5月29日,Sun公司在旧金山举行第一届JavaOne世界Java开发者大会,业界人士踊跃参加。Sun公司在大会上推出一系列Java平台新技术。1996年8月,JavaWorkShop成为Sun公司通过互联网提供的第一个产品。1996年9月,Addison-Wesley和Sun公司推出Java虚拟机规范和Java类库。1996年10月,德州仪器等公司获得Java许可证。Sun公司提前完成JavaBean规范并发布,同时发布第一个

6、Java JIT(Just-In-Time)编译器,并打算在Java WorkShop和Solaris操作系统中加入JIT。10月29日,Sun公司发布Java企业计算技术,包括JavaStation网络计算机、65家公司发布的85个Java产品及应用、7个新的Java培训课程及Java咨询服务、基于Java的Solstice互联网邮件软件、新的Java开发者支持服务、HotJava Views演示、Java Tutor、Java Card API等。Sun公司宣布完成Java Card API规范,这是智能卡使用的第一个开放API。Java Card规范将把Java能力赋予全世界亿万张智能卡

7、。1996年11月,IBM公司获得JavaOS和HotJava许可证。Novell公司获得Java WorkShop许可证。Sun公司和IBM公司宣布双方就提供Java化的商业解决方案达成一项广泛协议,IBM公司同意建立第一个Java检验中心。 1996年12月,Xerox等公司获得Java或JavaOS许可证。Sun公司发布JDK1.1、Java商贸工具包、JavaBean开发包及一系列Java APIs;推出一个新的JavaServer产品系列,其中包括Java Web Server、Java NC Server和JavaServer Toolkit。Sun公司发布100%纯Java计划,

8、得到百家公司的支持。41997年1月,SAS等公司获得Java许可证。Sun公司交付完善的JavaBean开发包,这是在确定其规范后不到8个月内完成的。1997年2月,Sun公司和ARM公司宣布同意使JavaOS运行在ARM公司的RISC处理器架构上。Informix公司宣布在其Universal Server和其他数据库产品上支持JDK1.1。Netscape公司宣布其Netscape Communicator支持所有Java 化的应用软件和核心API。1997年3月,HP公司获得Java WorkShop许可证,用于其HP-UX操作系统。西门子、AG公司等获得Java许可证。日立半导体公司

9、、Informix公司等获得JavaOS许可证。Novell公司获得Java Studio许可证。Sun公司发售的JavaOS 1.0操作系统,这是一种在微处理器上运行Java环境的最小、最快的方法,可提供给JavaOS许可证持有者使用。Sun公司发售HotJava Browser 1.0,这是一种Java浏览器,可以方便地按需编制专用的信息应用软件,如客户自助台和打上公司牌号的网络应用软件。1996年6月,Sun公司发布JSP1.0,同时推出JDK1.3和Java Web Server 2.0。1999年11月,Sun公司发布JSP1.1,同时推出JSWDK1.0.1和Java Servle

10、t 2.2。2000年9月,Sun公司发布JSP1.2和Java Servlet 2.3 API。51.2 Java的现状 Java是Sun公司推出的新一代面向对象程序设计语言,特别适于Internet应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位,这表现在以下几个方面: 计算机产业的许多大公司购买了Java许可证,包括IBM、Apple、DEC、Adobe、SiliconGraphics、HP、Oracle、TOSHIBA以及Microsoft。这一点说明,Java已得到了业界的认可。众多的软件开发商开始支持Java软件产品。例如Inprise公司的JBuilder、Sun公司

11、自己做的Java开发环境JDK与JRE。Sysbase公司和Oracle公司均已支持HTML和Java。 Intranet正在成为企业信息系统最佳的解决方案,而其中Java将发挥不可替代的作用。Intranet的目的是将Internet用于企业内部的信息类型,它的优点是便宜、易于使用和管理。用户不管使用何种类型的机器和操作系统,界面是统一的Internet浏览器,而数据库、Web页面、Applet、Servlet、JSP则存储在Web服务器上,无论是开发人员还是管理人员,或是用户都可以受益于该解决方案。 61.3 Java的特点 1.3.1 Java语言的优点 Java语言是一种优秀的编程语言

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

13、。7这些新特性包括: 1、提供了对内存的自动管理,程序员无需在程序中进行分配、释放内存,那些可怕的内存分配错误不会再打扰设计者了; 2、去除了C+语言中的令人费解、容易出错的“指针”,用其它方法来进行弥补; 3、避免了赋值语句(如a = 3)与逻辑运算语句(如a = = 3)的混淆; 4、取消了多重继承这一复杂的概念。 Java语言的规范是公开的,可以在上找到它,阅读Java语言的规范是提高技术水平的好方法。81.3.2 Java语言的关键特性 Java语言有许多有效的特性,吸引着程序员们。最主要的有以下这些: 91.简洁有效Java语言是一种相当简洁的“面向对象”程序设计语言。Java语言省

14、略了C+语言中所有的难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类等。它更加严谨、简洁。102.可移植性对于一个程序员而言,写出来的程序如果不需修改就能够同时在Windows、MacOS、UNIX等平台上运行,简直就是美梦成真的好事!而Java语言就让这个原本遥不可及的事已经越来越近了。使用Java语言编写的程序,只要做较少的修改,甚至有时根本不需修改就可以在不同平台上运行了。113.面向对象可以这么说,“面向对象”是软件工程学的一次革命,大大提升了人类的软件开发能力,是一个伟大的进步,是软件发展的一个重大的里程碑。在过去的30年间,“面向对象”有了长足的发展,

15、充分体现了其自身的价值,到现在已经形成了一个包含了“面向对象的系统分析”、“面向对象的系统设计”、“面向对象的程序设计”的完整体系。所以作为一种现代编程语言,是不能够偏离这一方向的,Java语言也不例外。124.解释型 Java语言是一种解释型语言,相对于C/C+语言来说,用Java语言写出来的程序效率低,执行速度慢。但它正是通过在不同平台上运行Java解释器,对Java代码进行解释,来实现“一次编写,到处运行”的宏伟目标的。为了达到目标,牺牲效率还是值得的,况且,现在的计算机技术日新月异,运算速度也越来越快,用户是不会感到太慢的。135.适合分布式计算Java语言具有强大的、易于使用的联网能

16、力,非常适合开发分布式计算的程序。Java应用程序可以像访问本地文件系统那样通过URL访问远程对象。使用Java语言编写Socket通信程序十分简单,使用它比使用任何其它语言都简单。而且它还十分适用于公共网关接口(CGI)脚本的开发,另外还可以使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,简称JSP)、Servlet等等手段来构建更丰富的网页。146.拥有较好的性能正如前面所述,由于Java是一种解释型语言,所以它的执行效率相对就会慢一些,但由于Java语言采用了两种手段,使得其性能还是不错的。A、Java语言源程序编写完成后,先使用Java伪编

17、译器进行伪编译,将其转换为中间码(也称为字节码),再解释; B、提供了一种“准实时”(Just-in-Time,JIT)编译器,当需要更快的速度时,可以使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,这样速度就会更快。157.健壮、防患于未然 Java语言在伪编译时,做了许多早期潜在问题的检查,并且在运行时又做了一些相应的检查,可以说是一种最严格的“编译器”。 它的这种“防患于未然”的手段将许多程序中的错误扼杀在摇蓝之中。经常有许多在其它语言中必须通过运行才会暴露出来的错误,在编译阶段就被发现了。另外,在Java语言中还具备了许多保证程序稳定、健壮的特性,有效地减少了错误,这样使得Ja

18、va应用程序更加健壮。168.具有多线程处理能力 线程,是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使得程序能够具有更好的交互性、实时性。 Java在多线程处理方面性能超群,具有让设计者惊喜的强大功能,而且在Java语言中进行多线程处理很简单。179.具有较高的安全性由于Java语言在设计时,在安全性方面考虑很仔细,做了许多探究,使得Java语言成为目前最安全的一种程序设计语言。尽管Sun公司曾经许诺过:“通过Java可以轻松构建出防病毒、防黑客的系统”,但“世界上没有绝对的安全”这一真理是不会因为某人的许诺而失灵验的。就在JDK (Java Development K

19、it)1.0发布不久后,美国Princeton(普林斯顿)大学的一组安全专家发现了Java 1.0安全特性中的第一例错误。从此,Java安全方面的问题开始被关注。不过至今所发现的安全隐患都很微不足道,而且Java开发组还宣称,他们对系统安全方面的Bugs非常重视,会对这些被发现的Bugs立即进行修复。 而且由于Sun公司开放了Java解释器的细节,所以有助于通过各界力量,共同发现、防范、制止这些安全隐患。1810.是一种动态语言 Java是一种动态的语言,这表现在以下两个方面: A、在Java语言中,可以简单、直观地查询运行时的信息; B、可以将新代码加入到一个正在运行的程序中去。 1911.

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

21、a虚拟机(JVM) Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规范描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。如图1-1所示: 21图1-1 Java虚拟机22从图1-1中不难明白JAVA可以实现可移植性的原因,只要在操作系统上(WINNT、Linux、Unix)植入JVM(Java虚拟机),JAVA程序就具有可移植性,也符合SUN公司提出的口号“Write Once, Run Anywhere”(“一次编写,处处运行”)。23目前,Java技术的架构包括以下三个方面: J2EE (Java 2 Platform Ent

22、erprise Edition) 企业版,是以企业为环境而开发应用程序的解决方案。 J2SE (Java 2 Platform Stand Edition) 标准版,是桌面开发和低端商务应用的解决方案。J2ME (Java 2 Platform Micro Edition) 小型版,是致力于消费产品和嵌入式设备的最佳解决方案。 241.5 JDK的安装及环境变量的配置 要开发Java程序首先必须要配置好环境变量,而Java的运行环境的配置比较麻烦,相信有些读者也会有这种体会,下面来看一下JDK的安装过程。在这里JDK选用的是J2SDK1.4.2版本。安装分为两个步骤: 1、首先要准备好JDK的

23、安装文件:j2sdk-1_4_0_03-windows-i586 ; 2、配置环境变量path。先来看一下步骤一的安装过程: 25图1-2 启动JDK安装程序 26图1-3 将安装路径设置为c:j2sdk 27之后走默认的安装设置即可。 从图1-1可以看出,在编译Java程序时需要用到Javac这个命令,执行Java程序需要java这个命令,而这两个命令并不是windows自带的命令,所以使用它们的时候需要配置好环境变量,这样就可以在任何的目录下使用这两个命令了。那么该如何设置环境变量呢? 在我的电脑上点击右键选择属性选择高级环境变量path。 28图1-4 系统环境变量的配置29在path后

24、面加上c:j2sdkbin; c:j2sdk是安装JDK的路径,如果记不清楚了,可回去看一下图1-3。注意: 在这里使用的是windows 2000操作系统,至于其他的操作系统,如windows98在设置环境变量的时与windows2000的配置有许多不同,如果读者感兴趣,可以去查阅其他的资料。 30图1-5 添加环境变量这样就可以在任何目录下使用javac和java这两个命令了。311.6 编写第一个Java程序说了这么多,现在就自己来动手编写一个Java的程序来亲自感受一下Java语言的基本形式。需要说明的是,JAVA程序分为两种形式:一种是网页上使用的Applet程序(Java小程序),

25、另一种是Appliction程序(即:Java应用程序),本书主要讲解的是Java Application程序。 32范例: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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论