java编程.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《java编程.pdf》由会员分享,可在线阅读,更多相关《java编程.pdf(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、11 1 11、JavaJavaJavaJava历史及发展历史及发展历史及发展历史及发展Java 是一种解释型的、面向对象的编程语言。历史:1991 年,SUNMicroSystem 公司的 Jame Gosling、Bill Joe 等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为 Oak的软件。发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1994 年以来)应用:适于开发各种应用,尤其是基于网络的应用、嵌入式应用等。2 2 22、JavaJavaJavaJava语言特点语言特点语言特点语言特点Java=“C+”-“复杂性和奇异性”+“安全性和
2、可移植性”(1)(1)(1)(1)面向对象面向对象面向对象面向对象Java 语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。(2)(2)(2)(2)操作平台无关性操作平台无关性操作平台无关性操作平台无关性j a v a 编程2严格的语言定义:没有“依据机器的不同而不同”或“由编译器决定”等字眼,最后的目标码都是一致的。Java 解释器生成与体系结构无关的字节码指令,只要安装了 Java 运行时系统,Java 程序就可
3、在任意的处理器上运行。这些字节码指令对应于 Java 虚拟机中的表示,Java 解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。源源源源程程程程序序序序Java编译器SPARCSPARCSPARCSPARCpentiumpentiumpentiumpentiumPowerpcPowerpcPowerpcPowerpc中中中中间间间间码码PowerpcPowerpcPowerpcPowerpcpentiumpentiumpentiumpentiumSPARCSPARCSPARCSPARC二进制源源源源程程程程序序序序SPARCSPARCSPARCSPARCPowerpcPowerpc
4、PowerpcPowerpcpentiumpentiumpentiumpentiumPowerpcPowerpcPowerpcPowerpcpentiumpentiumpentiumpentiumSPARCSPARCSPARCSPARC编译器二进制Java解释器编译型和解释型语言的工作模式编译型和解释型语言的工作模式编译型和解释型语言的工作模式编译型和解释型语言的工作模式类、类库装载(库)链接3不同的操作系统有不同的虚拟机。它类似一个小巧而高效的 CPU。Bytecode 代码是与平台无关的是虚拟机的机器指令。Java 字节代码运行的两种方式:interpreter(解释方式)Just-in-
5、time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行.(3)安全问题Java 是在网络环境下使用的语言,一个安全的网络至少要防止以下编译,没有绝对地址调入包含、继承所用到的所有类,内存分配确定,变成真正可执行的机器码Java源程序(.(.(.(.javajavajavajava文件文件)Java编译器JavaBytecBytecBytecBytecodeodeodeode(.class(.class(.class(.class文件文件)系统执行平台Bytecode 解释器Bytecode载入器字节码校验器不存在伪造的指针不违反访问权限不非法访问对象不导致操作
6、栈溢出JavaJavaJavaJava的编译与执行的编译与执行的编译与执行的编译与执行JavaJavaJavaJavainterpreterinterpreterinterpreterinterpreterJust-in-timeJust-in-timeJust-in-timeJust-in-timecompilercompilercompilercompilerRuntimeRuntimeRuntimeRuntimeSystemSystemSystemSystemOperatingOperatingOperatingOperatingSystemSystemSystemSystemHardw
7、areHardwareHardwareHardware4几种破坏的可能性:毁灭系统资源消耗系统资源挖掘系统或个人机密骚扰正常工作的进行Bytecode 的运行加载代码由 class(Bytecode)loader 完成。校验代码由 Bytecode verifier 完成。执行代码由 runtime interpreter 完成。5(4)多线程Java 提供现成的类 Thread,只要继承这个类就可以编写多线程的程序。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容
8、易地实现网络上的实时交互行为。(5)可移植性(跨越多个平台)(6)分布性(克服空间上的障碍)(7)高性能(相对于其他解释型语言)Java源程序(.java文件)Java编译器Java Bytecode(.class文件)Bytecode 载入器Bytecode 解释器系统执行平台语言定义publicpublicpublicpublicprotectedprotectedprotectedprotectedprivateprivateprivateprivatefinalfinalfinalfinal取消指针自动回收垃圾Bytecode检查限定对象的存取权限系统堆栈溢出参数类型一致程序执行系统W
9、WW浏览器限制Java小应用程序的不正当使用JavaJavaJavaJava的安全措施的安全措施的安全措施的安全措施6(8)健壮性((9)Java 与 C 及 C+的区别不再有全局变量不再有#include 和#define 等预处理功能不再有 structure、union 及 typedef 等不再有函数、不再有指针、不再有多重继承不再有 goto 语句不再有操作符重载(Operatior Overloading)取消自动类型转换,要求强制转换自动进行内存管理3 3 33JavaJavaJavaJava开发工具包括:开发工具包括:开发工具包括:开发工具包括:Javac:Java 编译器,用
10、来将 java 程序编译成Bytecode。Java:Java 解释器,执行已经转换成 Bytecode 的java 应用程序。Jdb:Java 调试器,用来调试 java 程序。Javap:反编译,将类文件还原回方法和变量。javadoc:文档生成器,创建 HTML 文件。Appletviwer:Applet 解释器,用来解释已经转换成Bytecode 的 java 小应用程序。1.1.1.1.JavaJavaJavaJava程序结构:程序结构:程序结构:程序结构:package 语句:零个或多个,必须放在文件开始 import 语句:零个或多个,必须放在所有类定义之前 public7Cla
11、ssDefinition:零个或一个 ClassDefinition:零个或多个InterfaceDefinition:零个或多个类个数:至少一个类,最多只能有一个 public 类源文件命名:若有 public 类,源文件必须按该类命名标识符:区分大小写2.2.2.2.JavaJavaJavaJava应用程序(应用程序(应用程序(应用程序(JavaJavaJavaJavaApplicationApplicationApplicationApplication)类库支持:引用其他类。类定义:定义程序所需的类及接口,包括其内部的变量、方法等。main()方法:应用程序的入口,与标准 C 中 ma
12、in()函数的地位是一样的。一个应用程序有且只有一个 main()方法,main()方法必须包含在一个类中,该类即为应用程序的外部标志。程序注释:与C类似,/*/3.3.3.3.JavaJavaJavaJava小 程 序小 程 序小 程 序小 程 序(JavaJavaJavaJavaAppletAppletAppletApplet)类库支持:继承 Applet 类,引用其他类。类定义:定义程序所需的类及接口,包括其内部的变量、方法等。init()方法:初始化,自动调用,只执行一次。start()方法:初始化后,重入等都将自动调用。Applet的主体,在其中可以执行一些任务或启动相关的线程来执行
13、任务,如 paint()方法等。stop()方法:离开 Applet 所在页面时调用,以停止消耗系统资源。4.Java4.Java4.Java4.JavaApplicationApplicationApplicationApplication举例举例举例举例8public class HelloWorldApppublicpublicpublicpublicstaticstaticstaticstaticvoidvoidvoidvoidmainmainmainmain(String args)System.out.println(“Hello World!”);编辑存盘:文件名和公共类名(用
14、public 声明)要一致 HelloWorldApp.java编译程序:javac HelloWorldApp.java运行程序:java HelloWorldApp运行结果:Hello World!public class HelloWorldApppublicpublicpublicpublicstaticstaticstaticstaticvoidvoidvoidvoidmainmainmainmain(String args)System.out.println(“Hello World!”);声明一个类:public class HelloWorldApp,类名第一个字母大写。一个
15、类中可有很多方法,main 方法是运行程序的第一个方法,方法名的第一个字母小写。System.out.println 是向屏幕输出,相当于 C 中的 printf()。9class CommArgpublic static void main(String args)/Display command argumentsint i;if(args.length0)/havesomecommandargumentsfor(i=0;iargs.length;i+)System.out.println(arg+i+=+argsi);else/no command argumentSystem.out.
16、println(No arguments!);10命令行参数:main(String args),与标准C中main(int argc,char*argv)相似。字符串的拼接:arg+i+=+argsi。编译程序:javac HelloWorldApp.java运行程序(命令行参数获取):java CommArgfirst secondthird运行结果:arg0=firstarg1=secondarg2=thirdimport java.applet.*;import java.awt.*;public class HelloApplet extends Appletpublic Strin
17、g s;public void init()s=new String(“Hello World!”);public void paint(Graphics g)g.drawString(s,25,25);11编辑存盘:文件名和主类名一致编译代码:javac HelloApplet.java编写 HTML 文件:HelloApplet.htmlHello WorldJava 小应用程序不能直接执行和使用,必须要在浏览器中执行。运行 applet 程序:1.appletviewer MyTest.html2.在浏览器中运行 运行结果:Hello World!理解程序:import 语句相当于 C
18、语言中的 include。每一个 applet 都是 java.applet.Applet的子类,用extends 继承。applet 中没有 main()方法。当applet 被浏览器运行时,init()、start()方法等自动执行,再调用 paint()方法。12在 applet 中与屏幕输出有关的操作通过 Graphics 对象来实现。一个 Java 源文件内最多只能有一个 public类,称为主类,且文件名必须和它同名。import java.util.*;import java.awt.*;import java.applet.*;import java.text.*;public
19、 class MyTest extends AppletString s1,s2,s3,s4;public void init()s1=getParameter(p1);s2=getParameter(p2);s3=getParameter(p3);s4=getParameter(p4);public void paint(Graphics g)g.drawString(s1,10,10);g.drawString(s2,10,30);g.drawString(s3,10,50);13g.drawString(s4,10,70);编辑存盘:文件名和主类名一致编译代码:javac MyTest.
20、java编写 HTML 文件:MyTest.htmlApplet Parameter Test运行 applet 程序:1.appletviewer MyTest.html2.在浏览器中运行 运行结果:111111114222222233333334444444理解程序:从页面中获取 Applet 参数:s1=getParameter(p1);在页面中设置 Applet 参数:包、类、变量、方法等命名:要体现各自的含义。包名全部小写,io,awt类名第一个字母要大写,HelloWorldApp变量名第一个字母要小写,userName方法名第一个字母要小写,setName程序书写格式:保证良好的
21、可读性,使程序一目了然。大括号的使用与对齐语句段的对齐在语句段之间适当空行 程序注释:帮助了解程序的功能。类注释变量注释方法注释语句注释语句段注释15Chap2.Chap2.Chap2.Chap2.JavaJavaJavaJava语言基础语言基础语言基础语言基础任何程序设计语言,都是由语言规范和一系列开发库组成的。如标准C,除了语言规范外,还有很多函数库;MS Visual C+更是提供了庞大的 APIs 和 MFC。Java语言也不例外,也是由Java语言规范和Java开发类库(JFC)组成的。学习任何程序设计语言,都是要从这两方面着手,尤其是要能够熟练地使用后者。1 1 11、JavaJa
22、vaJavaJava数据类型数据类型数据类型数据类型2 2 22、JavaJavaJavaJava运算符和表达式运算符和表达式运算符和表达式运算符和表达式3 3 33、JavaJavaJavaJava控制语句控制语句控制语句控制语句4 4 44、JavaJavaJavaJava类定义规范类定义规范类定义规范类定义规范5 5 55、JavaJavaJavaJava数组数组数组数组6 6 66、JavaJavaJavaJava开发类库组成开发类库组成开发类库组成开发类库组成1 1 11、JavaJavaJavaJava数据类型数据类型数据类型数据类型(1 1 11)标识符)标识符)标识符)标识符程
23、序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。16合法的标识符identifieruserNameUser_Name_sys_value$change非法的标识符2mail room#class(2 2 22)保留字)保留字)保留字)保留字具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word)。abstractbreakbyteboolean catchcasecla
24、sscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinallyifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile(3 3 33)常量)常量)常量)常量用文字串来表示,具有不同的类型,其定义格式为:final
25、Type varName=value,varName=value;(4 4 44)变量)变量)变量)变量程序中的基本存储单元,其定义包括变量名、变量类型和作用域几个部分,定义格式为:17Type varName=value,varName=value;作用域:指可访问变量的一段代码,在程序中不同的地方声明的变量具有不同的作用域:局部变量、类变量、方法参数、例外处理参数。在一定的作用域内,变量名必须唯一。(5 5 55)数据类型)数据类型)数据类型)数据类型基本类型:所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。数据类型所占位数数的范围char16065535byte8-2727
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 编程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内