Java语言程序设计电子教案.docx
《Java语言程序设计电子教案.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计电子教案.docx(151页珍藏版)》请在冰豆网上搜索。
Java语言程序设计电子教案
Java语言程序设计电子教案
第1章Java是什么?
主要任务:
٭了解Java的基本特点和用途٭掌握如何下载JavaSDK软件包
٭了解设置Java程序的开发环境SDK٭如何运行Java程序٭了解Java的概貌
本章主要内容:
Java简介、Java的开发环境、初步了解Java程序
1.1Java简介
1.Java的起源与发展2.Java的语言特点3.Java的用途
1.1.1Java的起源与发展
Java是一种计算机程序语言,可以编写嵌入在Web网页中运行的JavaApplet小程序,也可以编写独立运行的JavaApplication应用程序,是当今十分流行的网络编程语言。
Java是Sun公司于90年代初开发的。
1995年5月Sun正式发布了Java。
1.1.2Java语言特点
1.简单性2.面向对象3.网络适用性4.健壮性5.安全性6.平台无关性7.可移植性8.解释型
9.高性能10.多线程11.动态性12.丰富的类库13.嵌入浏览器运行
1.1.3Java的用途
Java程序有两种类型
☆一种是可在Web网页上运行的Applet,称为小应用程序。
☆一种是Application,即应用程序,可完成任何计算任务。
两种程序有不同的用途。
1.用于Web的Applet:
Internet上的Web页面是用HTML(超文本标记语言)编写的,HTML只能用来定义页面的布局结构,它不是一种编程语言。
通过在网页中添加嵌入式编程语言脚本(如CGI,JavaScript等)也可以使Web页具有和用户的交互能力,但这些嵌入式编程语言的能力有限,而且代码是公开的,远不如Java的强大功能和安全保密性能。
2.独立运行的Application:
Applet运行时的窗口界面是由浏览器提供的,因此它不能脱离浏览器而独立运行。
而Application则和任何Windows应用程序一样可以自建窗口界面,独立运行。
事实上,Java语言就是一门高级编程语言,和其它高级编程语言并无两样。
3.数字设备领域:
Sun正在把Java的目标从传统的计算机应用向其它数字设备领域扩展。
这似乎是一种回归,Java又回到了它的起点。
在不远的将来,我们将会使用更多的“Java设备”,从数字手机、电视机顶盒到传统的家用电器,可能还有更多叫不出名字的创新产品。
4.Java应用的发展趋势:
Java在智能Web服务、移动电子商务、分布计算技术、企业的综合信息化处理、嵌入式Java技术方面得到应用。
1.2Java的开发环境
Java产品面向的主流平台有Solaris、Windows、Macintosh。
由于Java的跨平台性,在任一平台中编写的Java程序可以很好地移植到其他平台上。
为了运行Java程序,计算机上必须安装JVM(Java虚拟机)和Java运行时解释器,两者构成Java的运行环境。
1.2.1SDK的下载与安装
1.机器要求:
Java对机器运行要求不高。
☆硬件要求:
CPUPII以上,64M内存,1OOM硬盘空间即可。
☆软件要求:
Windows98/Me/XP/NT/2000,IE5以上。
2.下载SDK:
Sun公司网站页面,单击“J2SE1.4.2SDK-NEW”超链接,单击页面中“SDK”列对应的“DOWNLOAD”超链接,单击“Downloadj2sdk-1_4_2_01-windows-i586.exe”超链接
3.安装SDK:
运行下载的“j2sdk-1_4_2_01-windows-i586.exe”软件包,可安装SDK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为C:
\j2sdk1.4.2_01(这里选择E盘),默认的组件选择是全部安装。
4.SDK中的主要文件夹和文件---E:
\j2sdk1.4.2_01中的文件和子目录结构
1.2.2配置Java运行环境
1.设置Windows98
在C:
\autoexec.bat文件中,添加以下内容:
☆setpath=%path%;E:
\j2sdk1.4.2_01\bin
☆setclasspath=.;E:
\j2sdk1.4.2_01\lib\;%classpath%
2.设置WindowsXP/NT/2000
系统特性设置界面,“环境变量”设置界面,在“系统变量”框中选择“Path”,单击“编辑”按钮,“编辑系统变量”对话框,命令提示符下输入“java”或“javac”参数提示信息
3.设置DOS起始位置
首先建立一个你存放java源程序的路径和文件夹,如本书使用的java源程序都存放在为“e:
\java\程序”文件夹中。
单击“开始”→“所有程序”→“附件”→“命令提示符”,在“命令提示符”单击右键,选择“属性”菜单,将打开“命令提示符属性”对话框。
选择“快捷方式”选项卡,在“起始位置”栏输入“e:
\java\程序”,单击“确定”按钮即可。
4.安装java虚拟机
(1)下载并设置Java(TM)软件
(2)打开浏览器Java的功能
(3)下载并设置Java(TM)软件:
Java(TM)软件中涉及Web交互的部分。
它包括Java虚拟机和许多其它内容。
有了它可以尽情享受Internet提供的最佳内容,包括游戏、体育、聊天、电子邮件、艺术、财务工具等等。
可到控制面板”对话
(4)打开浏览器Java的功能:
打开一个IE窗口,在浏览器菜单栏单击“工具”→“Internet选项”命令,打开“Internet选项”对话框,选择“高级”选项卡,选取“Java(sun)”下的单选框;选取“MicrosoftVM”下的第一个选项“启用JavaJIT编译器”,如下图所示:
选择“安全”选项卡、打开“安全设置”对话框
1.3初步了解Java程序
1.编写第一个Java源程序2.Java程序的编译3.运行Java程序
1.3.1编写第一个Java源程序
例1.1本程序可以在屏幕上显示文字“欢迎你学习Java语言!
”。
打开一个文本编辑器,输入如下代码:
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("欢迎你学习Java语言!
");
}
}
1.3.2Java程序的编译
Java源程序编写后,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成可执行的程序代码。
Java源程序都是扩展名为.java的文本文件。
编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。
语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。
1.3.4运行Java程序
在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名“javaHello”,按回车键即开始解释并可看到运行结果。
Application应用程序有两种输出显示方式:
结果输出显示在窗口界面中、结果显示在提示符窗口或MS-DOS窗口上
开发一个Java程序有3个步骤:
(1)建立Java源程序
(2)编译源程序(3)运行Java程序
第2章Java基本语法
主要任务:
让读者对数据类型、表达式等Java基本语法内容有一个了解,这些内容是任何一门程序设计语言都必须包含的部分,可为程序设计打基础。
本章主要内容:
1.Java语言的基本元素2.数据类型3.运算符与表达式4.数组
2.1Java语言的基本元素
通过下面的Java源程序,了解Java语言有哪些基本元素。
例2.1一个简单的JavaApplication源程序:
Welcome2.java。
程序的运行结果是输出一句话“欢迎使用Java2”。
//这是一个简单的JavaApplication源程序
classWelcome2
{
publicstaticvoidmain(Stringargs[])
{
System.out.println(“欢迎使用Java2”);
}//结束main方法定义
}//结束类Welcome2定义
从以上例子学到什么?
(1)Welcome2是一个Application应用程序
(2)源程序中有注释语句
(3)程序的主体声明了一个自定义类(4)Welcome2类包含main()方法
因此,可以知道Java语言包含标识符、关键字、运算符和分隔符等元素。
这些元素有着不同的语法含义和组成规则,它们互相配合,共同组成Java的语句。
2.1.1标识符
什么是标识符?
在Java中变量以及类和方法都需要一定的名称,这种名称就叫做标识符
标识符命名的基本规则:
所有的标识符都必须以一个字母、下划线或美元符号“$”开头,后面的字符可以包含字母、数字、下划线和美元符号。
标识符是由程序员自己定义的名称,可按上面的规则随意选取。
不过,Java中有一个标识符命名约定:
常量用大写字母,变量用小写字母开始,类以大写字母开始。
如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始,例如anInt。
下划线虽然可以作为标识符的一员,但常用于常量名的单词分隔,因为常量名都是以大写字母单词命名的。
还要注意一点,Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个字符。
例如以下是四个不同的合法标识符:
ad,Ad,aD,Da。
2.1.2分隔符
分隔符是用来区分源程序中的基本成份,可使编译器确认代码在何处分隔。
分隔符有三种:
☆注释符☆空白符☆普通分隔符
1.注释符:
注释是程序员为了提高程序的可读性和可理解性,在源程序的开始或中间对程序的功能、作者、使用方法等所写的注解。
注释仅用于阅读源程序,系统编译程序时,忽略其中的所有注释。
注释有两种类型:
//注释一行:
以“//”开始,最后以回车结束。
一般作单行注释使用,也可放在某个语句的后面;
/*…*/一行或多行注释:
以“/*”开始,最后以“*/”结束,中间可写多行。
2.空白符:
空白符包括空格、回车、换行和制表符(Tab键)等符号,用来作为程序中各种基本成份之间的分隔符。
各基本成份之间可以有一个或多个空白符,其作用相同。
和注释一样,系统编译程序时,只用空白符区分各种基本成份,然后忽略它。
3.普通分隔符:
普通分隔符和空白符的作用相同,用来区分程序中的各种基本成份,但它在程序中有确定的含义,不能忽略。
Java有以下普通分隔符:
.句号,用于分隔包、类或分隔引用变量中的变量和方法;
;分号,是Java语句结束的标志;
,逗号,分隔方法的参数和变量说明等;
:
冒号,说明语句标号;
{}大括号,用来定义复合语句、方法体、类体及数组的初始化;
[]方括号,原来定义数组类型,及引用数字的元素值;
()小括号,用于在方法定义和访问中将参数表括起来,或在表达式中定义运算的先后次序。
例2.2标识符、关键字和分隔符的使用。
publicclassExample
{
publicstaticvoidmain(Stringargs[])
{
inti,c;
...
}
}
2.2数据类型
Java的数据类型可分为:
☆·基本类型,包括整型、浮点型、布尔型和字符型;
☆·数组类型,包括一维数组和多维数组;
☆·复合类型,包括类、接口。
2.2.1基本数据类型
数据类型
名称
位长
缺省值
取值范围
布尔型
boolean
1
false
true,false
字节型
byte
8
0
–128~127
字符型
char
16
‘\u0000’
‘\u0000’~’\uffff’
短整型
short
16
0
–32768~32767
整型
int
32
0
–2,147,483,648~2,147,483,647
长整型
long
64
0
–9,223,372,036,854,775,808~9,223,372,036,854,775,807
浮点型
float
32
0.0
+1.4E–45~+3.4028235E+38
双精度型
double
64
0.0
+4.9E–324~+1.7976931348623157E+308
2.2.2直接量与常量
直接量(literal)是指在程序中直接给出的一个符号串,作用是为变量赋值或参与表达式运算。
直接量可以是一个具体的数值或字符串,也称常量。
但Java中的常量另有所指,是用final说明的一个标识符,在很多教科书中往往不加区分地统称为常量。
直接量或常量在程序执行过程中是不可更改的,它们与变量的区别是不占用内存。
1.布尔常量:
布尔常量只有两个值true和false,代表了两种状态:
真和假,书写时直接使用true和false这两个英文单词,不能加引号。
2.整型常量:
整型常量是不含小数的整数值,书写时可采用十进制、十六进制和八进制形式。
十进制常量以非0开头后根多个0~9之间的数字;八进制以0开头后根多个0~7之间的数字;十六进制则以0X开头后根多个0~9之间的数字或a~f之间的小写字母或A~F之间的大写字母。
3.浮点型常量:
Java的浮点型常量有两种表示形式:
☆·十进制数形式,由数字和小数点组成,且必须有小数点,如.123,0.123,123.0;
☆·科学计数法形式,如123e3或123E-3,其中e或E之前必须有数,且e或E后面的指数必须为整数。
4.字符常量:
字符常量是由一对单引号括起来的单个字符。
它可以是Unicode字符集中的任意一个字符,如:
’a’,’Z’。
对无法通过键盘输入的字符,可用转义符表示。
字符常量的另外一种表示就是直接写出字符编码,如字母A的八进制表示为‘\101’,十六进制表示为‘\u0041’。
5.字符串常量:
字符串常量是用一对双引号括起来的字符序列。
当字符串只包含一个字符时,不要把它和字符常量混淆,例如’A’是字符常量,而"A"是字符串常量。
字符串常量中可包含转义字符,例如"Hello\nworld!
"在中间加入了一个换行符,输出时,这两个单词将显示在两行上。
声明常量的格式:
final类型常量名[,常量名]=值;
2.2.3变量
变量在程序中为一个标识符,在内存中是一块空间,它提供了一个临时存放信息和数据的地方,具有记忆数据的功能。
变量是可以改变的,它可以存放不同类型的数据,通常用小写字母或单词作为变量名。
变量具有三个元素:
名字、类型和值。
1.变量的声明:
在Java中存储一个数据,必须将它保存到一个变量中。
变量在使用前必须有定义,即有确定的类型和名称。
声明变量的格式为:
类型变量名[,变量名][=初值];该语句告诉编译器以给定的数据类型和变量名建立的一个变量。
例2.3变量声明示例
publicclassV
{
publicstaticvoidmain(Stringargs[])
{
byteb=0x55;
shorts=0x55ff;
inti=1000000;
longl=0xffffL;
charc='c';
floatf=0.23F;
doubled=0.7E-3;
booleanB=true;
StringS="Thisisastring";
System.out.println("字节型变量b="+b);
System.out.println("短整型变量s="+s);
System.out.println("整型变量i="+i);
System.out.println("长整型变量l="+l);
System.out.println("字符型变量c="+c);
System.out.println("浮点型变量f="+f);
System.out.println("双精度变量d="+d);
System.out.println("布尔型变量B="+B);
System.out.println("字符串类对象S="+S);
}
}
2.变量的使用范围
当你声明了一个变量后,它将被引入到一个范围当中。
也就是说,该变量只能在程序的特定范围内使用,出了这个范围,变量就消失了。
在类中声明的变量是称为成员变量,通常在类的开始处声明,可在整个类中使用。
在方法和块中声明的变量叫局部变量,使用范围是从它声明的地方开始到它所在那个块的结束处,块是由两个大括号所定义的,看下面例子。
例2.4变量的使用范围。
publicclassV2
{
staticinti=10;
publicstaticvoidmain(Stringargs[])
{
intk=10;
System.out.println("i="+i);
System.out.println("k="+k);
}
System.out.println("k="+k);
//编译时将出错,已出k的使用范围
}
编译V2.java时出现错误。
因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。
3.变量类型的转换:
当有一个整数而你需要把它变成一个字符型数据使用时该怎么办呢?
需要将整数类型数据强制转换为字符型数据。
变量类型强制转换的格式为:
(数据类型)数据表达式
2.3运算符与表达式
Java的运算符代表着特定的运算指令,程序运行时将对运算符连接的操作数进行相应的运算。
运算符和操作数的组合构成表达式,表达式代表着一个确定的数值。
按照运算符功能来分,运算符有七种:
赋值运算符、算术运算符、关系运算符、条件运算符、逻辑运算符、位运算符和其它运算符。
按照连接操作数的多少来分,有一元运算符、二元运算符和三元运算符。
2.3.1赋值运算符
由赋值运算符构成的表达式称为赋值表达式。
赋值运算符的右边是一个表达式,这个表达式还可以包含一个表达式。
例如:
a=b=c=0,相当于三个表达式c=0,b=c,a=b。
2.3.2算术运算符
算术运算符按操作数的多少可分为一元运算符和二元运算符,一元运算符(+、-、++、--)一次对一个操作数进行运算,二元运算符一次对两个操作数进行运算。
求余运算在判断两个数是否成倍数时很有用,余数为0则两数成倍数,否则两数不成倍数。
一元运算i++和i--比传统写法的加减运算速度要快很多,常用作循环结构中的计数器。
2.3.3关系运算符
有一些运算符能产生布尔类型的结果,称它们为关系运算符。
关系运算符用于两个操作数之间关系的比较。
关系表达式的运算结果为布尔值,不是true就是false,操作数可以是常量、变量和表达式。
关系表达式常常用作分支结构或循环结构的控制条件。
2.3.4条件运算符
条件运算符有一个“?
”和一个“:
”,条件运算符与上面的运算符略有不同,是三元运算符,有三个操作数。
条件表达式的格式为:
条件表达式?
结果1:
结果2;
条件运算符的计算过程为:
首先计算作为条件的逻辑表达式或关系表达式,条件表达式返回值为true时整个表达式的值为结果1,返回值是false时整个表达式的值为结果2。
2.3.5逻辑运算符
关系运算只能解决一些简单条件的判定问题,对较为复杂的条件可用逻辑运算来判定。
逻辑表达式通常由多个关系表达式构成,最终运算结果为布尔值true或false。
例2.5下面的程序说明了关系运算符和逻辑运算符的使用方式。
输出结果如图所示。
publicclassRAL
{
publicstaticvoidmain(Stringargs[])
{
inta=25,b=3,e=3,f=0;
booleand=a
System.out.println("a=25,b=3,e=3,f=0");
System.out.println("a
if(e!
=0&&a/e>5)
System.out.println("a/e="+a/e);
if(f!
=0&&a/f>5)
System.out.println("a/f="+a/f);
else
System.out.println("f="+f);
}
}
2.3.6位运算符
位运算表示按每个二进制位(bit)进行计算。
位运算的操作数仅限于整数(char、short、int、long),以二进制形式进行,运算结果为一个整数。
位运算主要是为了满足编程中的特殊要求,如测试设备、与硬件通讯等高级编程内容。
一般计算机中8个位为1个字节,数据保存在1个或多个字节中,所以位运算要求程序员必须熟悉数的二进制表示,并且知道位运算以后的结果是什么。
2.3.7其它运算符
2.3.8运算优先级
知道了许多运算符,那么当表达式里有多种运算符号的时候,运算的次序如何区分呢?
表2.12从高到低列出了运算符的优先级,同一行中的运算符优先级相同。
优先级是指同一式子中多个运算符被执行的次序。
同一级别里的运算符具有相同的优先级,算术运算符具有左结合性。
2.4数组
数组是有序数据的集合,数组中的每个元素具有相同的数组名,根据数组名和下标来唯一地确定数组中的元素。
数组有一维数组和多维数组,使用时要先声明后创建。
2.4.1一维数组的声明
数组是Java语言中的特殊数据类型,它们保存着能通过下标索引来引用的一组同类数据。
一维数组是指一个线性数据序列,声明格式为:
数据类型数组名[];或数据类型[]数组名;
2.4.2一维数组的创建与赋值
1.用运算符new分配内存再赋值,格式如下:
数组名=new数据类型[size]
2.直接赋初值并定义数组的大小
第二种方法是直接赋初值并定义数组的大小。
初值必须用大括号括起,用逗号作分隔符,初值的个数表示数组的大小。
例2.6一维数组的使用。
该程序对数组中的每个元素赋值,结果如图所示。
publicclassA1
{
publicstaticvoidmain(Stringargs[])
{
inta[]=newint[5];
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
a[4]=5;
System.out.println("a["+0+"]="+a[0]);
System.out.println("a["+1+"]="+a[1]);
System.out.println("a["+2+"]="+a[2]);
System.out.println("a["+3+"]="+a[3]);
System.out.println("a["+4+"]="+a[4]);
}
}
2.4.3多维数组
Java将多维数组看作数组的数组。
例如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数