




已阅读5页,还剩296页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计之网络编程(第2版),重庆大学计算机学院,教学课件,第1章 Java语言概述 第2章 数据类型及其运算 第3章 程序控制语句 第4章 面向对象程序设计基础 第5章 面向对象高级程序设计 第6章 字符串处理 第7章 Java标准类库 第8章 Java异常处理 第9章 输入输出处理 第10章 线程 第11章 GUI程序设计 第12章 Applet应用程序 第13章 JDBC 第14章 网络通讯,第1章 Java语言概述,主要内容:,1.1 Java语言的产生及其特点 1.2 Java运行环境与开发环境 1.3 Java程序举例 1.4 其他集成运行环境(IDE),1.1 Java语言的产生及其特点,1.1.1 Java语言发展简史 1.1.2 Java虚拟机 1.1.3 Java平台是不断扩展的计算平台 1.1.4 Java语言的特点 1.1.5 Java与C/C+语言的异同,James Gosling,JavaONE 大会,美国旧金山时间2005年6月28日上午,在由全球10000多名开发人员出席的“2005 Java One开发者大会”上,Sun公司董事长兼首席执行官Scott McNealy先生向Java技术发明者、Sun公司副总裁James Gosling先生颁发了“终身成就奖”,这不仅是Sun公司对James Gosling先生十多年来创新性工作的充分肯定,同时更是Java经济全社会对James Gosling先生的十年贡献的肯定与感谢。经过十年的发展,Java技术已经成为世界上最卓越的企业应用和移动应用开发平台之一,历史上从没有过像Java这样的平台能够如此广泛地被应用,目前全球Java经济价值已经超过1,200亿美元。,Java经济蓬勃发展,James Gosling先生出生于加拿大的一个小村庄,1983年他获得了美国卡耐基梅隆大学的计算机学博士学位,毕业后曾经效力于IBM,后转而加盟Sun。1990年,Sun公司开始组建团队研究“绿色计划”,Sun认为计算机技术发展的一个趋势是数字家电之间的通讯。 James Gosling开始负责为设备和用户之间的交流创建一种能够实现网络交互的语言。这种语言在1992年9月3日开始应用于Sun工作站的远程遥控。1995年5月,Sun公司正式发布Java编程语言及平台,由此引发全球Java开发与应用的热潮。从此,James Gosling先生也多了一个“Java之父”的称号。,Java经济蓬勃发展,十年来,Java编程语言及平台成功地应用在网络计算及移动等各应用领域,比如移动电话、个人电脑、跨国金融系统和卫星通讯等。据统计,目前全球运行Java的设备已达到25亿,Java开发人员超过450万,基于Java技术的智能卡达10亿,基于Java技术的手机达7.08亿,采用Java技术的PC机达7亿,JCP(Java Community Process,Java社区进程)成员达912个,运营商们部署Java平台140多个。 当初Sun公司推出Java时提出的口号是:“编写一次,到处运行”。十年来,Java的跨平台和开放特性已经得到公认,此外,Java语言还具有众多优秀特性,包括面向对象、类似于C和C+的表达语法、良好的安全性等,在许多方面成为Cobol和C+等语言的继任者,受到全球开发人员的青睐,并已成为企业级业务应用的首选开发平台。,1.1.1 Java语言发展简史,1991年,当初Sun公司的 James Gosling开展了一个名为“Green”的项目,主要目的是开拓消费类电子产品市场,即OAK语言 ,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器. 1993 年交互式电视和 PDA 市场开始滑坡,而 Internet 正处于增长时期,因此Sun 公司将目标市场转向 Internet 应用程序。 1995年5月23,Sun World大会,正式发布这项技术 1995年Sun 公司的 HotJava 浏览器问世 1996年 发布了Java1.0 1997年2月,Java的开发包Java v1.1发布 1998年12月,Sun公司发布了Java2平台。 2003年发布了 J2sdk 1.4 2004年,发布J2sdk 1.5(J2SE 5.0 /J2sdk1.5.0),Green项目介绍,Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、PDA等。Sun内部人员把这个项目称为Green,那时WorldWideWeb还在图纸上呢。该小组的领导人是JamesGosling,是一位非常杰出的程序员。他出生于1957年,于1984年加盟SunMicrosystems公司,之前在一家IBM研究机构工作。他是SunNeWs窗口系统的总设计师。也是第一个用C实现的EMACS的文本编辑器COSMACS的开发者。在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。,Green项目介绍,Patrick Naughton也是Sun公司的技术骨干,曾经是OpenWindows项目的负责人。当Naughton加入该小组后,整个工作进展神速。经过17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言(Java)、一个用户界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做了一次展示和鉴定,观众的反应是:在各方面都采用了崭新的、非常大胆的技术。,James Gosling(詹姆斯戈士林 )介绍,James Gosling介绍,McNealy(司考特麦克尼利)介绍,McNealy(司考特麦克尼利 )介绍,Scott McNealy是Sun公司的共同创始人之一。McNealy于1984年开始担任Sun公司CEO,带领Sun走上了持续增长的道路。在快速发展而又难以预料的IT行业中,McNealy以其独到的战略眼光和敏锐的商业洞察力成为业界最具影响力、最常被人提及的领导者之一。McNealy关于计算的见解经常准确地预测了行业的发展趋驱势。10多年来,McNealy 一直在演进Sun的理念“网络就是计算机”。商业周刊最近就撰文称:“Sun之星从未遥不可及,McNealy的计算构想也从不曾失约。” McNealy毕业于哈佛大学,获经济学学士学位,之后获得斯坦福大学MBA学位。 McNealy两年的斯坦福大学经历造就了一个今天广为人知的企业Sun。,1.1.2 Java虚拟机,Java虚拟机(Java Virtual Machine, JVM)是软件模拟的计算机,可以在任何处理器上(无论是在计算机中还是在其它电子设备中)安全并且兼容的执行保存在.class文件中的字节码。Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机环境的计算机或者电子设备上运行。Java虚拟机中的Java解释器(java.exe)负责将字节码文件解释成为特定的机器码并执行。但是,Java虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类。目前在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上,在UNIX、Linux、Windows和部分实时操作系统上都实现了Java虚拟机。,1.1.3 Java是不断扩展的计算平台,企业计算: Java 2 Enterprise Edition (J2EE) 桌面计算: Java 2 Standard Edition (J2SE) 嵌入计算: Java 2 Micro Edition (J2ME) 为了满足不同应用领域的需求,Java提供了许多API(Application Programming Interface),这些API分成以下三大类。 1)、Java Core API:由Sun制定的基本API,任何Java平台都必须提供。 2)、Java Standard EXtension API(javax):由Sun制定的扩充API,Java平台可以选择性地提供或加装。 3)、厂商或组织所提供的API:由各家公司或组织所提供。,1.1.3 Java是不断扩展的计算平台,J2EE,J2SE,J2ME,1.1.4 Java语言的特点,Java语言还具有简单、面向对象、分布式、健壮、安全、结构中立、可移植、多线程、动态等特点。 1)简单 Java的风格类似于C、C+ , Java提供了丰富的类库 , Java虚拟机很小 2) 面向对象 把数据和对该数据的操作都封装在一个类中 3)分布式 Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库 4)健壮 Java致力于检查程序在编译和运行时的错误。,1.1.4 Java语言的特点,5)安全 指针和释放内存等原C+功能被删除,避免了非法内存操作, Java虚拟机采用“沙箱“运行模式 6) 结构中立 Java源程序被编译成一种高层次的与机器无关的bytecode格式语言(伪代码),这种语言被设计在虚拟机上运行,由机器相关的解释器实现执行 7)可移植 同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。,1.1.4 Java语言的特点,8)多线程 Java提供的多线程功能使得在一个程序里可同时执行多个小任务 9) 动态 Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要类,这是利用C+语言进行面向对象程序设计所无法实现的,1.1.5 Java与C/C+语言的异同,Java语言是一种功能强大语言,但几乎没有一点含混的特征。C+安全性不好,但C和C+还是被大家所接受,所以Java使用了类似于C/C+的语法,而去除了C/C+中许多不合理的内容,以实现其简单、健壮、安全等特性。下面列出几点主要的区别: 1) 全局变量 2) 指针 3) 内存管理 4) 类型转换 5) 结构和联合 6) 预处理,第1章 Java语言概述,1.1 Java语言的产生及其特点 1.2 Java运行环境与开发环境 1.3 Java程序举例 1.4 其他集成运行环境,1.2 Java运行环境与开发环境,1.2.1 Java运行环境 1.2.2 Java SDK开发环境 1.2.3 JDK开发环境工具简单介绍,1.2.1 Java运行环境,如果只想运行别人的Java 程序可以只安装Java 运行环境(Java Runtime Environment,JRE),JRE 由Java 虚拟机、Java 的核心类、以及一些支持文件组成。可以登陆Sun公司的网站/j2se免费下载Java 的JRE,例如可以根据提示下载支持Microsoft Windows操作系统的JRE文件jre-1_5_0_04-windows-i586-p.exe。安装时可以选择了默认的安装路径,也可以更改路径.,1.2.1 Java运行环境,1.2.2 Java SDK开发环境,1. 安装Java Development Kit(JDK) Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。本书将使用JDK版本JDK5.0版(也就是J2SE5.0)。可以通过IE或Netscape浏览器浏览网址:/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:jdk1.5.0目录下,如下图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。,1.2.2 Java SDK开发环境,1.2.2 Java SDK开发环境,1.2.2 Java SDK开发环境,2. 环境变量的设置 设置环境变量的目的是为了能够正常使用所安装的JDK开发包。通常,我们需要设置三个环境变量:JAVA_HOME、PATH 和 CLASSPATH。 1)、 JAVA_HOME 该环境变量的值就是 Java 所在的目录,一些 Java 版的软件和一些 Java 的工具需要用到该变量,设置 PATH 和 CLASSPATH 的时候,也可以使用该变量以方便设置。 2)、 PATH 该环境变量指定一个路径列表,用于搜索可执行文件。执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找 PATH 中的每一个路径,直至找到。或者找完 PATH 中的路径也不能找到,则报错。Java 的编译命令 (javac),执行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安装路径下的 bin 目录中。,1.2.2 Java SDK开发环境,3)、 CLASSPATH 该环境变量也指定一个路径列表,是用于搜索 Java 编译或者运行时需要用到的类。在 CLASSPATH 列表中除了可以包含路径外,还可以包含 .jar 文件。Java 查找类时会把这个 .jar 文件当作一个目录来进行查找。通常,我们需要把 JDK 安装路径下的 jrelibrt.jar 包含在 CLASSPATH 中。,1.2.2 Java SDK开发环境,设置环境变量有三种方法: 1)修改系统自动批处理文件,1.2.2 Java SDK开发环境,2) 在系统特性中设置PATH和CLASSPATH。 对于Window2000/NT/XP操作系统,用鼠标右键点击”我的电脑”,弹出菜单,然后选择属性,弹出”系统特性”对话框,再单击该对话框中的高级选项,然后点击按钮”环境变量”,添加如下的系统环境变量 变量名: JAVA_HOME 变量值: d:jdk1.5.0 (其内容应根据JDK安装目录变化) 变量名: PATH 变量值: d:jdk1.5.0bin;%path% (其内容应根据JDK安装目录变化) 变量名: CLASSPATH 变量值: .; d:jdk1.5.0jrelibrt.jar;(其内容应根据实际情况变化),1.2.2 Java SDK开发环境,1.2.2 Java SDK开发环境,3) 在MS-DOS命令行窗口设置 也可以在MS-DOS命令行键入下列命令后,回车确认,例如 set JAVA_HOME=d:jdk1.5.0; set PATH=d:jdk1.5.0bin;%PATH%; set CLASSPATH = .;d:jdk1.5.0jrelibrt.jar; 注意,这种方式设置的环境变量只对本DOS窗口有效。,1.2.2 Java SDK开发环境,3、安装Java帮助文档 由于JDK的安装程序中并不包含帮助文档,因此必须从Sun的网站上下载进行安装。可以通过IE或Netscape浏览器浏览网址:/j2se,根据提示可以下载jdk-1_5_0-doc.zip到本地硬盘。通常安装在JDK所在目录的docs子目录下面。用浏览器打开docs子目录下的index.html文件就可以阅读到该帮助文档的首页,1.2.2 Java SDK开发环境,1.2.2 Java SDK开发环境,1.2.2 Java SDK开发环境,1.2.3 JDK开发环境工具简单介绍,第1章 Java语言概述,1.1 Java语言的产生及其特点 1.2 Java运行环境与开发环境 1.3 Java程序举例 1.4 其他集成运行环境,Java程序分成三类: Application(应用程序) Applet(小程序) Servlet(服务器端小程序) 应用程序在计算机中单独运行,而小程序只能嵌在HTML网页中运行。这需要一些网页知识。Servlet是运行在服务器端的小程序,它可以处理客户传来的请求(request),然后传给客户端(response)。本节的例子将采用notepad作为程序的编辑器,然后在JDK5.0平台下运行。,1.3 Java程序举例,Java程序分成三类: Application(应用程序) Applet(小程序) Servlet(服务器端小程序) 应用程序在计算机中单独运行,而小程序只能嵌在HTML网页中运行。这需要一些网页知识。Servlet是运行在服务器端的小程序,它可以处理客户传来的请求(request),然后传给客户端(response)。本节的例子将采用notepad作为程序的编辑器,然后在JDK5.0平台下运行。,1.3.1 简单的Java应用程序,下面我们先介绍简单的Java程序,并对其进行分析。 【例1-1】要求在命令行窗口显示“Hello Wolrd!”。 我们将该文件命名为HelloWorldApp.java,其源程序如下: / HelloWorldApp.java public class HelloWorldApp /一个应用程序 public static void main(String args) System.out.println(Hello World!); ,1.3.1 简单的Java应用程序,程序也可写成如下形式: / HelloWorldApp.java public class HelloWorldApp /一个应用程序 public static void main (String args) System.out.println(Hello World!); 首先把它放到一个名为HelloWorldApp.java的文件中,这里,这文件名应和类名相同,而且大小敏感,因为Java解释器要求公共类必须放在与其同名的文件中。,1.3.1 简单的Java应用程序,程序也可写成如下形式: / HelloWorldApp.java public class HelloWorldApp /一个应用程序 public static void main (String args) System.out.println(Hello World!); Java解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只有有一个公共类,main()方法也只能有一个,作为程序的入口。在main()方法定义中,括号()中的String args是传递给main()方法的参数,参数名为args,它是类String的一个实例,参数可以为0个或多个,多个参数间用逗号分隔。,1.3.1 简单的Java应用程序,程序也可写成如下形式: / HelloWorldApp.java public class HelloWorldApp /一个应用程序 public static void main(String args) System.out.println(Hello World!); 在main()方法的实现(大括号内) 中,只有一条语句: System.out.println(Hello World!); 它用来实现字符串的输出,这条语句实现与C语言中的printf语句和C+中cout语句相同的功能。另外,/后的内容为注释。,1.3.1 简单的Java应用程序,程序也可写成如下形式: / HelloWorldApp.java public class HelloWorldApp /一个应用程序 public static void main(String args) System.out.println(Hello World!); 在程序中,首先用保留字class来声明一个新的类,其类名为HelloWorldApp,它是一个公共类(用public修饰)。整个类定义由大括号 括起来。在该类中定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。,1.3.1 简单的Java应用程序,1.3.1 简单的Java应用程序,该文件保存在d:userchap01目录下。然后对它进行编译: d:userchap01javac HelloWorldApp.java 编译的结果是生成字节码文件HelloWorldApp.class。最后用java解释器来运行该字节码文件: d:userchap01java HelloWorldApp 结果在命令行窗口屏幕上显示HelloWorld!,1.3.1 简单的Java应用程序,【例1-2】程序SimpleInput.java完成从命令行输入简单的双精度。该程序演示如何使用引用包以及如何在命令窗口输入数据。 / SimpleInput.java,1.3.1 简单的Java应用程序,import java.io.*; /引入该程序需要的类所在的包 public class SimpleInput public static void main(String args) throws IOException String s; BufferedReader ir=new BufferedReader( new InputStreamReader(System.in); s=ir.readLine(); System.out.println(“Input value is:“+s); double d=Double.parseDouble(s); /将s 转换成double型 System.out.println(“Input value changed after doubled:“+Math.sqrt(d); ,1.3.1 简单的Java应用程序,在JDK5.0中提供了java.util. Scanner类,可以直接从输入流读取简单数据。例如 import java.util.Scanner; public class TestScanner public static void main(String args) Scanner cin = new Scanner(System.in); int a = cin.nextInt(), b = cin.nextInt(); System.out.println(a + b); System.out.printf(“+ Math.PI); System.out.format(“%4d%4d“,a,b); System.out.format(“Pi is approximately %f“, Math.PI); ,1.3.1 简单的Java应用程序,输入: 123 456 输出: 579 3.141592653589793 123 456Pi is approximately 3.141593Finished executing,1.3.1 简单的Java应用程序,【例1-3】从m个数中抽出n个数,试计算中奖的概率。该例演示如何从可视化组件输入数据并转换成整形数据,然后从命令窗口输出数据。 / Proba.java,1.3.1 简单的Java应用程序,/ Proba.java import javax.swing.*; public class Proba public static void main(String args) String input= JOptionPane.showInputDialog(“你希望抽取多少个数?“); int k=Integer.parseInt(input); input=JOptionPane.showInputDialog(“一共有多少个数? “); int n=Integer.parseInt(input); int result=1; for(int i=1;i=k;i+) result=result*(n-i+1)/i; System.out.println(“你中奖的几率是1/“+result+“); System.exit(0); ,1.3.2 简单的Applet小程序,下面的例子将演示Applet在网页中的应用。 【例1-4】 该程序的目的是在浏览器中显示“Hello World in Applet!” / HelloWorldApplet.java import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet /一个小程序 public void paint(Graphics g) g.drawString(“Hello World in Applet!”,20,20); ,1.3.2 简单的Applet小程序,import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet /一个小程序 public void paint(Graphics g) g.drawString(“Hello World in Applet!”,20,20); 这是一个简单的Applet(小应用程序)。程序中,首先用import语句输入java.awt和java.applet下所有的包,使得该程序可能使用这些包中所定义的类,它类似于C中的#include语句。然后声明一个公共类HelloWorldApplet,用extends指明它是Applet的子类。在类中,我们重写父类Applet的paint()方法,其中参数g为Graphics类,它表明当前作画的上下文。在paint()方法中,调用g的方法drawString(),在坐标(20,20)处输出字符串“Hello World in Applet!”,其中坐标是用象素点来表示的。,1.3.2 简单的Applet小程序,import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet /一个小程序 public void paint(Graphics g) g.drawString(“Hello World in Applet!”,20,20); 这个程序中没有实现main()方法,这是Applet小程序与应用程序Application运行机制的主要区别之一。为了运行该程序,首先我们也要把它放在文件HelloWorldApplet.java中,然后对它进行编译: d:userchap01javac HelloWorldApplet.java 得到字节码文件HelloWorldApplet.class。,1.3.2 简单的Applet小程序,由于Applet中没有main()方法作为Java解释器的入口,我们必须编写HTML文件,把该Applet嵌入其中,然后用appletviewer来运行,或在支持Java的浏览器上运行,如IE。 ExampleApplet.html文件如下: An Applet ,1.3.2 简单的Applet小程序,其中用标记来启动HelloWorldApplet.class指明字节码所在的文件,width和height指明applet所占的大小,我们把这个HTML文件存入ExampleApplet.html,然后使用appletviewer工具来运行该网页,如下: d:userchap01appletviewer ExampleApplet.html 这时屏幕上弹出一个窗口,其中显示Hello World in Applet!,1.3.3 Servlet,Java Servlet和Java Applet正好是相对应的两种程序类型。Applet运行在客户端,在浏览器内执行,而Servlet在服务器内部运行,通过客户端提交的请求启动运行,并将结果还回给客户端或调用它的程序。 进一步学习,请参考本书的第17章相关内容。,1.4 其他集成运行环境,现在常用的Java项目开发环境有:Eclipse 、JBuilder、Sun Java Studio、IntelliJ IDEA、Java Workshop、NetBeans IDE、Gel+J2SDK、JCreator +J2SDK、JDK+记事本、EditPlus+J2SDK等等。上节中的例子就是采用的“JDK+记事本”的环境。针对不同的软件系统规模和不同的应用领域,可以采用适合自己开发的工具。下面将介绍三款流行的开发工具。,1.4 其他集成运行环境,1、GEL GEL为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。 GEL小巧,同时很好的支持汉字。与JDK完美无逢集成。缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。非常适合初学者学习使用Java。 其下载地址为/download.html。目前最新版本为 Gel version 1.0 RC39, 4.3MB。其开发界面如图,1.4 其他集成运行环境,1.4 其他集成运行环境,2. Eclipse Eclipse是一种可扩展的免费开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。 Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。目前Eclipse联盟已推出其Eclipse3.1版软件,这是一款非常受欢迎的Java开发工具,这国内的用户越来越多,实际上用它开发Java的人员是最多的。用户可从下载最新版本。其开发界面如图1-15。,1.4 其他集成运行环境,1.4 其他集成运行环境,3.JBuilder JBuilder是一款大型的Java集成开发环境,它能满足很多方面的应用,尤其是对于服务器和EJB开发。下面简单介绍一下JBuilder的特点: JBuilder支持最新的Java技术,包括Applet、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的应用。 用户可以自动地生成基于后端数据库表的EJB Java类,JBuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言,Interface Definition Language)和控制远程对象。 JBuilder 加速了企业JavaBeans,WEB服务器,XML,移动产品和数据库应用开发,双向可视化设计工具和迅速调用J2EE应用服务器,这些应用服务器包括BEA WebLogic, IBM WebSphere, Sybase EAServer, JBoss, 和 integrated Borland Enterprise Server。拥有创新强大的JavaServer Faces, Struts, 和 Web服务设计工具,支持JDK 5.0 (J2SE 5.0), UML代码可视化,分布式因子分解,代码审核,企业单位测试,支持多语控制系统。,1.4 其他集成运行环境,JBuilder能用Servlet和JSP开发和调试动态Web 应用。 利用JBuilder可创建(没有专有代码和标记)纯Java2应用。由于JBuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。 JBuilder拥有专业化的图形调试界面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。 JBuilder环境开发软件很方便,它是纯的Java 开发环境,适合企业的J2EE开发;缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,内存开销大,这时运行速度显得较慢。其开发界面如图1-16。,1.4 其他集成运行环境,课后作业:,分别用JDK、GEL和Eclipse编写能输出“Hello World!”的Java应用程序和小程序。,第2章 数据类型及其运算,重庆大学计算机学院,主要内容,2.1标识符和关键字 2.2常量和变量 2.3基本数据类型 2.4运算符 2.5表达式 2.6数组,标识符,标识符 :为程序中的各个元素进行命名 . 一般地,在Java 中标识符是以字母、下划线(_)、美元符号($)等其它货币符号(如, )开始的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符。 Java语言使用Unicode字符集 标识符是大小写敏感的,没有最大长度的限制,不能和关键字相同,标识符,总体来说定义标识符可以使用的字符包括: 大小写字母、数字; Unicode字符集中编号大于0xC0的所有字符。 凡是用Character.isJavaIdentifierStart() 返回true,都可作为首字符,Character. isJavaIdentifierPart()返回true,都可作为标识符的一部分。 合法的标识符: Body,_test,$hello 非法标识符: 5Test,hello*,world#,class 注意:在中文环境下,可以使用汉字作为标识符。例如,int 中文=5;,练习题,Which declarations of identifiers are legal? $persons TwoUsers *point this _endline,关键字,所有的关键字都是小写的。如果被大写,就不是关键字了 。 用于数据类型的关键字 byte short int long float double char boolean 用于流程控制语句的关键字 if else switch case default do while for break continue 方法、类型、变量的修饰关键字 private public protected final static abstract synchronized volatile 异常处理关键字 try catch finally throw throws,关键字,对象相关关键字 new extends implements class instanceof this super 字面值常量关键字 false true null 方法相关关键字 return void 包相关关键字 package import,练习题,Which of the following are Java keywords? 1) NULL 2) new 3) instanceOf 4) wend,注释,单行注释 单行注释以“/”开头,至该行结尾,其格式如下: 多行注释 /* 注释文本 */ 文档注释 /*注释文本 *注释文本 * */,主要内容,2.1标识符和关键字 2.2常量和变量 2.3基本数据类型 2.4运算符 2.5表达式 2.6数组,变量,修饰符 =,=.; int i; int j=5,k=4; 作用域分,变量大致可分为:局部变量、类成员变量、方法参数、异常处理参数。,变量作用域,局部变量是在方法内部或代码块中声明的变量,它的作用域为它所在的代码块,在程序设计中,以“ ”为界。 类成员变量,它的作用域是整个类。又可以细分为静态变量和实例变量 方法参数的作用域,是它所在的方法 异常处理参数的作用域,是它所在的异常处理部分 变量隐藏 (按作用域的大小),常量,整形常量234,实型常量23.4,字符常量a,布尔常量true和false,以及字符串常量“hello world!” final关键字(后面还会碰到) final int MAX=100; final int MAX_LOOP=5;,主要内容,2.1标识符和关键字 2.2常量和变量 2.3基本数据类型 2.4运算符 2.5表达式 2.6数组,数据类型分类,数据类型,Java的基本数据类型都有固定的数据位,不随运行平台的变化而变化。 引用类型都是用类或对象实现的。 布尔类型 boolean b=false;,字符类型,一个字符用一个16位的Unicode码表示 char c,c1=a; 中的Unicode码是u4e2d 整数和字符型数据在一起运算 字符向整数转换,整数类型,Java中的整数有三种进制形式表示: 十进制:用09的数值表示,首位不能为0,例如:124,-100; 八进制:以0开头,后跟多个07之间的数字,如0134; 十六进制:以0x或者0X开头,后跟多个09之间的数字、或AF之间的的大写字、或者af之间的小写字母。af或者A-F分别表示1015,例如,0x23FE,等于十进制数9214。,整数类型,在表示long型常量时,需要在数字后面加上后缀L或者l。例如3L表示一个long型的常量,而不是int型常量。,浮点类型,一个浮点数隐含为double型。在一个浮点数后加字母F或f,表示float型。常量值3.45的类型是double;3.45F的类型是float。,各类型数据间的相互转换,自动类型转换 从低级到高级发生自动类型转换。从表达范围小的类型向表达范围大的类型发生自动类型转换。不同数据类型的转换如下所示: 低- -高 byte,short,char- int long float double 注意:byte,short和char在一起运算时,首先转换为int类型进行运算。 【例2-1】分析下面程序中的错误。 byte b1=5; short s1=6; short s2 ; s2=b1+s1;,类型转换,强制类型转换 由高级向低级数据类型转换时,需要强制类型转换。例如: int i65; char c; c=(char)i; / 把int型变量转换成char型,需要强制类型转换。,练习题,Which of the following are legal statements? 1) float f=1/3; 2) int i=1/3; 3) float f=1.01; 4) double d=999d;,主要内容,2.1标识符和关键字 2.2常量和变量 2.3基本数据类型 2.4运算符 2.5表达式 2.6数组,算数运算符,算数运算符的特点,对于二元运算符,运算结果的数据类型一般为两个操作数中表达范围较大的类型。例如,一个整数和浮点数运算的结果为浮点数。 对于一元运算符,运算结果的类型与操作数的类型相同。 自增、自减运算符有前缀和后缀两种形式,当是前缀形式(即+、-符号出现在变量的左侧)时,对变量实施的运算是“先运算后使用”; 当是后缀形式(即+、-符号出现在变量的右侧)时,对变量实施的运算是“先使用后运算”。,算数运算符的注意事项,在Java中,“%“(求模运算符)的操作数可为浮点数,如52.3%10=2.3; Java对“+“运算进行了扩展,可作字符串连接运算符,如“ab“+“efd“得“abefd“; 做“+“运算时,如果一个操作数是字符串,其它操作数自动转换成字符串.如: String s; s=“s:“+4*5; /结果是s=“s:20“; byte,short,char等类型进行混合运算时,会先自动转换为int类型再运算。,赋值运算符,j=i+20;,条件运算符,(boolean_expr)? true_statement:false_statement; result=sum=0?100:2*num;,位运算符,Java 用补码表示二进制数 1表示为二进制为 00000000 00000000 00000000 00000001(4个字节) -1表示为二进制为 11111111 11111111 11111111 11111111 (4个字节),位运算符,注意事项,除 为右结合外,其余为左结合。 操作数的类型一般为整型或字符型。&,|,三个运算符可以用于boolean。 “右移是用符号位来填充右移后留下的空位,“是用零来填充空位. 若两个数据的长度不同,如a&b,a为byte型,b为int型,系统首先会将a的左侧24位填满,若a为正,则填满0,若a为负,填满1即进行“符号扩充”。,举例:按位与运算符&,举例,51的 结果,逻辑运算符,逻辑运算只能处理布尔类型的数据,所得结果也是布尔值 逻辑运算符支持短路运算,主要内容,2.1标识符和关键字 2.2常量和变量 2.3基本数据类型 2.4运算符 2.5表达式 2.6数组,表达式,表达式是程序设计语言的基本组成部分,表示一种求值的规则,是由运算符和操作数组成的符号序列。 表达式的运算结果的类型,就是表达式的类型 在对表达式进行运算时,遵循一定的规则,要按运算符的优先级从高到低进行,同级的运算符则按从左到右的方向进行。,表达式,几个特点,赋值运算符的优先级最低
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 檩条制作加工合同范本
- 厂房泥工劳务合同范本
- 国有土地使用权出让合同(示范)5篇
- 职测综合类题目及答案
- 新产品研发协议的实施细则
- 2025年师德师风自查报告及整改措施
- 2025年山西省运城市事业单位工勤技能考试题库(含答案)
- CN120304307A 一种母猪福利分娩哺育栏 (河南省农业科学院畜牧研究所)
- CN120195828A 一种光缆及其制备方法 (江苏通光信息有限公司)
- CN120160204A 一种节能型室外压缩机用防震装置 (安徽润安思变能源技术有限公司)
- GB/T 6219-1998半导体器件分立器件第8部分:场效应晶体管第一篇1GHz、5W以下的单栅场效应晶体管空白详细规范
- GB/T 35081-2018机械安全GB/T 16855.1与GB/T 15706的关系
- GA/T 72-2013楼寓对讲电控安全门通用技术条件
- 2023年赣州市建兴控股投资集团有限公司招聘笔试题库及答案解析
- 从课本到奥数课件
- 人类行为与社会环境全套课件
- (全国通用)三甲人民医院诊断证明书请假条模板(广东佛山)
- 部编版一年级上册语文研课标说教材课件
- 最新VTE指南解读(静脉血栓栓塞症的临床护理指南解读)
- 旅行社计调实务课件完整版电子教案
- 乌有先生传(原文+注释+译文)精编版
评论
0/150
提交评论