计算机与IT入门第三讲JAVA基础.ppt

上传人:牧羊曲112 文档编号:6606122 上传时间:2023-11-17 格式:PPT 页数:174 大小:1.44MB
返回 下载 相关 举报
计算机与IT入门第三讲JAVA基础.ppt_第1页
第1页 / 共174页
计算机与IT入门第三讲JAVA基础.ppt_第2页
第2页 / 共174页
计算机与IT入门第三讲JAVA基础.ppt_第3页
第3页 / 共174页
计算机与IT入门第三讲JAVA基础.ppt_第4页
第4页 / 共174页
计算机与IT入门第三讲JAVA基础.ppt_第5页
第5页 / 共174页
点击查看更多>>
资源描述

《计算机与IT入门第三讲JAVA基础.ppt》由会员分享,可在线阅读,更多相关《计算机与IT入门第三讲JAVA基础.ppt(174页珍藏版)》请在三一办公上搜索。

1、SSD1:Introduction to Information Systems,计算机与IT入门第三讲:JAVA基础,任课教师:林闯 讲师 Email:linchuang_ 大连理工大学软件学院网络工程系,提 纲,程序设计语言概述JAVA简介Programming with Java,软件的基本组成部分是完成其功能的程序。程序是指按照时间顺序依次安排的工作步骤。而程序设计则是对这些步骤的编排和优化。程序设计有着比计算机更长的历史,只不过计算机的出现使得程序设计有了更专用的领域计算机程序设计,并得到空前的发展。计算机程序设计又称为编程(programming),是一门设计和编写计算机程序的科学

2、和艺术。,程序设计语言,程序设计语言(也被称为“编程语言”,Programming Language)是人们编制程序所使用的语言。程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述不同的程序设计语言。,程序设计语言,程序与计算机,现代计算机都是基于冯诺伊曼模型结构的,此模型着眼于计算机的内部结构,定义了处理机的运行过程。该模型把计算机分为四个子系统:存储器算术/逻辑单元控制单元 输入/输出单元 冯诺伊曼模型中,程序是由一组数量有限的指令组成,程序存储在内存中,程序依据算法完成运算任务。,程序设计语言,程序设计语言的种类:机器语言:

3、机器指令,直接执行 汇编语言:符号化,汇编器(Assembler)高级程序设计语言(编译型)高级程序设计语言(解释型),程序中基本的动作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行。,程序设计语言高级程序设计语言,要在计算机上执行高级语言书写的程序,有两种基本方法:编译(Compilation)执行:这种方法是设法预先把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(Executable)程序”。如:C+。“解释”(Interpretation)执行:这种方法是即时的把源程序转换为机器可执行的指令。

4、有时为了提高效率,也可以先编译成一种中间代码。如:Java,程序设计语言高级程序设计语言,对于“编译执行”方式,人们实现了高级语言“编译器”(Compiler)完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:首先,源程序被翻译成机器语言,这种翻译结果称为“目标码”(object code),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”(executable program),这样的程序就可以在计算机上实际运行了。第一个加工步骤称为“编译

5、”(compiling),第二个步骤称为“连接”(linking)。,程序设计语言高级程序设计语言,编 译 过 程,程序设计语言高级程序设计语言,对于“解释执行”方式,人们实现了一种称为“解释器”(Interpreter)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。,解 释 过 程,程序设计语言高级程序设计语言,高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。人们已经开发出了许多不同的高级程序设计语

6、言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。,程序设计语言高级程序设计语言,FORTRAN(FORmular TRANslation)语言,HPF:IBM,1950 Pascal语言:N.Wirth,1968,(Delphi,Borland)COBOL(COmmon Business Oriented Language)语言:美国国防部,1960 C和C+语言:Dennis Retchie,1972;Bjarne Stroustrup,1983,Bell Basic(Beginners All-purpose Symbolic Instruction Code)语言:

