




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 Java入门,1.1 Java简介,Java的崛起 面向对象的程序设计语言 Java平台和虚拟机 两类Java程序 Java程序开发环境SDK,Java的崛起,1991年4月8日,从工作站起家的Sun公司为了把市场扩大到消费电子产品,成立了一个专门的工作小组,着手代号为“Green”的项目,目的是开发一个分布式代码系统,让人们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,同它们进行信息交流 应用的C+进行开发。但是C+太复杂,安全性也差,最后不得不定义一套新的语言系统,于是便有了Oak的问世,Oak一方面汲取了C+中的有益成分,同时融进了网络应用特性,可以称上是一种的
2、精巧而安全的语言了 Mark Ardreesen的Mosaic和Netscape的巨大成功给Oak项目组成员带来了新的希望,他们重整旗鼓,对Oak进行了一次新的整合,并取名为Java,后用Java编制了HotJava浏览器,吹响了进军Internet的号角 Java所特有的“write once, run anywhere.”(一次编写,到处运行)的平台无关性的概念,与Internet的异构网络互连一拍即合,它特别适合于在网络开发中使用,面向对象的程序设计语言,Java语言是一种面向对象的程序设计语言,它通过描述对象本身以及对象间的相互关系,并通过激发对象间的相互作用,来求解问题 对现实世界中
3、事物的对象,要由两个部分来描述,一是其静态属性对象的状态,用“数据”来描述;一是其动态属性对象的行为,用“方法”来描述 在面向对象的程序设计语言中,并不是去定义一个一个的对象,而是先定义同一类对象的模板类(class),再从类创建其对象,电子时钟的Java描述,电子时钟的静态属性电子时钟的状态,用变量hour(时)、minute(分)、second(秒)描述 电子时钟的动态属性电子时钟的行为,如显示时间,设置时间等,用以下方法描述: getMinute ( )显示“分”; getHour ( )显示“时”; setSecond ( )设置“秒”; setMinute ( )设置“分”; set
4、Hour ( )设置“时”。,相关说明,从结构上看,类由类的首部和类体构成 类体由紧随类的首部的一对花括号及花括号中的一些语句组成 类体中含有类的数据部分和类的方法部分,分别称为类的成员变量和成员方法,它们都是类的成员 方法由方法首部和方法体组成 有些方法执行后要向调用者(不是标准输出)送回一个数据,这样的数据称为方法的返回值,注释是对程序、程序的局部或一个语句的说明,用于增加程序的可读性 这个TimeClock是一个时钟类的界面,当此界面中所有方法的方法体都定义后,就构成了一个时钟类,由这个时钟类可以创建多个时钟对象 Java是区分大小写字母的语言 程序员可以自己定义类,也可以使用事先已经定
5、义好的类 本例只是电子时钟类的设计的一个例子,它不是唯一的,计算圆的周长和面积,class Circle float r; / 半径 final double PI = 3.14159; / 最终变量 Circle(float d) / 构造方法 r = d; double circum ( ) / 求圆周长的方法 return 2 * PI * r; double area( ) / 求圆面积的方法 return PI * r * r; ,Circle类中含有两个数据成员,半径r和一个常数PI() , r使用了float型,PI使用了double型,final,PI由于加了“final”,表
6、示在程序执行过程中其值不能再变化,PI称为最终变量。最终变量在程序中一般用大写,Circle类中定义了方法的结构,方法首部,方法体,方法首部描述,方法名 方法的返回值类型 参数及其类型 其他修饰符,Java基本的运算符,+(加), -(减或负), *(乘), /(除) (大于), =(大于等于), = =(等于), (小于), =(小于等于), ! =(不等于) = 称为赋值号,意即将其右面的值送到左面的变量中,相当于往一个内存单元中存放入一个数据值。,类的构造方法,类的构造方法与类同名,描述由类生成对象的操作,在创建对象时由系统调用。下面的主类定义中给出了构造方法的作用,主类,Java应用程
7、序由很多类组成,其中有且只有一个主类。 含有主方法main( )的类称为Java应用程序的主类。 Java规定,主类名必须与主类所在的文件名相同。 程序运行后,Java首先执行主类主方法中的第一个语句,主类UseCircle的定义,class UseCircle public static void main(String args ) Circle aCirc = new Circle(5.3f); / 生成一个圆对象 double s = aCirc.circum( ); / 计算该圆对象的周长 double d = aCirc.area( ); / 计算该圆对象的面积 System.ou
8、t.println(半径为: + aCirc.r + 的圆的周长为: + s); / 输出周长 System.out.println(半径为: + aCirc.r + 的圆的面积为: + d); / 输出面积 ,说明,UseCircle类中,首先用new命令来调用Circle类的构造方法来创建一个Circle类的对象aCirct 用语法形式:对象名.成员名;调用Circle类中的成员 调用系统方法System.out.println( )输出结果,Java平台,Java平台是一种纯软件平台,它需要其它基于硬件的平台(如Window2000,Linux等)的支持。 Java平台由Java虚拟机(
9、JavaVM)和Java应用程序接口(JavaAPI)两部分组成。 Java虚拟机易于被移植到基于不同硬件的平台上,是Java平台的基础; Java应用程序接口由大量已做好的Java组件(组件是一种类)构成,这个接口提供了丰富的Java资源。,Java虚拟机,由于不同的机器有不同的机器语言,并且由于操作系统环境的排他性,使得在一种平台上开发的程序运行到另一个平台上时,多少还要进行一些修改,这样就比较麻烦 Java破解各机器不同的机器语言的策略是定义出自己的一套虚拟机器Java虚拟机,Java虚拟机的工作原理,Java,一台Java虚拟机就是一台Java解释器。经过Java解释器的解释,才得到具
10、体的机器可以执行的代码 通常把Java程序的翻译过程称为半编译、半解释。而其他语言程序要么是全编译,要么是全解释 Java既是一种语言,也是一种平台。作为一种语言,Java通过所谓“半编译、半解释”使得Java程序具有“一次编写,到处运行”的特点,两类Java程序,按照运行环境的不同,可将普遍使用的Java程序分为两种: Java应用程序(Java Application)。其是在本机上由Java解释程序来激活Java虚拟机 Java Applet(Java小应用程序) 。其是通过浏览器来激活Java虚拟机 它们都是在Java虚拟机中执行,Java Application,在Java语言中,每
11、个应用程序都是以类的形式出现的。一个程序中既可以只包含一个类,也可以包含多个类,此时称为是一个多类程序。 Java提供了一个特殊的方法main ( )方法,每个应用程序的执行都是从主方法main ( )开始的,没有main ( )方法的应用程序是不能执行的。 包含了main ( )方法的类叫做主类,程序的主文件名必须与主类相同,一个问候程序,该程序的功能是在屏幕上显示一个问候: Hello, World!,问候程序Java代码,class HelloWorld public static void main (String Args ) System.out.println (“Hello,
12、World!”); ,main()方法,main()方法是Java Application程序的入口,有着固定的书写格式: public static void main (String args ) 其中: public表明所有的类都可以使用这一方法; static指明该方法是一个静态方法,可以通过类名来直接调用; void则表示main()方法不返回任何值; main(String args )是该方法的头部,圆括号内是该方法可接受的参数。,Java解释器总是从main()方法开始解释和执行应用程序,因此一个可执行的Application必须而且只能有一个main ()方法 本例中只有一条
13、语句:System.out.println (Hello, World! );其中,System是一个系统类,System.out 指代了标准输出流,通过它的println()方法可以往标准输出设备上输出数据,Java Applet,import,关键词import用于将系统类引入本程序 本例中引入了两个系统类Applet和Graphics。这两个系统类分别位于不同的系统包java.applet和java.awt中 引用一个系统类时需要指明它们所在的包名,类的声明,Applet与Application在结构上是有较大不同的,最主要体现在Applet中没有main()方法 一般来说,Applet
14、中的类必须是公共的(用public来修饰)或有一个public型的构造方法,而且必须有一个类是系统类Applet的子类 所谓一个类是另一个类的子类,就是说一个类继承了另一个类,两个类之间存在继承关系。,类的派生,Java Applet程序,Java Applet不像Java Application那样是一个独立的程序,它虽然也要先经过半编译生成字节码文件,但是这个字节码文件不能够直接被执行和使用。按照约定,它必须由支持Java的WWW浏览器(如IE、Netscape、Hotjava等)或appletviewer加载执行,Applet运行的完整过程,Java程序开发环境SDK,工欲善其事,必先利
15、其器。为了支持用户的Java程序开发 但是,SUN公司开发的Java 2 SDK(Java 2 Software Development Kit)比较适合初学者使用,SDK集成有如下一些功能,Java编译器; Java解释器: 内附AppletviewerApplet Bytecode解释器; 内附JavaApplication解释器。 简单的除错工具。,1.2 Java程序开发过程,1 Java应用程序开发过程举例 2 Java Applet开发过程举例,1.2 Java程序开发过程,Java应用程序开发过程举例,编辑创建Java源程序.源程序用Java编程语言直接编写的程序,通常是由一个或
16、多个类组成的正文文件,后缀为.java 半编译用Java编译器(Javac)将Java源程序翻译成Java虚拟机 (the Java Virtual Machine,简称Java VM)能理解的指令、再将这些指令组织为字节码文件将源程序编译为字节码文件(后缀为.class)的过程 半解释(运行)Java虚拟机(Java)解释、运行包含在字节码文件中的程序,创建源文件,保存过程,输入完毕,检查无错后,应将这些代码保存到一个文件中。Java规定,Java应用程序源代码后缀名必须为 .java,半编译,在JDK中,Java的编译器是javac.exe。使用javac命令,就可以将Java源文件编译成
17、字节码 javac命令的一般格式为: javac .java,path路径设置,path环境变量应指定操作系统到什么地方去查找Java工具,并可以将当前所用机器的Java工具所在的路径(一般在JDK文件夹下的BIN子文件夹中)赋给path环境变量。例如: path= %path%;c:JDK1.2.2BIN,半解释运行,编译生成的字节码文件可以在本机中由java解释器java.exe运行。java命令的一般格式为: java 文件名,classpath环境变量,classpath环境变量指定Java工具到什么地方去查找类文件(.class文件)。系统提供的类文件相关信息一般在JDK文件夹下的L
18、IB子文件夹中,然后还需将用户自己的类文件所在文件夹赋给classpath环境变量。例如: set classpath=c:jdk1.2.2lib.;d:javaprogram,HelloWorld程序的编译、运行过程,向应用程序传递参数,Java应用程序通常是在命令行下运行的,允许用户在这个命令行中向它传递信息,运行时向程序传送数据,增加了该程序的通用性,假设用下面的命令来运行程序: java WhoSayWhat Marry Good Day! 那么程序的运行结果为: Marry say: Good Day!,Java Applet开发过程举例,Java Applet的创建过程也是分为三步:编辑、编译和运行,其前两个步骤与Application大致相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教育行业数字化营销与招生渠道融合创新报告
- 2025蓝色暑期造梦计划7月8月海洋手工表演游戏嘉年华活动方案
- 2020-2021学年海南省三亚市崖州区八年级上学期期中语文试题及答案
- DB45-T 2228.2-2020 公路养护预算编制办法及定额 第2部分:公路日常养护年度预算编制办法及指标
- 商标注册申请快速审查办法
- 请教几道题目及答案
- 如图的题目及答案
- 输血相关试题及答案
- 数学单数题目及答案
- 堂吉诃德题目及答案
- 2025房屋买卖合同模板下载
- 妇产科医德医风奖惩措施规范化研究
- 消防维保入场承接查验表
- 年度在职培训管理办法
- 儿童意外伤害防治课件
- 装修带家具家电合同范本
- 2025北京海淀高二下学期期末化学试卷含答案
- 备战2026年高考数学模拟卷(新高考II卷专用)(解析版)
- 中国十二碳二元酸行业调查报告
- 知识产权评估管理办法
- 2025区域型变电站智能巡视系统技术规范
评论
0/150
提交评论