




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计第一章
Java语言概述目录1.1Java语言的特点1.2Java运行环境与开发环境1.3Java程序举例4学时面向对象安全性平台无关性多线程Java不支持指针Java的内部安全措施
编译后的字节码对应于Java虚拟机,因此可在不同平台上运行Java是第一个在语言级提供内置多线程支持的高级语言1.1Java语言的特点组成Java程序的最小单位是类,类封装了数据与处理数据的方法。对于大多数常用的功能,有大量已经编译好、经过测试的类,这些类的集合就是Java类库。Java类库主要是随编译器一起提供,也有些类库是由独立软件开发商提供的。内存管理Java对内存自动进行管理并进行垃圾回收Java与C++的区别Java语言是一种功能强大语言,但几乎没有一点含混的特征。C++安全性不好,但C和C++还是被大家所接受,所以Java使用了类似于C/C++的语法,而去除了C/C++中许多不合理的内容,以实现其简单、健壮、安全等特性。1)全局变量2)指针3)内存管理4)类型转换区别:5)结构和联合6)预处理7)多重继承内存管理:C++通过运算符new和delete分配和释放内存,再次释放已释放的内存块或释放未分配的内存块会造成系统崩溃,忘记释放不再使用的内存块会逐渐耗尽系统资源。Java对内存自动进行管理并进行垃圾回收;全局变量:Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能;指针:指针是C++中最灵活但也最容易出错的数据类型,以指针进行内存操作常造成不可预知的错误。Java不支持指针,对内在的访问经过对象的实例变量实现;结构和联合:C/C++的结构(structure)和联合(union)的成员均为公有,Java不支持structure,union,所有内容被封装在类中;多重继承:Java不支持多重继承,只支持单重继承。预处理:Java中没有#include和#define等预处理功能,用import语句来包含其它类和包;类型转换:C++可通过指针进行任意类型转换,导致不安全的可能性存在,java语言中要对对象的进行相容性检查,防止不安全的转换;1.2Java运行环境与开发环境1.2.1Java的产生与发展1991年,当初Sun公司的JamesGosling开展了一个名为“Green”的项目,主要目的是开拓消费类电子产品市场,即OAK语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器。1993年交互式电视和PDA市场开始滑坡,而Internet正处于增长时期,因此Sun公司将目标市场转向Internet应用程序。Jdk、java百度百科了解java相关基础
1995年5月23,SunWorld大会,正式发布这项技术1995年Sun公司的HotJava浏览器问世1996年发布了Java1.01997年2月,Java的开发包Javav1.1发布1998年12月,Sun公司发布了Java2平台。2003年发布了J2sdk1.42004年,发布J2sdk1.5(JDK5)2008年,发布JDK62010年,发布JDK72010年10月,sun公司被Oracle公司收购Java2平台:企业计算:Java2EnterpriseEdition(J2EE)桌面计算:Java2StandardEdition(J2SE)嵌入计算:Java2MicroEdition(J2ME)为企业计算提供一个应用服务器的运行和开发平台,是一个开放的标准,任何厂商都可推出自己的符合J2EE标准的产品。如BEA公司的Weblogic,IBM公司的WebSphere。从JDK5.0开始,改名为JavaEE。为台式机或工作站提供一个开发和运行的平台。>JavaSE为电子消费产品提供一个java的运行平台,使得java能够在手机、机顶盒、PDA等产品上运行。>JavaME1.2.2Java运行及开发环境Java程序编译执行的过程Writeonce,runanywhereJava运行环境(JavaRuntimeEnvironment,JRE)由Java虚拟机、Java的核心类、以及一些支持文件组成。可以登陆Sun公司的网站/j2se免费下载Java的JRE。一、Java运行环境(JRE)Java程序JavaAPIJava虚拟机计算机系统1、Java虚拟机(JavaVirtualMachine,JVM)Java虚拟机是软件模拟的计算机,可以在任何处理器上(无论是在计算机中还是在其它电子设备中)安全并且兼容的执行保存在.class文件中的字节码。Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机环境的计算机或者电子设备上运行。Java虚拟机中的Java解释器(java.exe)负责将字节码文件解释成为特定的机器码并执行。但是,Java虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类。目前在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上,在UNIX、Linux、Windows和部分实时操作系统上都实现了Java虚拟机。
2、JavaAPI(ApplicationProgrammingInterface)JavaCoreAPI:由Sun制定的基本API,任何Java平台都必须提供。JavaStandardEXtensionAPI(javax):由Sun制定的扩充API,Java平台可以选择性地提供或加装。厂商或组织所提供的API:由各家公司或组织所提供。J2SE软件开发工具包J2SDK:二、Java开发环境下载地址/technetwork/java/javase/downloads/index.html下载文件jdk_8u91_windows_x64.exe
安装直接运行“jdk_8u91_windows_x64.exe”。1.安装:以jdk6为例bin目录:编译器:javac.exe调试器:jdb.exe解释器:java.exe、appletviwer.exe文档制作工具:javadoc.exejre目录:Java运行环境(JRE)demo目录:
保存了许多java的例子lib目录:
保存了Java的类库文件安装后:2.配置环境变量PATH:该环境变量指定一个路径列表,用于搜索可执行文件。Java的编译命令(javac),执行命令(java)和一些工具命令(javadoc,jdb等)都在其安装路径下的bin目录中。CLASSPATH:该环境变量指定一个路径列表,用于搜索Java编译或者运行时需要用到的类。在CLASSPATH列表中除了可以包含路径外,还可以包含.jar文件。通常需要把JDK安装路径下的jre\lib\tools.jar包含在CLASSPATH中。在系统环境变量中设置PATH和CLASSPATH对于Window2000/NT/XP操作系统,用鼠标右键点击”我的电脑”,弹出菜单,然后选择属性,弹出”系统属性”对话框,再单击该对话框中的“高级”选项,然后点击按钮”环境变量”,添加或编辑如下的系统环境变量:名:PATH值:C:\ProgramFiles\Java\jdk1.6.0_12\bin;名:CLASSPATH值:.;C:\ProgramFiles\Java\jdk1.6.0_12\lib\tools.jar;3.安装Java帮助文档下载地址/technetwork/java/javase/downloads/index.html下载文件jdk-8u91-docs-all.zip安装解压“jdk-8u91-docs-all.zip”。通常放在JDK所在目录的docs子目录下面。用浏览器打开docs子目录下的index.html文件就可以阅读到该帮助文档的首页应用程序在计算机中单独运行,而小程序只能嵌在HTML网页中运行。Servlet是运行在服务器端的程序,它可以处理客户传来的请求(request),然后传给客户端(response)。Java程序分成三类:
application(应用程序)applet(小程序)
servlet(服务器端程序)1.3Java程序举例类名首字母大写;方法名首字母小写,如果含多个单词,后面的单词首字母大写;开始与结束:{}加注释;包名小写。好的Java编程习惯:可独立运行可使用自己的主窗口、标题栏和菜单程序可大可小能够以命令行方式运行主类(public类)必须有一个主方法main(),作为程序运行的入口源文件名称和主类名称一致1.3.1Application程序Application举例1-1:publicclassMyClass{privateintval1,val2;publicvoidmyFun(intx,inty){ val1=x; val2=y; System.out.println("Thesumis:"+(val1+val2)); } publicstaticvoidmain(Stringarg[]){ MyClassMyObj=newMyClass(); MyObj.myFun(1,2); }}使用如下命令编译并运行程序:javacMyClass.javajavaMyClass运行结果如下:Thesumis:3练习:在命令行窗口显示“大家好!”。例1-2:从m个数中抽出n个数,试计算中奖的概率。该例演示如何从可视化组件输入数据并转换成整形数据,然后从命令窗口输出数据。importjavax.swing.*;publicclassProba{publicstaticvoidmain(String[]args){Stringinput=JOptionPane.showInputDialog("你希望抽取多少个数?");intk=Integer.parseInt(input);input=JOptionPane.showInputDialog("一共有多少个数?");intn=Integer.parseInt(input);intresult=1;for(inti=1;i<=k;i++){result=result*(n-i+1)/i;}System.out.println("你中奖的几率是1/"+result);}}运行于支持Java的Web浏览器中Applet和Application的差别:运行环境的不同,小应用程序总是放在Web浏览器的图形用户界面中1.3.2Applet程序Applet的优点Web浏览器软件包括很多小应用程序运行所需的功能Applet的局限性在客户端主机的文件系统中读/写受限不能运行客户端主机的任何程序仅能在服务器和客户端之间建立联系importjava.awt.Graphics;importjava.applet.Applet;publicclassMyAppletextendsApplet{ publicStrings; publicvoidinit(){s=newString("HelloWorld!");} publicvoidpaint(Graphicsg){g.drawString(s,25,25);}}Applet举例1-3:MyApplet.javaGraphics类使得applet绘制直线、矩形、椭圆形、字符串等。方法init()初始化,实现了字符串的创建。方法paint()中g为Graphics类的对象。调用了Graphics的drawString方法绘制字符串。此方法执行的结果就是从坐标(25,25)开始绘制出字符串HelloWorld!。HTML文件:MyApplet.html<html><head><title>MyApplet</Applet></head><body><appletcode=MyApplet.classwidth=400height=400></applet></body></html>用Java自带的appletviewer命令运行网页:appletviewerMyApplet.html运行在服务器端,响应客户端请求,扩展了服务器的功能运行Servlet需要服务器的支持,需要在服务器中进行部署所有的servlet都必须实现Servlet接口1.3.3Servlet程序importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassMyFirstServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//设置编码,解决中文问题response.setContentType("text/html;charset=gb2312");PrintWriterout=response.getWriter();Servlet举例1-4:out.println("<html>");out.println("<head>");out.println("<title>Servlet应用程序</title>");out.pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版金融机构保安劳务派遣与风险管理合同
- 二零二五年新能源汽车电池生产技术转移合同范本
- 二零二五年度施工现场安全文明施工标准化管理合同
- 2025版购车合同详细规定汽车经销商车辆销售及售后服务规范
- 二零二五年度合同争议解决保证合同模板范本
- 二零二五年化妆品ODM生产服务协议
- 2025年高科技产业园区环境安全与健康管理服务合同
- 二零二五年度数据中心IDC业务智能化改造合同
- 2025版突发事件应急处置与安保服务合同
- 2025版GVANGJSIHCWNGBAU智能家居系统设计与安装合同
- GB/T 25390-2024风能发电系统风力发电机组球墨铸铁件
- 2023年招标代理公司组织架构、部门职能、商业模式、行业现状研究
- 路桥测量知识讲座
- 2022-2023学年福建省三明市高二(下)期末生物试卷(含解析)
- 方太燃气热水器电商用户调研报告(定量部分)-JCY(2017-10-29)
- 星火四级电子表格词汇表a
- HJT电池组件工艺
- 医院收费价格注意培训课件
- 2024届黑龙江省哈师大附属中学物理高二下期末统考试题含解析
- 护士重症监护室护理的进修
- 康复科护理中的疼痛管理
评论
0/150
提交评论