7、美国国防部,1964 Ada语言:军用程序设计语言,美国国防部,1983 Java语言:1991年,SUN MicroSystem公司,程序设计语言高级程序设计语言,JAVA简介-Java历史及发展,Java是一种解释型的、面向对象的编程语言。历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。Oak Java:互联网给Java带来新的生机 1995年Sun向公众推出Java并引起业界的轰动 发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(19

8、95年以来)应用:Java是当今最流行的软件开发语言之一,Sun推出了 Java2&J2EE使Java具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等。,Java的发展,历史记录-Who,James Gosling:Green Team original,FirstPerson employee,original member Java Products Group,lead engineer and keyarchitect of Java technology,Bill Joy:Cofounder and vice president,Sun Microsyst

9、ems,Inc.,principal designer of the University of California,Berkeley,version of the UNIX operating system,Eric Schmidt:Former Sun Microsystems chief technical officer,Former Novell chairman and CEO,Chairman of the Board and CEO,Google Inc.,Java的发展,什么是Java?,Java编程语言的特点简单(Simple)面向对象(Object oriented)解

10、释性(Interpreted)平台独立和可移植(Architecture neutral&Portable)鲁棒和安全(Robust&Secure)多线程(Multithreaded)分布式(Distributed)动态(Dynamic),Java可以做什么?基本:Objects,strings,threads,numbers,input and output,data structures,system properties,date and time等。Applets应用,嵌入HTML文档。网络应用:实现基于URL/TCP/UDP的网络应用。安全应用:电子签名、公钥和私钥管理、访问控制和用

11、户证书等。国际化应用:实现程序的本地化,并以适当的语言显示软件构件:JavaBeans。对象串行化:实现远程方法执行(Remote Method Invocation,RMI)。Java数据库连接(Java Database Connectivity,JDBC):提供统一的方式访问关系型数据库。,什么是Java?,为什么选择Java?简单易学(Get started quickly)写较少的代码(Write less code)写更好的代码(Write better code):garbage collection(防止内存泄漏),面向对象、JavaBeans构件机制、其他API复用代码,减少

12、bugs开发程序更快(Develop programs more quickly)避免平台依赖性(Avoid platform dependencies with 100%Pure Java)编写一次,随处运行(Write once,run anywhere)machine-independent bytecodes发布软件更容易(Distribute software more easily):指对软件的更新,利用动态加载功能,一处改动,自动更新,不用重新编译整个程序,什么是Java?,JAVA程序,使用Java可以开发从命令行应用程序到图形用户界面应用程序、从桌面应用程序到Web应用程序、

13、从小型嵌入式系统到大型分布式企业级应用等多种多样的程序。通常所指的Java程序可以分为:命令行应用程序(Command-line Application)图形界面应用程序(GUI Application)小程序(applet)服务端小程序(servlet)服务器页面(JavaServer Pages,检查JSP)Web应用程序嵌入式应用程序企业级应用程序,JAVA的运行环境,Java程序运行在JAVA平台上,Java平台可以运行于Windows、Linux、Solaris等操作系统上。Java平台由Java虚拟机(JVM)和Java编程接口(API)组成。Java虚拟机屏蔽了不同操作系统的差异

14、Java API 为程序员提供了统一的编程接口Java API和JVM将Java程序从对硬件的依赖中分离出来,从而实现了Java程序对操作系统和硬件平台的无关性。,JAVA的运行环境,Java程序,Java API,Java虚拟机,硬件平台,Java平台,操作系统,JAVA平台,Java虚拟机,Java虚拟机实际上也是运行在操作系统上的一种程序,它可以解读Java字节码,并执行Java字节码。,JAVA平台,Java API是软件组件的集合,提供很多有用的功能。根据应用领域的不同,API分为三大类Java Core API:由Sun公司指定的基本的API,任何Java平台都必须提供。Java

