Java程序设计.ppt
《Java程序设计.ppt》由会员分享,可在线阅读,更多相关《Java程序设计.ppt(317页珍藏版)》请在课桌文档上搜索。
1、,第1章Java语言基础,1.1计算机编程语言,计算机语言可以分为3大类:机器语言、汇编语言和高级语言。机器语言由二进制代码(0或1)串组成,并且是唯一能被CUP直接“理解”的语言。,汇编语言是利用指令助记符来代表机器语言指令进行程序设计的语言,这些助记符因机器类型、型号而异。,由于程序员编写的程序不能直接被机器“理解”,需要通过汇编语言软件翻译成机器语言表示的目标程序,再通过连接形成可执行程序,才能在计算机中执行。,由于汇编语言是面向机器的,即为特定的处理器而设计的,因此对于不同的机器要重新编码,同时使用汇编语言编写的程序即使完成一个简单的任务也需要多条指令。,高级语言采用类似自然英语及数学
2、符号来书写语句,组成程序。高级语言是面向用户的语言,使用一条简单的高级语言语句就可以完成由许多条汇编语句才能完成的任务。,高级语言编写的程序同样不能直接被机器“理解”,需要将其转化为机器语言,这是通过执行称为“编译器”的编译程序实现的。,高级语言比机器语言和汇编语言都更易学、易用和易于理解,同时提供了大量的帮助文档。高级语言编写的程序更易于维护,不受某一机器类型的限制,几乎可以不加修改地用于不同计算机。,高级语言程序的翻译和执行方法可归类为两大基本技术:编译执行和解释执行。,像C或者C+这类编译语言写出来的程序,通过编译程序处理后,其目标语言是与之相对应的机器语言,它们能被独立地执行。,像BA
3、SIC这种解释语言编写的程序,通过解释程序所处理的翻译和执行过程通常是交替执行的,源程序某一部分所生成的代码在其产生时就被执行。Java语言是解释执行的高级编程语言。,1.2Java语言发展,Java语言诞生于20世纪90年代初期,适用于在Internet环境下编写各种网络应用程序,并且具有平台无关性等特点,现已迅速发展成为最受欢迎的计算机网络编程语言之一。,Java语言是面向对象的程序设计语言,它是解释执行的,能跨平台使用,具有较高的性能和高度的安全性,并且支持多线程,具有内存垃圾自动收集机制。,最早的Java版本JDK1.0于1996年正式推出,经不断改进和升级后,发布了JDK1.1、JD
4、K1.1.5等版本。,1999年升级为1.2版,并改称为Java 2。2000年发布了Java 2的1.3版本。2002年发布了Java 2的1.4版本。,这些升级的版本使Java程序运行更快、多媒体功能更强,并扩充了对网络的支持和对XML的处理。,随着Java技术的不断发展,它根据市场进一步细分为以下3个版本:针对企业级e-Business架构和Web服务开发与应用的平台J2EE(Java 2 Enterprise Edition);针对普通PC应用的Java开发平台J2SE(Java 2 Standard Edition);针对嵌入式设备及消费类电器(如手机、智能卡等)的开发平台J2ME(
5、Java 2 Micro Edition)。,1.3Java程序的开发和运行环境,本书使用的是针对普通PC应用的Java开发平台J2SE,其全称是“Java 2 Software Development Kit,Standard Edition”,它是Java 2开发的标准版,简称j2sdk。,随着Java技术的发展,它不断升级为新的版本,如j2sdk1.4、j2sdk1.5等。本书所讲程序都是在Windows操作系统下实现的,使用的是基于Windows下的j2sdk,具体版本名称是jdk-1_5_0-windows-i586.exe。,j2sdk是基于命令行(DOS界面)的开发环境,在该环境
6、下需要打开DOS界面编译和运行程序。,许多公司提供了付费的、更方便的图形界面下的Java集成开发环境,有兴趣的读者可参考相关书籍来了解和熟悉它们的使用。,1.4能够运行的两类Java程序,1.4.1Java Application的编译和运行,例1.1一个简单的Java应用程序:App1.java。/*这是一个最简单的Java应用程序,其功能是在DOS界面输出字符串:Hello,World!。通过该程序来演示Java应用程序的编译和运行。*/,1:public class App1 2:public static void main(String args)3:System.out.print
7、ln(Hello,World!);/输出字符串:Hello,World!4:5:,图1-1所示为App1.java的编译和运行结果。,图1-1例1.1的编译和运行结果,1源程序的编写与保存2如何编译源程序3如何运行程序,4源程序的解释说明(1)定义类 Java程序是由类(class)构成的,用关键字class来定义一个新的类,关键字都是小写的,如果用Class定义一个新的类,程序编译时将出错。,Java中类的最简单的定义格式如下:类的修饰符 class 类名 构成类的实体的各种代码,(2)定义类中的方法和main方法的说明定义一个方法的基本格式如下:方法的修饰符 返回值类型 方法名字(方法所接
8、收的参数类型 参数名称)实现方法功能的代码;,每一个Java应用程序都要有一个如下所示的main方法:public static void main(String args),(3)方法调用System.out.println的说明 定义方法:方法定义的基本格式为:方法的修饰符 返回值类型 方法名字(方法所接收的参数类型 参数名称)实现方法功能的代码,调用方法 main方法 命令行输出结果的方法 字符串,(4)程序中的注释 单行注释 多行注释 文档注释,5应用程序的基本框架 public class App1 public static void main(String args)/在这里添加
9、要执行的程序代码。,1.4.2Java Applet的编译和运行例1.2一个简单的Java小应用程序:App2.java。,1:import java.awt.Graphics;2:import java.applet.Applet;3:public class App2 extends Applet 4:5:int x,y;6:7:public void init()8:x=8;9:y=7;10:11:12:public void paint(Graphics g)13:g.drawString(类中定义了两个变量:x=8 y=7,50,60);,14:g.drawString(它们的和为:
10、+(x+y),50,80);15:g.drawString(它们的差为:+(x-y),50,100);16:17:,1编写和编译源程序,2如何运行Java小程序(1)编写嵌入Java小程序字节码文件的HTML文档,其最基本的形式为:,(2)Java小程序的运行,3源程序的解释说明(1)类的继承定义类A的子类B的格式如下:类的修饰符 class B extends A 构成类的实体的各种代码,(2)包和包中类的导入通常是在源文件的开始部分使用关键字import,后跟包名和句点隔开的类名导入它们,并以分号结尾,称为import语句:import 包名.类名;,下面的一行代码把包中的全部内容导入:i
11、mport 包名.*;,(3)变量声明语句和赋值语句赋值语句中的左边是变量名,右边是一个对应类型的值,等号“=”的作用是把右边的值赋给左边的变量。,变量的声明包括3个部分:修饰符,后跟类型和变量名列表。变量声明的格式如下:修饰符 类型 变量名列表=对应类型的值;,(4)Java小程序的init方法和paint方法,(5)drawString方法的调用和实现的功能 Graphics类 对象 通过句点调用方法 类对象名.方法名(实际参数),(6)源程序编码格式的说明(7)Java小程序的程序框架,Java小程序的基本框架为:import java.applet.Applet;import java
12、.awt.Graphics;public class Applet1 extends Applet 变量定义;public void init()/初始化方法。.;public void paint(Graphics g)/小程序显示结果的方法。.;其他方法定义。,1.5程序中的关键字、标识符和分隔符,1.5.1Java语言的关键字1用于包的关键字 import package,2用于类、方法和变量的修饰符 abstract class extends final implements interface,native new static synchronized transient:指明变
13、量不被串行化 volatile,3用于类、变量和方法的访问控制 private protected public,4用于基本数据类型 boolean byte char double float int long short,5用于控制代码块的流程 break case continue default do else,for if instanceof return switch while,6用于方法无返回值void,7用于引用类型 this super,8用于异常处理 catch finally throw throws try,9未使用的保留字 const goto,1.5.2Java
14、语言的标识符和命名约定简单地说,标识符就是类、变量和方法的名字。,自定义的包名、类名、变量名或类对象名只要不违反Java语言标识符命名规则,可以任意指定其名字。,Java中有以下6种不同的命名。包名字;类型名字,即类名;域名:类中定义的变量称为域,也可简单地称为变量,它在整个类中是可见的;方法名字;,局部变量:方法的参数、方法体中声明的变量和其他程序块中声明的变量都是局部变量,局部变量只在它所在的程序块中可见。标号:在多层循环中用来标识循环的层次。,1Java语言标识符命名规则标识符必须由字母、下画线_、美元符号$和数字09组成的字符序列表示,且不能以数字开头,不能有除此之外的其他字符,如空格
15、符、%、+、&、#等。,这里所说的字母含义较广,包括中文、日文、阿拉伯文字等各种语言的字符都可用来命名,但建议程序中命名使用英文字母开始的字母数字串。,名字不能以数字开头,例如1a、234b是不合法的名字。,不能用关键字命名,但关键字可以作为名字的一部分,例如用classa或classb命名一个类是可以的。,名字中的任何差别都表明它们的不同,包括字母的大小写,Java严格区分大小写。例如classa和Classa就是不同的名字。,2Java中命名的一些约定 包名:用小写英文单词表示,例如java.applet;,类名和接口名:通常是名词,用一个或几个英文单词表示,第一个字母和名字内的其他所有单
16、词的第一个字母大写,例如String、Graphics、Color、FileInputStream等。,方法名:通常是动词,第一个字母小写,如果有其他单词,则每个单词的第一个字母大写,例如main()、println()、drawString()、setColor()、parseInt()等。,变量名或类的对象名:与方法的大小写规则一样。,常量名:声明为public static final,字母全部用大写,单词与单词之间用下画线隔开,例如PI、MAX_VALUE、MIN_VALUE等。,1.5.3Java程序中的分隔符和基本的编码格式1空白符空白符包括空格、制表符(Tab键)及空行等。,2花
17、括号类体、方法体、多条语句构成的复合语句等都放在一对花括号“”中。,3分号每一个语句以分号结尾。,4逗号逗号用于分隔方法的多个参数,或用于多个同类型的变量同时声明时起分隔作用等。,5冒号用于标号后面、switch语句中的case子句。,1.6Java语言的基本数据类型和变量定义,基本数据类型 类 数组类型 接口类型,表1-1 Java语言的基本数据类型,续表,1.6.1逻辑类型1逻辑常量逻辑类型的常量仅有两个值:true 和 false,分别表示“真”和“假”。,Java语言中,布尔常量不能转换成任何数据类型,true常量不等于1,false常量也不等于0。,2定义逻辑变量使用关键字boole
18、an定义逻辑变量。,1.6.2字符类型1字符常量Java中的字符是Unicode字符,其编码值是065 535之间的整数。字符常量有以下几种表示。,放在两个单引号里的单个字符,例如:a、1等。,以反斜杠开始的转义序列,表示一些特殊的字符,如回车符n、退格符b等。表1-2给出了Java中的常用转义字符。,使用Unicode编码值表示的字符:uxxxx,这里xxxx是4位16进制的数。例如u0022和都可表示双引号。,2定义字符变量使用关键字char定义字符变量。,例1.3下面的应用程序演示了字符变量的定义,并在命令行输出它们。(1)源程序,1:public class DefineChar 2:
19、public static void main(String args)3:char c1=65,c2=A;4:char c3=n,c4=u0022,c5=;5:System.out.print(c1=+c1+tc2=+c26:+c3+c4=+c4+tc5=+c5);7:8:,(2)程序运行结果程序编译、运行后,在命令行输出如图1-7所示的结果。,图1-7例1.3程序的运行结果,(3)程序解释程序第3行定义字符变量c1和c2,它们的取值都是字符A(65是其编码值)。,第4行定义字符字符变量c3(回车符)、字符变量c4和c5,它们的取值都是双引号(u0022是双引号字符的Unicode编码值)。
20、,第5、6行是分两行写的输出语句。语句中的加号起连接作用。第6行的c3表示换行,因此结果输出在两行上。,1.6.3整数类型Java中的整数类型根据其表示数的范围不同可分为四种类型。,字节型:关键字byte,8位。短整型:关键字short,16位。整型:关键字int,32位。长整型:关键字long,64位。,1整型常量2定义整型变量,1.6.4小数类型Java中的小数类型也称为浮点类型,根据其表示的范围大小不同可分为两种。单精度浮点型:关键字float,32位。双精度浮点型:关键字double,64位。,1浮点常量2定义浮点变量,例1.4下面的应用程序演示了整型变量和小数类型变量的定义,并在命令
21、行输出它们。(1)源程序,1:public class DefineNum 2:public static void main(String args)3:byte x1=127;4:int x2=12345;5:long x3=123456789L;6:float x4=1.23e-5f;7:double x5=1.4567e3;8:System.out.print(x1=+x1+x2=+x2+x3=+x39:+x4=+x4+x5=+x5);10:11:,(2)程序运行结果程序编译、运行后,在命令行输出如图1-8所示的结果。,图1-8例1.4程序的运行结果,(3)程序解释程序第3行定义byt
22、e类型变量x1,并用整型常量127对它赋值,注意赋值时不能超出byte类型的取值范围。,第5行定义long类型变量并赋值为123456789L。,第6行定义float类型变量并赋值,注意赋值时小数常量要跟后缀f。,第8、9行是一个输出语句,输出程序中定义的各变量的值。,1.6.5变量定义和变量的作用范围1变量定义变量的声明包括三个部分:修饰符,后跟类型和变量名。变量声明的格式如下:修饰符 数据类型 变量名=初值;,2变量的作用范围变量可以在类、方法和任何其他由一对花括号组成的代码块中定义,因此变量有其作用范围。,例1.5下面的应用程序演示了变量的作用范围。(1)源程序,1:public cla
23、ss VarRange 2:public static void main(String args)3:int x=8;4:5:int y=9;6:System.out.println(x=+x);7:System.out.println(y=+y);8:9:/System.out.println(x+y);10:11:,(2)程序运行结果程序编译、运行后,在命令行输出如图1-9所示的结果。,图1-9例1.5程序的运行结果,(3)程序解释程序第3行main方法中的变量,在整个方法体中都可以使用。,第4行第8行是main方法的一个语句块,第5行定义了该语句块中的变量y。,第9行的语句被注释掉了,
24、如果去掉双斜杠后,编译该程序出现编译错误,因为第9行的输出语句中试图使用第4行第8行的语句块中定义的变量y。,1.6.6基本数据类型的相互转换(1)自动转换(2)强制转换,强制转换的格式为:(要转换的类型)待转换的值 下面从左向右的数据类型转换,Java系统将自动完成:反过来,必须强制类型转换。,1.7运算符和表达式及语句,1.7.1运算符和表达式 运算符:表示各种不同运算的符号就是运算符。如上面的+就是一个运算符,用来把两个整数x和y相加;=是赋值运算符,表示把左边的值赋给右边的变量。,操作数:由运算符连接的参与运算操作的数据称为操作数,如x+y中的x和y就是操作数。,表达式:由运算符把操作
25、数(可以是变量、常量等)连接成的一个有意义的式子就是一个表达式,如x+y就是一个表达式;z=x+y是一个赋值表达式。,1算术运算符,表1-3 算术运算符及其功能,2自增、自减运算符自增运算符+和自减运算符 是单目运算符,其操作数只能是数字型变量,不能是常量或带有运算符的表达式。+和 运算符可放在变量操作数前,也可放在变量操作数后,功能是对变量增1和减1。,3关系运算符,表1-4关系运算符,例1.6如果把一个数的各位数字逆序后,得到的数与该数本身相等,则该数是一个回文数。例如整数828逆序后还是828,故它是回文数;整数123逆序后是321,故123不是回文数。编写应用程序,对程序中给定的一个3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计
链接地址:https://www.desk33.com/p-241991.html