版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
chap2java概述chap2java概述chap2java概述ch2软件开发基础与Java语言概述软件开发基础简述软件运行的原理操作系统与计算机结构的发展软件开发过程与程序设计语言Java语言概述Java的发展历史Java程序的开发过程与运行环境Applet与Application简单例子软件运行原理编写的程序经过翻译之后形成计算机懂的语言存储在存储单元中。需要运行程序时,cpu首先通知系统将程序读入内存,找到程序的入口地址然后根据指令顺序执行。其中cpu对读入内存的程序的执行是一项非常复杂的内容,这需要对计算机的硬件有深入的了解有兴趣的话可以看看微机原理计算机组成操作系统等操作系统与计算结构发展软件划分操作系统为了屏蔽硬件的不同,更充分的利用硬件资源,管理系统系统软件为应用软件提供相应的服务数据库管理工具开发工具应用软件面向具体用户的具有很强的指向性的软件,比如公司的财务管理系统,学生管理系统计算结构的发展主机-终端模式单机模式客户机/服务器模式(client/server—c/s模式)浏览器/N层服务器模式(browserb/s/s模式)主机与终端模式计算机发展的早期,终端是只负责与用户的交互和数据的传送,没有处理数据的能力,也被称为“哑终端”所有的运算和管理功能集中在主机身上。特点:管理简单方便,缺点:主机的负担太重终端界面不友好单机模式由于硬件技术技术的发展,PC机走入寻常百姓家,单机下所有的程序都保存和运行在PC上。管理也方便,但是局限性大,资源不能共享。客户机/服务器模式伴随着网络技术的出现和不断发展壮大,适用于局域网络。与主机和终端模式不同,客户机拥有一定的处理功能分担了服务器的任务,用户界面也友好。服务器负责集中管理和处理数据。缺点是每台客户机上都需要安装软件,升级和维护工作量大。浏览器和N层服务器模式最近的几十年发展起来的三层体系结构,提供了统一的用户界面,依托internet方便的发展用户程序设计语言软件开发类型根据软件系统的分类,分为操作系统开发、系统软件开发和应用软件开发目前我们的定为和目标是成为优秀的应用软件开发人员。应用软件开发应具备的能力了解应用软件的背景知识分析和了解应用软件的功能和要求确定应用软件的计算结构目前多采用c/s或b/s熟悉应用软件的工作运行环境比如在环境比较恶劣的煤矿等工业环境,对速度容量纠错的要求掌握开发应用软件的开发工具
本书的重点是让你学会一种开发工具java
面向机器的语言低级语言(机器语言、汇编语言)为特定硬件系统专门设计运行速度和效率都高可移植性和可读性差
20世纪50年代(1945)
微机原理、汇编语言
面向过程的语言高级语言(C、Pascal、Basic、Fortran)摆脱了对硬件的依赖可读性和维护性增强易于掌握
20世纪50--70年代(1968软件危机)
计算机操作系统、编译原理、数据结构、算法、软件工程面向对象的程序开发语言(DELPHI、VB、c++、JAVA)软件开发的规模和效率都有较大提高可重用性增强
1966年由SIMULAI首次推出
面向过程的程序面向对象的程序面向机器的程序程序设计语言的发展面向机器的语言机器语言和汇编语言,汇编语言使用仍然非常广面向过程的语言类似与自然语言面向对象的语言把数据和数据上的操作封装在一起,形成抽象数据类型Java开发环境Java平台的分类JavaSE---StandardEdition:JRE(JVM和运行Java程序的组件)和JDK(JRE和编译运行等命令)JavaEE---EnterpriseEditionJavaME---MicroEdition移动设备嵌入式开发JDK命令
命令式javac:java语言编译器,将java源程序(.java)编译成字节码(.class)javac***.javajava:java语言的解释器,解释运行字节码文件java***appletviewer:javaapplet浏览器,运行applet程序Java集成开发环境:
Eclipse(IBM)NetBeans(Sun)Java语言概述--发展历史
Java的由来
Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet。Java的取名也有一趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。Java的现状Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发,它的平台无关性直接威胁到Wintel的垄断地位。一时间,“连Internet,用Java编程”,成为技术人员的一种时尚。虽然新闻界的报导言过其实,但Java作为软件开发的一种革命性的技术,其地位已被确立,这表现在以下几个方面
1.计算机产业的许多大公司购买了Java的许可证,包括BM,Apple,DEC,Adobe,Silicon
Graphics,HP,Oracel,Toshiba,以及最不情愿Microsoft。这一点说明,Java已得到了工业界的认可。2.众多的软件开发商开始支持Java的软件产品。例如:Borland公司开发的基于Java的快速应用程序开发环境Latte,Borland公司的这一举措,推动了Java进入PC机软件市场。Sun公司自己的Java开发环境JavaWorkshop已经发布。数据库厂商如:Illustra,Sysbase,Versant,Oracle都在开发CGI接口,支持HTML和Java。今天是以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能限于同质的环境(相同的硬件平台)Java程序的开发过程和运行环境Java是一种解释型的高级编程语言,但是它和Vb有所不同高级语言编写的程序要经过翻译后机器才能运行,根据翻译的方式不同分为解释型和编译型。其中编译型运行速度快,c、c++都是这样的,一次编译成可执行文件交给操作系统运行,对操作系统的依赖大。解释型是一边翻译一边执行,与传统的解释型语言不同,java源程序不是交给解释器解释而是先编译成二进制字节码文件然后交给java解释器执行可以理解成java的执行是解释和编译的折中编译型源程序字节码程序可执行程序Java源程序JvmJava解释器操作系统硬件平台裸机Java引入编译的两个原因保证程序的语法正确性编译时软件检查源程序是否存在语法错误,直到没有语法错误后才能形成字节码文件。注意,这时候只能检查出语法错误,并不能发现程序的逻辑错误通过编译引入java类库中已编写好的模块java类库是java语言的重要组成部分,它是由其他开发人员或者软件提供商编写好的java程序模块,每个模块对应一些特定的基本功能,提高编程效率Java程序的开发过程编写源程序使用简单的文字编辑器如笔记本或者Edit或者更方便的java源程序编辑软件编译和调试最终生成字节码文件使用jdk软件来完成,也可以使用NetBeansEclipse等集成开发工具C:\>javac
myjava.class运行C:\>java
myjavaJava解释器主要完成三个阶段的工作载入
java解释器负责将相关字节码文件加载到内存,首先加载主类,然后加载程序中引用的类库中的类代码校验 java解释器负责检查字节码的合法性,发现是否有明显的错误或者有破坏java安全性的操作企图。解释执行Java的运行环境-开发工具的安装一、从网络下载java.sun/j2se/downloads.html二、按照提示安装d:\jdk三、设置环境变量设置pathwin2000/xp:在控制面板\系统\高级\环境变量path=;d:\jdk\bin;……设置classpath
新建环境变量classpathclasspath=要编译程序所在目录Path的设置可以使java的工具可在任何的目录下运行Classpath的设置可以使jdk在指定目录下找到所需类演示安装过程Java小程序Java的程序有两类Javaapplication
它是独力完整的程序,应用java解释器即可运行application程序Javaapplet 编译的过程跟application一样,它要通过浏览器来运行文件名是什么?JavaApplication的结构用import语句加载已定义好的类或包供程序使用,格式是:import包名;importjava.io.*;JavaApplication程序是由若干个类或类定义组成的,“类不能嵌套,类和类是平行的”JavaApplication程序只有一个主类类体中包含一个main方法的类称为主类程序中也只能有一个public类(公共类)类定义由类头部分和类体部分组成main方法是JavaApplication程序的入口点文件名必须与public类同名
Java区分大小写
publicclasshello2{inta1,a2;voidpntout(Strings){System.out.println(s);}}classhello1{publicstaticvoidmain(Stringargs[]){hello2abc;abc=newhello2();abc.a1=1;abc.a2=2;System.out.print(“1+2=”);System.out.println(abc.a2+abc.a1);abc.pntout(“hello,myfriends!”);}}主类是谁?文件名是什么?Application程序的文件名应该与public类名相同,但是运行的时候应该用主类名。不过,大多数情况下主类和public类是一个类
JavaApplet程序结构及运行机制Java
applet程序运行机制一个JavaApplet程序的例子JavaApplet的结构代码嵌入JavaApplet的运行同样用javac编译源程序可以用appletviewer来执行,也可以用浏览器来执行运行机制Html文件-Applet嵌入标记Applet类名www服务器WWW服务器2下载html文件1请求html文件4请求Applet字节5下载Applet字节码文件6解释执行Applet字节码3www浏览器(java)代码嵌入html文件中Myaptinclude.html〈html〉〈body〉〈appletcode=“myapt.class”height=200
width=300〉〈/applet〉〈/body〉〈/html〉记事本来编辑html文件JavaApplet的结构JavaApplet不是可以独立运行的程序,它的字节码文件必须嵌入Html文件中并由负责解释Html文件的浏览器(支持Java解释器)来解释执行Applet程序Applet程序也是由若干类和类定义组成Applet程序也只能有一个主类,主类是系统类Applet的子类,并且含有paint方法运行Applet程序两种方式Jdk提供的模拟方式javac文件名.javaAppletviewerhtml文件名.html浏览器运行javac文件名.java双击html文件名运行或在浏览器中打开html文件图形界面的输入输出
目前大多数软件多为图形用户界面,具有操作简单,美观易懂等特点Applet程序图形界面输入输出Application程序图形界面输入输出Applet图形界面的输入输出一个界面输入输出的例子AppletInOut几点说明凡是applet程序必须加载java.applet包凡是使用图形界面必须加载java.awt包凡是图形界面的事件处理必须加载java.awt.event包主类是Applet类的子类,且包含publicvoidinit()方法若有事件处理,主类头必须加implementsActionListener说明,主类中实现publicvoidactionPerformed(ActionEvente)方法在主类中把某对象注册给事件监听者,方法是:对象名.addActionListener(this)btn.addActionListener(this);加载控件的方法,[容器对象名.]add(对象名)例如:add(btn);importjava.applet.*;importjava.awt.event.*;importjava.awt.*;publicclassAppletInOut
extendsAppletimplementsActionListener{ Labelprompt; TextField
input,output;publicvoidinit(){prompt=newLabel("pleaseinputyourname");input=newTextField(6);output=newTextField(20);
setLayout(new
FlowLayout());
add(prompt); add(input); add(output);
input.addActionListener(this); }publicvoidactionPerformed(ActionEvente){
output.setText(input.getText()+",welcomeyou!");}}Application图形界面输入输出Applet只能在图形界面下工作,Application需要首先创建自己的图形用户界面。看一个例子几点说明要加载java.awt包和java.awt.event包要定义Frame类的子类Frame类的子类要定义构造函数,此函数完成主要工作方法setLayout(newFlowLayout)完成个控件布局方法setSize(300,300)设置窗框大小方法Show()把窗框显示出来importjava.awt.*;importjava.awt.event.*;classFrameInOutextendsFrameimplementsActionListener{Labelprompt;TextFieldinput,output;Buttonbtn;
FrameInOut(){super("javaapplictiongraphics");prompt=newLabel("inputyourname");input=newTextField(6);output=newTextField(20);btn=newButton("close");setLayout(newFlowLayout());add(prompt);add(input);add(output);add(btn);input.addActionListener(this);btn.addActionListener(this);setSize(300,200);show();//setVisible(true);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==input)output.setText(input.getText()+",welcomeyou!");else{dispose();System.exit(0);}}}publicclassApplicationGraphicsinout{ publicstaticvoidmain(Stringargs[]) { newFrameInOut(); }}字符界面的输入输出字符模式的用户界面,用户通过字符串向程序发出命令Applet程序只能在图形用户界面上工作,所以只有Application可以实现字符界面的输入输出几点说明输入字符的方法:c=(char)System.in.read()其中c是字符型变量输入字符串的方法:BufferReaderin=newBufferReader(newInputStreamReader(System.in));s=in.readLine();
s为字符串变量字符或字符串输入都必须放在异常处理语句中,格式为:try{}catch(IOExceptione){}importjava.io.*;publicclasschap21{publicstaticvoidmain(S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 符合人体工程学的笔记本升降台设计
- 2023文印员理论考试历年真题+模拟卷全套答案
- 2023年乐鑫嵌入式校招面试前必刷笔试题及答案
- 2024年社工实务考试必背考题及速查答案手册
- 2026三资会计考试考前密押3套卷及超详答案解析
- 2020民法学总论易错题集及答案解析
- 2023年儿童保健科基层培训幼儿养育照护试题答案
- 2022年留置看护队员考试判断题专项练习试题及答案解析
- 2022民政局离婚协议书
- 检验科肝功能检测异常处理流程
- 简阳市投资促进局公开招聘编外人员考试备考试题及答案解析
- 2026年生物制药(生物制药技术)试题及答案
- 2026年广西机场管理集团有限责任公司校园招聘考试模拟试题及答案解析
- 2025年全国高校辅导员考试练习题及答案
- 内蒙古环投集团笔试试题
- A级锅炉部件制造质量手册
- 造价咨询重点、难点及控制措施
- 阀门基础知识培训课件
- 教学设计 大自然的语言 全国公开课一等奖
- 北师大版小学数学年级总复习知识点汇总
- 焊接接头的组成及基本形式
评论
0/150
提交评论