15、Standard Extension API(javax):由Sun公司指定的扩充API,Java平台可以选择性地提供或加装厂商或组织提供的API:由各家公司或组织提供。,JDK开发工具包,提供Java开发工具包Java Development Kit(JDK)的目的是为程序开发者提供编写、测试、执行程序的一套完备的工具体系。总体来说,JDK由七部分组成Javac:编译器Java:解释器Appletviewer:Applet显示器Jdb:调试器(Debugger)Javap:分解器Javadoc:文档生成器Javah:C语言头文件生成器,搭建基本的JAVA开发环境,构建基本的Java开发环境是

16、开发Java程序的前提和基础。JDK是Java开发工具的简称(Java Development Kit),已经推出了1.3,1.4版本,1.5版本,1.6版本。JavaSDK是开发Java程序的基础目前,Java有3个版本Java ME(Java Platform Micro Edition):适用于小型设备和智能卡Java SE(Java Platform Standard Edition):适用于桌面系统的Java平台标准版Java EE(Java Platform Enterprise Edition):适用于创建服务器应用程序,开发企业应用程序的Java平台企业版,JAVA程序的运行机

17、制,Java既可以被编译,又可以被解释。Java的源代码(后缀名为.java)文件,通过编译器,被翻译成一种中间代码,称为字节码(bytecode)(后缀名为.class)。Java的字节码被Java解释器解释执行。可以把Java字节码看作是运行在Java虚拟机(JVM)上的机器代码指令。,Java源程序(.java),Java编译器,Java字节码(.class),Java环境(Java平台),运行结果,编写Java程序,编码,调试,编译,运行,部署,遵循java语法规范编写后缀名为.java的文件。,检查程序的语法和语义错误。,借助Java编译工具生成可以在Java虚拟机上运行的字节码文件

18、(.class)。,运行程序,把字节码文件和相关的资源文件打包,部署到相应的位置,Java程序示例,public class Program public static void main(String arg)System.out.println(“Welcome to Java!”);,JAVA的IDE(集成开发环境)主要有:Netbeans(支持底层编程,有的版本需要附加JDK),Eclipse(开源),Myeclipse(需要key,对网络等应用有较好的支持),2.1 Programming with Java,Programming with ObjectsJava Program

19、DevelopmentFirst Look at JavaElement of a Java ServletPlanning Servlet DevelopmentGuidelines for Java Development,2.1.1 Programming with Objects,Programming with JavaFundamentals of Object-Oriented ProgrammingFundamentals of Java,参考教材内容,Introduction to Programming Using Java:An Object-Oriented Appro

20、ach 2nd Edition,Programs,Programs are texts that can make a computer do a task.Programs are written in a specialized language,called a programming language.The content of a program is called code.When a computer carries out or runs a program we say that it executes the code.Java is one of the hundre

21、ds of programming languages.Its a object-oriented language.,Programs Example,public class Programpublic static void main(String arg)System.out.println(“Welcome to Java!”);,Programs and Models(程序与模型),A model is a simplified representation.It includes features that are considered important to its user

22、 while neglecting others.将实际的问题进行抽象,得到一个模型,模型包含了事物基本的重要特性。Every model shares following characteristicsElements of the model represent other,more complex things.These model elements exhibit consistent behavior.The model elements can be grouped into different categories based on their common behaviors

23、.Action external to a model element cause the behavior of the model element.,Example 1,假设有一个软件公司。该公司有一个总裁(president)和多个副总(vice president)。每个副总管理一些项目经理(project manager)。每个项目经理手下有很多程序员(Programmer)。How to model it?,面向对象中的基本概念,对象(Object)Java程序中模拟的元素称为对象如为示例建立Java对象:一个President object、多个VicePresident obj

24、ect、多个Programmer object。行为(Behavior)多个对象可能具有相同的行为。如不同的程序员在不同的项目里面做不同的事情,但是他们具有一些相同的行为(common behavior):编写代码、向合作的同事索要项目需要的数据、生成项目报告等。,面向对象中的基本概念,消息(Message)Each message sent must specify which object is to receive it,what task that object should perform in response,and further details that must be su

