配色: 字号:
JAVA程序设计 第二课
2016-06-21 | 阅:  转:  |  分享 
  
Java程序设计第一章java概述计
算机基础知识回顾——计算机系统计算机基础知识回顾——计算机系统程序设计概述程序员用各种程序设计语言编写计算机指令。某些指令能
够直接被计算机执行,而其它的指令还需要通过中间的翻译过程才可被计算机执行。当今使用的计算机语言有上百种,大致可分为如下三类:机器
语言、汇编语言和高级语言。机器语言、汇编语言和高级语言程序设计的过程就是问题求解的过程.应用计算机求解问题是一个复杂的过程,
包括问题分析,建立数据模型,设计算法,编程,调试和测试,文档整理等。学习程序设计,要按这个步骤一步一步地解决问题。掌握和学会问题
求解方法,是学习高级语言的重点,也是最大难点。它将贯穿于教学的整个过程,渗透到各个教学环节。Java概述——产生背景1
991年,电视机,机顶盒,录象机的开发设计需要一种可移植、方便、高效的计算机语言。为了满足这种需求,由Sun公司的Patrick
Haughton和JamesGosling领导的技术小组开发了JAVA。Java概述——发展历史SunMicrosyst
em公司为了发展消费性电子产品而进行了一个名为Green的项目计划。这个计划的负责人是JamesGosling。起初他以C+
+来写一种内嵌式软件,可以放在烤面包机或PAD等小型电子消费设备里,使得机器更聪明,更具有人工智能。但后来他发现C++并不适合
这类的任务!因为C++常会有使系统失效的程序错误,尤其是内存管理。Gosling最后决定要发展一种新的语言,来解决C++的潜在性
危险问题,这个语言名叫Oak(橡树)。它保留了大部分与C++相似的语法,但却把些较具危险性的功能加以改进,像内存资源管理,便由
语言本身来管理,以减少程序设计师的负担及错误的产生。Oak是一种可移植性(portable)语言,也就是一种平台独立(plat
form-independent)的语言,能够在各种芯片上运行。这样子各家厂商就可降低研发成本,直接把应用程序应用在自家的产品上。
时间到了1994年,Oak的技术已日趋成熟,这时刚好网络也正开始蓬勃发展。而Oak研发小组发现Oak很适合作为一种网络程序语
言。因此发展了一个能与Oak相配合的浏览器——WebRunner,后更名为HotJava,它证明了Oak是一种能在网络上发展的程序
语言。后来,因为Oak这个商标已被注册走了,工程师们便想到以手中常享用的咖啡(Java)来重新命名,并于SunWorld9
5中被发表出来。从此以后,Java就随着网络的快速发展,而成了一个程序语言的明日之星。Java概述——技术分支Java概述——
语言的特点Java语言有下面一些特点:简单、面向对象、分布式、解释执行、安全、体系结构中立、可移植、高性能、多线程以及动态性。
Java概述——Java工作原理一次编写,处处运行Java概述——Java虚拟机JVM(JavaVirtualM
achine)Java概述——Java平台平台(Platform)是程序在其中运行的硬件或软件环境最流行平台:Windows
,Linux,Solaris,MacOSJava既是一种程序语言也是一个平台。Java平台是一种运行在其它硬件平台上的
纯软件平台,它有两个组件:Java虚拟机(JavaVirtualMachine,JVM)和Java应用编程接口(Java
API)JavaAPI和JVM将程序与硬件分离JavaAPI和JVM将程序与硬件分离Java平台又称Jav
a运行时环境(JavaRuntimeEnvironment,JRE)。一台计算机要想运行Java程序,则必须首先安装JR
E。目前Java平台有3种版本,以适应各种需求:?JavaTM2Platform,StandardEdition(
J2SE)(标准版)JavaTM2Platform,EnterpriseEdition(J2EE)(企业版)J
avaTM2Platform,MicroEdition(J2ME)(小型家电版)?借助这些平台版本,使得Java
程序能在各式大小型机器及操作系统上运行,达成所谓程序可移植性、跨平台的目标。Java平台的这些特性,使得微软倍感威胁。微软现今所提
出的.Net,便是视Java平台为强力竞争对手之一。JREJava概述——Java的垃圾回收机制(GC)不再使用的内存空间
应回收----垃圾收集。在C/C++等语言中,由程序员负责回收无用内存。Java语言解除了程序员回收无用内存空间的责任。它提
供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。垃圾收集在Java程序运行过程中
自动进行,程序员无法精确控制和干预。Java环境搭建Java开发工具集JDK----JavaDevelopmentKits
Java编译器Java运行时解释器Java应用程序编程接口Java文档化工具其它工具及资源JDK配置path变量
classpath环境变量设置JAVA_HOME第一个java程序编写实现开发Java应用的基本步骤:编写源代码,生成
.java文件。编辑Java文件,用文本编辑工具即可;编译源代码,生成.class文件;javacHelloWorld.ja
va或java.java运行该程序,javaHelloWorldpublicclassHelloWorld{
//Java应用程序入口方法 publicstaticvoidmain(Stringargs[]) { //向控制
台打印一条信息 System.out.println("HelloWorld!"); } }JavaIDE术语解释
:由Java虚拟机和Java核心类所构成。它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。java是一个
可以在不同操作系统(例如windows,unix等)上运行的编程语言,java平台是指运行在各种终端(如pc、服务器、移动设备、嵌
入式设备)的系统软件。PC机上的java程序是用javaSE开发出来的,服务器端的java程序是用javaEE开发出来的,移动设备
的java程序是用javaME开发出来的。J2ME(Java2MicroEdition)是Java2的一个组成部分,它
与J2SE、J2EE并称。根据Sun的定义:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视
电话、数字机顶盒、汽车导航系统等等。J2ME技术在1999年的JavaOneDeveloperConference大会上正式推
出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。J2SE商业版本,标准版本(J
ava2StandardEdition)定位在客户端,主要用于桌面应用软件的编程。J2SE包含那些构成Java语言核
心的类。J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、
安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J
2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。
对于大多数语言,如果要运行一个程序,要么编译程序要么解释程序;但是Java语言的程序则既要被编译又要被解释。编译器将Java源程
序翻译为字节码(bytecode)程序;解释器(Java虚拟机)分析并解释执行字节码程序。源代码目标码可执行代码源
代码字节码编译连接运行操作系统编译解释执行Java解释器SourceCode(源程序.java)Byte
Code(字节码文件.class)JVM(Java虚拟机)JVM(Java虚拟机)JVM(Java虚拟
机)WindowsLinuxUnixcomplie(编译)Load(载入)execute(解释)非洲翻译韩
国翻译美国翻译非洲商人韩国商人美国商人中国商人问候的话语翻译成非洲话翻译成韩国话翻译成美国话Java虚拟机
是以Java字节码为指令组的软CPU,负责对本地.class文件进行解释执行。?JVM的定义:Animag
inarymachinethatisimplementedbyemulatingitinsoftwareon
arealmachine.CodefortheJavaVirtualMachineisstoredin.c
lassfiles.JVM的构成:类加载器:用来取得从网络或本地的类文件。字节确认器:确认类文件是否有正确的格式。
JIT实时编译器:使虚拟机能达到编译式的运行效率。在一台计算机上由软件或硬件模拟的计算机。Java虚拟机(JVM)读取并
处理经编译过的平台无关的字节码class文件。Java编译器针对Java虚拟机产生class文件,因此是独立于平台的。Jav
a解释器负责将Java虚拟机的代码在特定的平台上运行。Java开发环境搭建安装JDK设置环境变量安装IDE源程序文件
(.java)编译字节码文件(.class)程序设计程序修改错误成功保存AppletRichClient
AppJavaEEServerAppJavaMEApp安装开发运行Eclipse IntelliJ
JBuilderNetbeans WorkshopWSADJdeveloper
1.简单性Java语言是一种面向对象的语言,简单易理解,Java略去了运算
符重载、多重继承等模糊的概念,通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。2.面向对象Java语言的设计集中于对
象及其接口,它提供了简单的类机制以及动态的接口模型,实现了程序的模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机
制,子类可以使用父类所提供的方法,实现了代码的复用。3.分布性Java是面向网络的语言。通过它提供的类库可以处理TCP
/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。4.安全性,用于网络、分布环境下的Java必须要防止病
毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用"特洛伊"木马等欺骗手段
访问对象的私有成员,同时也避免了指针操作中容易产生的错误。5.体系结构中立,Java解释器生成与体系结构无关的字节码指令
,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。6.可移植性,与平台无关的特性使Java程序可以方便
地被移植到网络上的不同机器。Java的类库中也实现了与不同平台的接口,使这些类库可以移植。Java编译器是由Java语言实现的
,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。7.解释执行,Java解释器直接对Java
字节码进行解释执行。8.高性能,和其它解释执行的语言如BASIC不同,Java字节码的设计使之能很容易地直接转换成对应于特
定CPU的机器码,从而得到较高的性能。9多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。
通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时
交互行为。10.动态性Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序
的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。Java运行环境的三项主要功能:
加载代码:由classloader完成;校验代码:由bytecodeverifier完成;执行代码:由runtime
interpreter完成。编译(compilation,compile)1、利用编译程序从源语言编写的源程序产生目标程
序的过程。2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人
们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;
代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。解释程序是高级语
言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中
的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,
解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的
确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语
句,这就造成很大浪费。排序查找西南财经大学天府学院—java程序设计Logo西南财经大学天府学院Tian
fuCollegeofSouthwesternUniversityofFinanceandEconomics
郭进程序设计概述2计算机基础知识回顾1Java概述3Java环境搭建4第一个java程序编写实现5
计算机系统由硬件和软件构成冯·诺依曼的通用计算机方案:计算机硬件由五个基本部分组成:运算器、控制器、存储器、输入设备和输出
设备;用二进制表示计算机的指令和数据;存储程序和程序控制:将程序和数据放在存储器中,并让计算机自动地执行程序。机器语言
高级语言汇编语言机器语言的每一条语句都是二进制形式的指令代码,从属于硬件设备,一般随CPU的不同而不同。例如
0101011加0101101减汇编语言用助记符代替机器语言的操作码,例如
ADD加但是汇编语言还是面向机器的。而且因机而异高级语言用简单的英文单词和熟悉的数学表达式,并且用户不必了解计算机
的指令系统,主要考虑解题算法的实现。高级语言编写的源程序可以在不同的计算机上使用,但是必须经过编译成机器语言才能执行。汇编或高级
语言?机器语言的方式:编译:将原程序(高级语言编写)翻译成目标代码(机器语言)。计算机执行程序时执行的是目标代码。解释:计
算机在执行程序时,边解释边执行。库文本编辑器#includeintmain(){……编译器
连接器运行器001100010110000111……001100010110000111……------------
------------------源代码目标代码可执行代码结果程序员sourceprogram
……complierobjectprogramotherobjectfiles/li
brarieslinkerexecutablefile…………
……编译过程一个程序应包括两方面的内容数据类型(Datatypes)数据结构(Da
tastructure)数据结构+算法=程序1、对数据的描述算法(algorithm)2、对操作的描述设计、书写及检
查调试程序的过程。数据结构确定算法编写代码调试运行整理结果并攥写文档程序=数据结构
+算法+程序设计方法+文档EXAMPLE[1-1]:0021班学生成绩表单
总分90837967高数76928088英语冬雪秋雨夏天春风姓名请计算下列给出的成绩表单中
“春风”的总成绩总分90837967高数76928088英语冬雪秋雨夏天春风姓名英语和高数
成绩均用整型数据表示:intscore1,score2,sum;数据结构确定算法sum=score1+sco
re2score1=88score2=67Beginsum=0score1=88Score2=67sum=sc
ore1+score2输出sumEnd总分90837967高数76928088英语冬雪秋雨夏天春
风姓名数据结构确定算法编写代码main(){intscore1,score2,su
m=0;score1=88;score2=67;sum=score1+sco
re2;printf(“sum=%d\n”,sum);}Beginsum=0score1=
88Score2=67sum=score1+score2输出sumEnd总分90837967高数7692
8088英语冬雪秋雨夏天春风姓名数据结构确定算法编写代码main(){in
tscore1,score2,sum=0;score1=88;score2=67;
sum=score1+score2;printf(“sum=%d\n”,sum);}
调试运行整理结果并攥写文档程序名称:sum.c程序员:李晓程序功能:计算学生成绩代码编写日期:2008年9月7
日该程序算法用下列程序流程图描述:……155问题分析建立数据模型设计算法编辑调试和测试文档整理图1.
问题求解过程X1起止端点输入/输出一般处理预定义处理条件判断循环上界循环下界流程线Be
ginsum=0score1=88Score2=67sum=score1+score2输出sumEnd请用程序流程图描述求解下列问题的算法总分67高数88英语春风姓名EXAMPLE[1-2]:用程序流程图表示的三种基本结构ABC顺序结构AexpT选择结构ABexpTF……caseexpcase1casencase2选择结构AexpTF循环结构expTAFN--S图表示算法的优点:比文字描述直观、形象、易于理解;比传统流程图紧凑易画,而且废除了流程线,整个算法结构是由各个基本结构按顺序组成的。N--S流程图中的上下顺序就是执行时的顺序,写算法和读算法只需从上到下,十分方便。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。第一篇Java语言基础第二篇面向对象技术第三篇Java异常处理第四篇输入输出与多线程第五篇Java的应用JAVAEEJSP/ServletEJB服务…JAVAMECLDC、MIDP游戏通讯…JAVASE面向对象JVM底层支持…基础核心西南财经大学天府学院—java程序设计
献花(0)
+1
(本文系信检彭博海...首藏)