ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:305.92KB ,
资源ID:6263861      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6263861.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Java讲义》.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《Java讲义》.docx

1、Java讲义Java教案教师:吉胜军西安财经学院信息学院Chap1. 绪论1、Java历史及发展Java是一种解释型的、面向对象的编程语言。历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1994年以来)应用:适于开发各种应用,尤其是基于网络的应用、嵌入式应用等。2、Java语言特点Java= “C+” - “复杂性和奇异性” + “安全性和可移植性”(1) 面向对象Java语言的设计集中于对

2、象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。(2) 操作平台无关性严格的语言定义:没有“依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都是一致的。Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。不同的操作系统有不同的虚拟机。它类似一个小巧而

3、高效的CPU。Bytecode代码是与平台无关的是虚拟机的机器指令。Java字节代码运行的两种方式:interpreter(解释方式)Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行.(3) 安全问题Java是在网络环境下使用的语言,一个安全的网络至少要防止以下几种破坏的可能性: 毁灭系统资源 消耗系统资源 挖掘系统或个人机密 骚扰正常工作的进行Bytecode的运行 加载代码 由class(Bytecode) loader 完成。 校验代码 由Bytecode verifier 完成。 执行代码 由 runtime interprete

4、r完成。(4) 多线程Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。(5) 可移植性(跨越多个平台)(6) 分布性(克服空间上的障碍)(7) 高性能(相对于其他解释型语言)(8) 健壮性((9) Java与C及C+的区别 不再有全局变量 不再有#include 和#define 等预处理功能 不再有structure、union及typedef等 不再有函数、不再

5、有指针、不再有多重继承 不再有goto语句 不再有操作符重载(Operatior Overloading) 取消自动类型转换,要求强制转换 自动进行内存管理3Java开发工具包括: Javac:Java编译器,用来将java程序编译成 Bytecode。 Java:Java解释器,执行已经转换成Bytecode的 java应用程序。 Jdb:Java调试器, 用来调试java程序。 Javap:反编译,将类文件还原回方法和变量。 javadoc:文档生成器,创建HTML文件。 Appletviwer:Applet解释器, 用来解释已经转换成 Bytecode的java小应用程序。1. Java

6、程序结构: package语句:零个或多个,必须放在文件开始 import语句:零个或多个,必须放在所有类定义之前 public ClassDefinition:零个或一个 ClassDefinition:零个或多个 InterfaceDefinition:零个或多个类个数:至少一个类,最多只能有一个public类源文件命名:若有public类,源文件必须按该类命名标识符:区分大小写2.Java应用程序(Java Application) 类库支持:引用其他类。 类定义:定义程序所需的类及接口,包括其内部的变量、方法等。 main()方法:应用程序的入口,与标准C中main()函数的地位是一样

7、的。一个应用程序有且只有一个main()方法,main()方法必须包含在一个类中,该类即为应用程序的外部标志。 程序注释:与C类似,/*/ /3.Java小程序(Java Applet) 类库支持:继承Applet类,引用其他类。 类定义:定义程序所需的类及接口,包括其内部的变量、方法等。 init()方法:初始化,自动调用,只执行一次。 start()方法:初始化后,重入等都将自动调用。Applet的主体,在其中可以执行一些任务或启动相关的线程来执行任务,如paint()方法等。 stop()方法:离开Applet所在页面时调用,以停止消耗系统资源。4.Java Application举例p

8、ublic class HelloWorldApp public static void main(String args) System.out.println(“Hello World!”); 编辑存盘:文件名和公共类名(用public声明)要一致 HelloWorldApp.java 编译程序:javac HelloWorldApp.java 运行程序:java HelloWorldApp 运行结果:Hello World!public class HelloWorldApp public static void main(String args) System.out.println(

9、“Hello World!”); 声明一个类:public class HelloWorldApp,类名第一个字母大写。 一个类中可有很多方法, main方法是运行程序的第一个方法,方法名的第一个字母小写。 System.out.println是向屏幕输出,相当于C中的printf()。class CommArg public static void main(String args) / Display command arguments int i; if( args.length 0 ) /have some command arguments for( i=0; iargs.lengt

10、h; i+ ) System.out.println(arg+i+ = +argsi); else /no command argument System.out.println(No arguments!); 命令行参数: main( String args ),与标准C中main(int argc, char* argv)相似。 字符串的拼接: arg + i + = + argsi。 编译程序:javac HelloWorldApp.java 运行程序(命令行参数获取): java CommArg first second third 运行结果: arg0 = first arg1 =

11、second arg2 = third5.Applet举例import java.applet.*;import java.awt.*;public class HelloApplet extends Applet public String s; public void init() s = new String(“Hello World!”); public void paint(Graphics g) g.drawString(s,25,25); 编辑存盘:文件名和主类名一致编译代码:javac HelloApplet.java编写HTML文件: HelloApplet.html Hel

12、lo World Java小应用程序不能直接执行和使用,必须要在浏览器中执行。 运行applet程序: 1. appletviewer MyTest.html 2. 在浏览器中运行 运行结果: Hello World!理解程序: import语句相当于C语言中的include。 每一个applet都是java.applet.Applet的子类,用extends继承。 applet中没有main()方法。当applet被浏览器运行时, init() 、start()方法等自动执行,再调用paint()方法。 在applet中与屏幕输出有关的操作通过Graphics对象来实现。 一个Java源文件

13、内最多只能有一个public 类,称为主类,且文件名必须和它同名。import java.util.*;import java.awt.*;import java.applet.*;import java.text.*;public class MyTest extends Applet String s1,s2,s3,s4; public void init() s1 = getParameter(p1); s2 = getParameter(p2); s3 = getParameter(p3); s4 = getParameter(p4); public void paint(Graphi

14、cs g) g.drawString(s1,10,10); g.drawString(s2,10,30); g.drawString(s3,10,50); g.drawString(s4,10,70); 编辑存盘:文件名和主类名一致编译代码:javac MyTest.java编写HTML文件: MyTest.html Applet Parameter Test 运行applet程序: 1. appletviewer MyTest.html 2. 在浏览器中运行 运行结果: 1111111 2222222 3333333 4444444理解程序: 从页面中获取Applet参数: s1 = get

15、Parameter(p1); 在页面中设置Applet参数: 包、类、变量、方法等命名:要体现各自的含义。 包名全部小写,io,awt 类名第一个字母要大写,HelloWorldApp 变量名第一个字母要小写,userName 方法名第一个字母要小写,setName 程序书写格式:保证良好的可读性,使程序一目了然。 大括号的使用与对齐 语句段的对齐 在语句段之间适当空行 程序注释:帮助了解程序的功能。 类注释 变量注释 方法注释 语句注释 语句段注释Chap2. Java语言基础任何程序设计语言,都是由语言规范和一系列开发库组成的。如标准C,除了语言规范外,还有很多函数库;MS Visual

16、C+更是提供了庞大的APIs和MFC。 Java语言也不例外,也是由Java语言规范和Java开发类库(JFC)组成的。 学习任何程序设计语言,都是要从这两方面着手,尤其是要能够熟练地使用后者。1、Java数据类型2、Java运算符和表达式3、Java控制语句4、Java类定义规范5、Java数组6、Java开发类库组成1、Java数据类型(1)标识符程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、 Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。合法的标识

17、符 identifier userName User_Name _sys_value $change非法的标识符 2mail room# class(2)保留字具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word)。 abstract break byte boolean catch case class char continue default double do else extends false final float for finally if import implements int interface instanceof lon

18、g length native new null package private protected public final return switch synchronized short static super try true this throw throws threadsafe transient void while(3)常量用文字串来表示,具有不同的类型,其定义格式为:final Type varName = value , varName =value ;(4)变量程序中的基本存储单元,其定义包括变量名、变量类型和作用域几个部分,定义格式为:Type varName =

19、value , varName =value ;作用域:指可访问变量的一段代码,在程序中不同的地方声明的变量具有不同的作用域:局部变量、类变量、方法参数、例外处理参数。在一定的作用域内,变量名必须唯一。(5)数据类型基本类型:所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。数据类型 所占位数 数的范围 char 16 0 65535 byte 8 -2727-1 short 16 -215215-1 int 32 -231231-1 long 64 -263263-1 float 32 3.4e038 3.4e038 double 64 1.7e308 1.7e308引用类型:

20、在Java中“引用”是指向一个对象在内存中的位置,在本质上是一种带有很强的完整性和安全性的限制的指针。 当你声明某个类,接口或数组类型的一个变量时,那个变量的值总是某个对象的引用或者是null引用。 指针就是简单的地址而已,引用除了表示地址而外,还象被引用的数据对象的缩影,还提供其他信息。 指针可以有+、-运算,引用不可以运算。布尔型数据只有两个值true和false,且它们不对应于任何整数值 布尔型变量的定义如: boolean b=true; 字符常量 字符常量是用单引号括起来的一个字符,如a,A;字符型变量 类型为char,它在机器中占16位。字符型变量的定义如: char c=a; /

21、指定变量c为char型,且赋初值为a整型常量1. 十进制整数 如123,456,02. 八进制整数 以0开头,如0123表示十进制数83,011表示十进制数9。3. 十六进制整数 以0x或0X开头,如0x123表示十进制数291,0X12表示十进制数18。整型变量类型为byte、short、int或long,byte在机器中占8位,short占16位,int占32位,long占64位。整型变量的定义如: int x=123; /指定变量x为int型,且赋初值为123 byte b = 8; short s = 10; long y = 123L; long z = 123l; 实型常量1. 十

22、进制数形式 由数字和小数点组成,且必须有小数点,如0.123, .123, 123.,123.02. 科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。实型变量类型为float或double,float在机器中占32位,double占64位。实型变量的定义如: float x=0.123; /指定变量x为float型,且赋初值为0.123 double y = 0.123F; double z = 0.123f; public class Assign public static void main (String args ) int x ,

23、 y ; byte b = 6; float z = 1.234f ; double w = 1.234 ; boolean flag = true ; char c ; c = A ; x = 12 ; y = 300; . 自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:低-高byte,short,char int long float double如果从高级转换成低级,则需要强制类型转换,但会导致溢出或精度下降。如:int i = 8; byte b=(byte)i; 2、Java运算符和表达式(1)运算符算术运算符

24、: +,*,/,%,+,关系运算符: ,=,&,|,赋值运算符: =,及其扩展赋值运算符如+=,=,*=,/=等。条件运算符: ?:其它:包括分量运算符 ,下标运算符 ,实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等。由于数据类型的长度是确定的,所以没有长度运算符sizeof。2)表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。例: x num1+num2 a*(b+c)+d 3.14 x , ,

25、, = , = 15) = , += , -= , *= , /= , %= , =8) = , != 16) &= , |= , = , = 3、Java控制语句分支语句:if-else, switch 循环语句:while, do-while, for 与程序转移有关的其它语句: break, continue, return 例外处理语句:try-catch-finally, throw条件语句 if-else if(boolean-expression1) statements1; else if(boolean-expression2) statements2; else state

26、mentsN; 布尔表达式boolean-expression是任意一个返回布尔数据类型的表达式,而且必须是(比C或C +要严格)。 与C或C+一样,每个单一语句后面都要有分号。为了增强程序的可读性,应将if或else后的语句用括起来。 else子句是任选的,不能单独作为语句使用,它必须和if语句配对使用,并且总是与离它最近的if配对。n多分支语句 switch switch (expression) case value1 : statements1; break; case valueN : statementsN; break; default : defaultStatements;

27、表达式expression的返回值类型必须是这几种类型之一:int、byte、char、short。 case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。 default子句是任选的。 break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。如果某个case分支后没有break语句,程序将不再做比较而执行下一个分支。 switch语句的功能可以用if-else语句来实现,但某些情况下,使用switch语句更简炼。循环语句 while(当型循环) initialization /初始化条件 while (termination) /循环条件 body; /循环体 iteration; /迭代,变更循环条件 当表达式termination为true时,执行中的语句,否则终止循环。循环语句 do-w

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1