25、pplied to describe the task adequately.消息在不同的对象之间建立连接,使得多个对象彼此之间可以互动,即对象通过彼此间互通消息来形成互动。如副总向项目经理分配任务,项目经理将任务安排给手下的多个程序员。程序员需要定期的将项目进度报告提交给项目经理。,面向对象中的基本概念,Java程序(Java Program)A collection of objects that correspond to the important problem elements of the problem being solved or the computation being

26、 performed.程序是为了完成一个任务(解决问题)的多个对象的一个集合。对象之间使用消息(message)进行联系(进行消息的传递)。,面向对象中的基本概念,类(Class)A category of model elements is called a class in Java.(Java中某一类别模型元素称为类class)The fundamental job of a Java programmer is providing class definitions,or descriptions of how objects in each class must behavior.(

27、Java程序员的基本工作就是定义类,或描述每个类的对象的行为)当程序中类已经被定义了,程序运行时可以产生类(class)的多个对象(object)。每个对象称为是该类的一个实例(instance)。如在example 1中,可以定义老总类,副总类,项目经理类,程序员类。项目经理类可以产生多个项目经理对象、程序员类产生多个程序员对象。,面向对象中的基本概念,预先定义的类(Predefined Objects and Classes)不同程序在执行时有许多相同的行为,如:在屏幕上打印字符。这些功能可以由预先定义好的类实现。Java中提供了许多这样的类,程序员在编写新的程序时可以利用这样的类和对象。

28、,Object-Oriented Programs,Java program typically consists of a group of objects that communicate by sending messages.Java程序由一组对象组成,对象间通过消息来通信。When the program runs on a computer,it creates objects from class definitions provided by the Java programmer.Java程序在计算机中运行时,它将根据程序员定义的类来创建对象。,Object-Oriented

29、 Programs,A class definition for a class is a template for creating objects of that class.一个类的定义情况将被作为创建该类的对象实例的模板(template)It describes how objects of that class must behave in terms of the types of messages they can receive and how they respond to those messages.类的定义描述了类的对象将会如何对其收到的消息产生相应的行为和反应。,E

30、xample1,VicePresident,-name-department,+provideFinacialData(),ProjectManager,-name-team,+writeProjectProposal(),Classes to model Vice President and Project Manager,小 结,程序设计语言的基本概念Java发展历史Java的特点Java程序和面向对象的基本概念1个示例,2.1 Programming with Java,Programming with ObjectsJava Program DevelopmentFirst Look

31、at JavaElement of a Java ServletPlanning Servlet DevelopmentGuidelines for Java Development,2.1.2 Java Program Development,Writing Java Source Code Compiling Java Source Code Creating an HTML Form Running a Java Program,Java程序的生成与执行,Editor(编辑器,如记事本),Java compiler(编译器),Java程序(.java文件),Java字节码(.class文

32、件),Java字节码(.class文件),Java 解释器,计算机硬件,Java程序的编译与执行,安装Java平台和设置环境变量安装JDK环境变量path和classpath使用cmd进入命令行模式使用javac命令对需要编译的.java源码文件进行编译,得到编译后的结果.class文件执行java程序使用java命令执行或将.class文件放在合适的位置供其他程序调用,如:将servlet程序Welcome.class放在workbench中处理客户端发送的数据。,Java程序的编译,有些servlet需要使用已经写好的Java源代码,而这个源代码又不是J2SE SDK的一部分,如需要wor

33、kbench的lib目录下的javax.servlet.jar。注意:将D:workbenchlibjavax.servlet.jar;.加入到环境变量中的classpath中去,Java程序的编写,Java规则(Java Rule)Java语法,即使用Java编写程序需要遵循的语法规则。标识符(identifier)类或者行为需要有个名字,这个名字就是一个标识符。Java对大小写敏感,即标识符“system”和“System”是不同的标识符Java中类的名字通常以大写字母开头;其他的标识符(如方法的名字)以小写字母开头。,Java程序的编写,关键字(keyword)Java语言中预先定义好的

34、字,如class,public,static等Java语句(statement)的顺序Java语言编写的顺序也是它们被处理执行的顺序。程序格式(format)单词和单词之间使用空格分开。没行写一句代码(statement),如果这局代码太长再分行。所有的语句用;结束。使用tab键实现缩进,使得所写的java代码美观易读。注释(comment)使用/*和*/进行注释一段文字;使用/注释一行文字。好的习惯:在定义类之前,使用注释描述类的作用和行为。坏的习惯:整个程序基本没有注释。,Java程序的编写,关于Java程序名对于大多数计算机语言,保护程序源代码的文件名是随意的,但对于Java不行。Jav

35、a中,所有的代码都必须驻留在类中,每个源程序文件被称为一个编译单元(compile unit)。类名必须与源程序的文件名相同。确保文件名的大小写与类名一样。,Creating an HTML Form,Running a Java Program,将相关的网页Load入Workbench将网页所需的servlet程序Load入Workbench从Workbench中调用网页,测试servlet的使用实例1:Welcome实例2:Catfish,一些基本的概念,类(class):共享相同行为的对象的类别,Java中一类模型元素称为类。对象(object):Java中模拟某事物的一个实体,是类的一

36、个实例。行为(behavior):对象可能进行的任何动作。消息(message):调用对象行为的机制。引用(reference):一个值或者一个表达式,它引用到一个对象,因而可以由此向对象发送消息。,一些基本的概念,语句(statement):Java语言的一个句子,一条语言表达一个要执行的动作。标识符(identifier):一个字符序列,可以用作Java程序中的名字。关键字(keyword):Java中具有预定义的特殊含义的单词或标识符。注释(comment):出现在源代码中的解释性的文字。,2.1 Programming with Java,Programming with Object

37、sJava Program DevelopmentFirst Look at JavaElement of a Java ServletPlanning Servlet DevelopmentGuidelines for Java Development,2.1.3 First Look at Java,以Catfish为例,说明Java的使用实例:Catfish.class类的定义(class definition)Catifish.类的属性(attribute)Catfish类的行为(behavior)If语句的用法,Java的标识符,Java程序设计中,标识符用来对程序中的变量、方法、对

38、象、类、接口、以及包等进行命名Java语言的标识符命名必须遵循以下原则:标识符必须是以字母、下划线(_)、美元符($)开始的一个字符序列;除第一个字符外,标识符可以由字母、数字、下划线(_)、美元符($)构成的一个字符序列;标识符对大小写敏感标识符没有最大长度限制标识符中间不能有空格和连字符(-)Java语言的关键字不能用作标识符。,Java的关键字,Java语言中,有一部分标识符是系统定义的,有着专门的意义和用途,不能用于一般的标识符,这些标识符就叫做保留字或关键字。,abstract assert boolean break byte case catch char class const

39、 continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while,在Java中,true(真)、false(假)和null

40、(空值)都是小写的,它们不是Java的关键字,但是在程序中不能把它们作为名字使用。,Java的标识符,Java标识符StudentNameget_up_sys_path$pay$9test7go%superIampublicget-name,类的定义,Catfish.java给出了对类Catfish的定义The description is provided by the source code enclosed within the opening brace and the closing brace.类的定义中给出内容attributes(属性值)behaviors(行为),类的定义的格

41、式,类修饰符 class 类名 extends 父类名implements 接口名,接口名类体,public class Catfish 类的主体,public类标识符:如果一个类被声明为是public的,则与它不在同一个包中的类也可以通过引用它所在的包来使用这个类。否则这个类就只能被同一个包使用。,类的定义的格式(续),类修饰符 class 类名 extends 父类名implements 接口名,接口名类体,public class Welcome extends HttpServlet 类的主体,类中的属性,类中包含的内容(以Catfish类为例)属性值 private int row;

42、private int column;private String imageFileName;private:是java的一个关键字。标识这些属性只能由Catfish对象访问。int和String标识Java中数据的类型int row表示变量row是一个整数String表示变量imageFileName是一个字符串,类中的行为,getRow getColumn getImage swimRightIfPossible swimLeftIfPossible swimUpIfPossible swimDownIfPossible,以swimLeftIfPossible()为例,属性(attrib

43、ute),消息(message),Student Activity,教材中的中的Student Acitivity使用提供的例子Alife-Basic学习如何建立一个Java类。首先从下载Alife-Basic.zip然后将教材表1(listing 1)中的内容存为Catfish.java,可以修改其中的内容。编译Catfish.java使用workbench运行Catfish.class,If 语句,If 语句,If语句的执行顺序,判断条件,当条件为真时执行的语句,true(真),false(假),1.需求分析(对整个系统的分析),2.系统需要描述的对象和对象之间的关系,3.将所需对象分类,

44、并确定一类对象的属性和行为,6.完成整个系统,5.从类定义中生成多个对象,每个对象都具有类定义中定义的属性和行为,4.类定义(属性和行为),软件系统开发的基本过程,2.1 Programming with Java,Programming with ObjectsJava Program DevelopmentFirst Look at JavaElement of a Java ServletPlanning Servlet DevelopmentGuidelines for Java Development,2.1.4 Elements of a Java Servlet,The Welc

45、ome ServletMore ServletsGetting User InputDebugging a Servlet,Servlet的定义:Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器端的功能,可以生成动态页面。Servlet与传统的Java应用程序不同的是:它不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。Servlet与Applet的区别:Applet是运行于客户端浏览器的Java程序,Servlet运行于服务器端。它们都没有main()函数;都不是用户调用,而是由另一个应用程序(容器)调用;它们都有一个生命周

46、期,包含init()和destroy()方法。,import java.io.*;import javax.servlet.*;import javax.servlet.http.*;,关键字,public class extends void throws import,标识符,Welcome HttpServlet doPost HttpServletRequest HttpServletResponse PrintWriter ServletException IOException request response out setContentType getWriter printl

47、n,引入java.io包中所有的类,servlet用这些类实现输入输出。,Welcome类的定义,dopost处理服务器收到的表单数据,并作出响应,使用setContentType设定servlet生成的文件的格式:“text/plain”表示生成一个 纯文本文件;“text/html”表示生成一个 HTML Web网页;“text/gif”表示生成一个 GIF文件.,More Servlets,HtmlWelcome servletPersonalWelcome servlet,调试servlet(Debugging a Servlet),在servlet源代码中加入(“调试提示信息);参见

48、2.1.4节listing 4的Welcom.java在servlet运行时,可以在workbench的窗口中看到调试提示信息。,Servlet运行时,调试提示信息显示在workbench的信息提示窗口,2.1 Programming with Java,Programming with ObjectsJava Program DevelopmentFirst Look at JavaElement of a Java ServletPlanning Servlet DevelopmentGuidelines for Java Development,2.1.5 Planning Servle

49、t Development,Thinking AheadDefining the ProblemPlanning the SolutionCoding the ServletTesting and Evaluating,Thinking ahead,是否安装了Java平台J2SE环境变量path和classpath是否设置正确是否安装了workbenchWorkbench安装目录下lib目录下的javax.servlet.jar是否添加到classpath中,Defining the Problem,定义网页中所需控件的类型、数目以及名字(name)定义servlet的名称,如何在网页中被调用

50、定义servlet处理信息得到的结果示例:下载在线教材2.1.5节中的TravelRequest.zip其中的TravelRequest.java 给出了服务器端处理程序的代码框架,参照该节的教程,逐步实现完整的程序代码。,Planning the Solution,定义响应返回的页面的内容类型(Indicate the content type being returned by the response)获取一个输出流,使用这个输出流将数据传送给客户(Retrieve an output stream to send data to the client)获取用户在表单中的输入(Get u

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号