《第2章 Java编程基础课件.ppt》由会员分享,可在线阅读,更多相关《第2章 Java编程基础课件.ppt(84页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 Java编程基础本章学习目标掌握Java程序的结构及编写规范掌握Java中的注释方法以及关键字、标识符、变量、常量等概念掌握Java中数据类型及其转换方式掌握Java中的各种运算符的含义、优先级和结合性掌握判断、循环语句的使用方法,并可以编写简单的Java程序掌握数组的声明、初始化、元素引用并会解决简单的实际问题任务任务1:观察一个简单的:观察一个简单的Java范例范例【任务内容任务内容】观察示例,了解Java程序的结构【能力目标能力目标】v了解Java程序的结构v了解Java程序的注释方式v了解Java语言的关键字v初识main()方法2.1认识Java程序public class
2、FirstJava public static void main(String args) int num = 5; / 定义整型变量 num = 10; / 修改变量内容 System.out.println(num的内容是:+num); / 输出内容 System.out.println(num*num = +num*num); / 输出乘方 从上面的FirstJava程序中,我们需要了解如下内容: 程序注释方法 访问修饰符; class关键字; 类名、命名规范及保留字; 类名和源码文件名的关系; 大小写敏感; main()方法的声明格式; 程序中的打印语句;vpublic class和
3、class声明类的区别如下:v在Java中声明一个类的方式有两种,即public class 类名称和class类名称。v使用“public class类名称”声明一个类时,要求存储该文件的名字和类名称必须一致,否则程序将无法编译。v使用“class 类名称”声明一个类时,类名称可以与文件名称不一致,但是在执行时一定要执行生成后的*.class。v在一个Java文件中可以有多个class类的定义,但是只能有一个public class定义。v在定义类名称时,开头的首字母为大写,实际上这属于Java的命名规范,只要是类的定义,则类名称中每个单词的首字母必须大写。vpublic static vo
4、id main(String args)是程序的主方法,即所有的程序都会以此方法作为起点并运行下来。vSystem.out是指标准输出,通常与计算机的接口设备有关,如打印机、显示器等。其后所续的文字println的意思是将后面括号中的内容打印在标准显示器上,然后将光标停留在下一行首 任务任务2:掌握:掌握Java程序的注释方法程序的注释方法 我们可以根据需要在源程序中添加任意多的注释。注释的增加不会对可执行代码的大小产生影响。Java中支持三种格式的注释: 单行注释 “/”,注释内容从 “/”开始到行尾; 多行注释 “/* content */”,它可注释多行文本; 用于生成JavaDoc的注
5、释 “/* content */”,基本用法与多行注释相同,但其中可包含JavaDoc标记; 注意:在使用多行注释和生成JavaDoc文档的注释时,注释不能嵌套。【任务内容任务内容】学习使用Java程序的注释方法【能力目标能力目标】会熟练使用Java程序中的各种注释方法2.1认识Java程序任务任务3:学习:学习Java中的标识符命名规范中的标识符命名规范vJava中的包、类、方法、参数和变量的名字可由任意顺序的大小写字母、数字、下划线和美元符号组成,但标识符不能以数字开头,也不能是Java中的保留关键字。 【任务内容任务内容】学习Java中的标识符的命名规范【能力目标能力目标】会正确命名各类
6、标识符2.1认识Java程序例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123任务任务4:了解:了解Java中的关键字中的关键字【任务内容任务内容】了解Java中的关键字【能力目标能力目标】n能识别关键字n能了解各个关键的用法和含义v关键字也称为保留字,是Java 语言本身使用的、被赋予特定含义的一类标识符。用户只能按照系统的规定来使用它们,不允许对它们进行修改或自行定义,也不允许将它们做为标识符来使用。2.1认识Java程序abstractdoimpleme
7、ntsprivatethrowbooleandoubleimportprotectedthrowsbreakelseinstanceofpublictransientbyteextendsintreturntruecasefalseinterfaceshorttrycatchfinallongstaticvoidcharfinallynativesupervolatileclassfloatnewswitchwhilecontinuefornullsynchronizeddefaultifpackagethis注意:(1) 虽然goto、const在Java中并没有任何意义,却也是保留字,它们
8、与其他的关键字一样,在程序中不能用来作为自定义的标识符。(2) true、false、null虽然不是关键字,但是却作为一个单独标识符类型,也不能直接使用。 任务5:学习Java中的变量和常量【任务内容任务内容】学习Java中的变量和常量【能力要求能力要求】v掌握变量的声明方法v了解各种变量在内存中的存储特点v了解各种变量的作用范围v了解常量的声明方法v掌握常量的使用特点 2.1认识Java程序 变量 变量是利用声明的方式声明的方式将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮点型或其他数据类型。变量可以用来存放数据,而使用变量之前则必须先声明它的数据类型。 例
9、如,要在程序中声明一个可以存放整数的变量,这个变量的名称为例如,要在程序中声明一个可以存放整数的变量,这个变量的名称为num。在程。在程序中可以使用如下语句:序中可以使用如下语句: int num; / 声明声明int型变量型变量 char char1 = r; / 声明声明char型变量并赋值型变量并赋值 系统的内存可大略分为三个区域,即系统区(OS)、程序区(Program)、数据区(Data)。当程序执行时,程序代码会加载到内存中的程序区,数据暂时存储在数据区中。假设上述两个变量定义在方法体中,则程序加载到程序区中。当执行此程序代码时,会在数据区配置空间给它们这几个变量。 变量的初始化声
10、明一个变量后,要使用赋值语句对其进行显式的初始化才能使用,这是一个良好的习惯(实际上局部变量必须要初始化后才能使用,而实例域可以不需初始化,Java编译器会自动为其指定默认值)。下面的变量如果是局部变量则无法通过编译:int num;System.out.println(num);变量的初始化是指在声明变量的同时给其赋予了一个值,如下所示:int num=12;注意:在Java中可以将变量声明放在代码的任何地方,但尽可能靠近第一次使用的地方是一种良好的编程习惯。 变量的有效范围变量的有效范围变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量则编译时会出现错误。在程序中,一般会
11、根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。 在类的方法体中或语句块中定义的变量称为局部变量局部变量。局部变量只在当前代码块中有效 。 在类的方法中声明的变量,包括方法的参数,都属于局部变量。这些局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会销毁。 在类体中定义的变量成为成员变量。 关于成员变量在第3章再讲。v【范例范例2-2】在本例中定义名称相同的局部变量和成在本例中定义名称相同的局部变量和成员变量。员变量。vpublic class Val vstatic
12、 int times = 3;v public static void main(String args)v int times = 4;v System.out.println(times的值为:+times);v v上例中,局部变量隐藏了成员变量。上例中,局部变量隐藏了成员变量。31根据数据的表达方式,Java的常量可分为值常量与符号常量两种根据数据的类型,Java的常量分为逻辑型常量、整型常量、浮点型常量、字符型常量及字符串常量五类32常量(Constant):是程序运行过程中值不再发生变动的一种量。如计算圆的周长或面积时所用到的圆周率就是一种常量。v常量有两种主要的分类标准:常量第一种
13、分类逻辑型常量又称布尔型常量,其取值只能为true或false,代表一个逻辑量的两种不同状态值。其中true代表真,false代表假整型常量表示一个不带有小数位的整数,数值可正可负。整型常量有十进制、八进制和十六进制三种数制表示方式浮点型常量又称为实型常量,用来表示有小数部分的十进制实整字符型常量是指用单引号()括起来的单个字符表达 字符串常量是指用双引号(“”)括起来的一个字符序列。字符串常量包含的字符个数称为它的有效长度3533343132常量第二种分类v根据数据的表达方式,根据数据的表达方式,Java的常量可分为值常量与符的常量可分为值常量与符号常量两种号常量两种:值常量就是直接以特定值
14、表达的量符号常量是一种标识符形式的常量,这类常量引用时以符号名称代表,但参与运算的是它的内容,即常量的值,这类常量必须先定义后可使用;v符号常量定义的格式为:final =;v例如定义圆周率的语句为:final float PI=3.1415926f;3231注意:注意:(1) 常量名通常使用大写字母,但这并不是必须的。常量名通常使用大写字母,但这并不是必须的。 (2) 该种方式声明的常量,通常也被称为该种方式声明的常量,通常也被称为“final变量变量”,且在整个,且在整个程序中只能被赋值一次。程序中只能被赋值一次。 v【范例范例2-3】在本例中创建了变量在本例中创建了变量age与常量与常量
15、PIvpublic class Part v static final double PI = 3.14;v static int age = 23;v public static void main(String args)v final int number;v number = 1235;v age = 22;v /错误的代码,因为number为常量,只能进行一次赋值v number = 1236; v System.out.println(常量PI的值为:+PI);v System.out.println(赋值后number的值为:+number);v System.out.print
16、ln(int型变量age的值为:+age);v v任务任务6:了解:了解Java中数据类型划分中数据类型划分2.2 Java中的数据类型任务任务7:掌握整数数据类型:掌握整数数据类型 【任务内容任务内容】掌握整数数据类型【能力目标能力目标】v了解整数数据类型v了解每种整数数据类型的值域v掌握各类整数数据类型的表示方法2.2 Java中的数据类型vJava中的基本数据类型如下表所示:数数 据据 类类 型型大小大小/位位可表示的数据范围可表示的数据范围char(字符字符)16065 535boolean(布尔布尔)8true或或falsebyte(字节字节)8-128127short(短整型短整型
17、)16-32 76832 767int(整型整型)32-2 147 483 6482 147 483 647 整型数用于表示没有小数部分的数值,它允许是负数。Java提供的4种整型数具体内容如下:类型存储要求取值范围 byte8位 -128 127 short16位 -32 768 32 767 int32位 -2 147 483 648 2 147 483 647 (超过20亿) long64位 -9 223 372 036 854 775 808 9 223 372 036 854 775 808表示长整型数时,需要在数值后面加 “L”或 “l”(如100L)。Java允许用 “0 x”开
18、头表示十六进制数(如0 xCA89),用 “0”开头表示八进制数(如010)。注意:1)在Java中对于一个整型常量,其类型默认为int型。 2)Java中,整型的范围与运行Java代码的机器无关。v【范例2-4】以下代码验证了如果数据过长则有可能出现的问题vpublic class DataDemo01 v public static void main(String args)v int num = 999999999999999999999999 ;v v 数据溢出数据溢出 当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预
19、期的运行结果。 public class DataDemo02v public static void main(String args)v int max = Integer.MAX_VALUE ; / 求出最大值v System.out.println(整型的最大值: + max) ;v System.out.println(整型的最大值 + 1: + (max + 1) ;v System.out.println(整型的最大值 + 2: + (max + 2) ;v v任务任务8:掌握字符类型:掌握字符类型【任务内容任务内容】学习字符型数据【能力目标能力目标】v了解字符型数据的存储特点v
20、了解字符型数据的值域v掌握字符型常量的表示方法v了解转义字符的表示方法及含义2.2 Java中的数据类型在Java中字符类型在内存中占有两个字节,可以用来保存英文等字符。所有的字符都是以二进制编码的形式保存于计算机中。虽然各类的编码系统合起来有数百种之多,却没有一种是包含足够的字符、标点符号及常用的专业技术符号。这些编码系统之间可能还会有相互冲突的情形发生,也就是说,不同的编码系统可能会使用相同的数值来表示不同的字符,在数据跨平台时就会发生错误。Unicode就是为了避免上述情况的发生而产生的,它为每个字符制订了一个唯一的数值,因此,在任何的语言、平台、程序中都可以安心地使用。Java所使用的
21、就是Unicode字符码系统。注意: 计算机处理字符类型时,是把这些字符当成不同的整数来看待,因此,严格来说,字符类型也算是整数类型的一种。 v【范例2-6】测试字符和整型之间的相互转换vpublic class DataDemo03v public static void main(String args)v char ch1 = a ;/ 字符是使用 括起来的数据v char ch2 = 97 ; / 通过数字定义字符变量v System.out.println(ch1 = + ch1) ;v System.out.println(ch2 = + ch2) ;v v对于有些特殊字符,如非打
22、印字符,或需要在字符中表示的引号或反斜杠等,可以用转移序列符表示。如下表所示的部分特殊字符:转义序列描述Unicode值b退格u0008t制表u0009n换行u000ar回车u000d”双引号u0022单引号u0027反斜杠u005c【范例2-7】转义字符的应用vpublic class DataDemo04v public static void main(String args)v char ch1 = ; / 表示的是一个v char ch2 = ; / 表示的是一个v System.out.println(ch1 = + ch1) ;v System.out.println(ch2 =
23、 + ch2) ;v System.out.println(Hello World!) ;vv 任务任务9:掌握浮点数据类型:掌握浮点数据类型v【任务内容任务内容】学习浮点型数据类型v【能力目标能力目标】v了解浮点型数据类型v了解每种浮点型数据类型的值域v掌握浮点型数据的表示方法2.2 Java中的数据类型浮点型用于表示有小数部分的数值,它允许是负数。Java提供的2种整型数具体内容如下:类型存储要求取值范围 float4字节 大约3.402 823 47E+38F (有效数字6 7位) double8字节 大约1.797 693 134 862 315 70E+308 (有效数字15位)do
24、uble类型数值的精度是float类型的两倍,通常使用这种类型。float型数据要指定一个后缀 “F”或“f”,没有后缀则为double型。double型也可跟后缀 “D”或“d”。float和double型数据都有三个特殊的值:正无穷大、负无穷大和NaN(不是一个数字)。这三个特殊数值都对应了三个常量,这三个常量在Double和Float对象中都有定义,它们是:POSITIVE_INFINITY、NEGATIVE_INFINITY和NaN。 例:float num1=3.4f; float num2=3.4; folat num3=2.456e67; double num4=2.445e67
25、; 任务任务10:掌握布尔类型:掌握布尔类型【任务内容任务内容】学习布尔型数据类型【能力目标能力目标】v了解布尔型数据类型的含义v掌握布尔型数据的表示方法2.2 Java中的数据类型boolean类型(布尔)有两个值:false和true,用来判定逻辑条件。整型值和布尔类型值之间不能进行相互转换。下面的表达式在C和C+中能够编译通过,在Java中则不行:if (x = 0)上面的表达式在C和C+中总是false,而在Java中x = 0不能转换为布尔类型的值。 例:声明一个布尔类型的变量,并赋予初值: boolean flag=true;任务任务11:了解基本数据类型的默认值:了解基本数据类型
26、的默认值v在Java中,若在成员变量成员变量的声明时没有给变量赋初值,则会给该变量赋默认值,如左侧表中所示,但对于局部变量不会有这样的默认值。 序号序号数数 据据 类类 型型默默 认认 值值1byte02short03int04long0L5float0.0f6double0.0d7charu00008booleanflase2.2 Java中的数据类型任务任务12:掌握数据类型的转换规则:掌握数据类型的转换规则【任务内容任务内容】学习数据类型的转换规则【能力目标能力目标】v了解布数据类型的转换规则v掌握强制类型转换的方法2.2 Java中的数据类型vJava是强类型语言,因此,在进行赋值操作
27、时要对数据类型进行检查。Java规定只有数值型的基规定只有数值型的基本类型数据之间才可以进行类型转换本类型数据之间才可以进行类型转换;当表达式中涉及不同型的数值数据时,需要进行类型的转换。v数据类型转换分为自动类型转换自动类型转换和强制类型转换强制类型转换两种类型: v自动类型转换自动类型转换:又称为隐式类型转换,是指参与运算的数据类型不同时,Java自动将精度较低的数据类型转换为精度较高的数据类型,即将占位数较少的类型转换为占位数较多的类型。 整型、浮点型和字符型可以进行混合运算,当数据类型不同时,从低位类型到高位类型,虚拟机会进行自动转换。转换规则如下: (byte、char、short、
28、int、long或float) op double - double (byte、char、short、int或long) op float - float (byte、char、short或int) op long - long (byte、char或short) op int - int (byte、char或short) op (byte、char或short) - int上面的规则中,“op”表示操作符。如:int n = 123456789;float f = n;/ f 等于1.23456789E8注意:表达式中出现的最大的数据类型决定了表达式的最终数据类型。v例如:vchar c
29、h=M;vint a=2,b;vfloat x=38.23F;vdouble z,y=282.382D;vb=(ch+6); /先将ch自动转换为int类型,再求取int变量b的值vz=a*(x+y); /先将a、x与y自动转换为double类型,再求取z的值【范例2-8】实现各变量隐式转换vpublic class Conver /创建类v public static void main(String args) vbyte mybyte = 127; /定义byte型变量mybyte,并赋予其最大值vint myint = 150; /定义int型变量myint,并赋值150vfloat
30、myfloat = 452.12f; /定义float型变量myfloat,并赋值vchar mychar = 10; /定义char型变量mychar,并赋值vdouble mydouble = 45.46546; /定义double型变量,并赋值vSystem.out.println(byte型与float型数据进行运算结果为: + mybyte + myfloat); vSystem.out.println(byte型与int型数据进行运算结果为: + mybyte * myint);vSystem.out.println(byte型与char型数据进行运算结果为: + mybyte /
31、 mychar);vSystem.out.println(double型与char型数据进行运算结果为: + mydouble + mychar);vv 强制类型转换如果把高位类型赋给低位类型,就必须进行强制类型转换,否则会编译出错。强制类型转换可能导致数据溢出或精度的下降。如,下面的示例会造成精度下降:double x = 9.997;int nx = (int)x;/ x 等于9int mx = (int)Math.round(x);/ x 等于10下面的示例会造成数据溢出:int a = 256;byte b = (byte)a;/ b 等于0注意:n尽量避免使用强制类型转换n同精度的数
32、据short与char相互赋值需要使用强制类型转换。任务任务13:了解:了解Java中的运算符中的运算符【任务内容任务内容】学习Java语言中的运算符【能力目标能力目标】了解运算符的功能2.3 Java中的运算符与表达式v运算符又称操作符,它与操作数一起,构成了Java的表达式。va=a+40 /表达式va=a+10; /语句v程序是程序是由许多语句组成的,而语句的基本单位就是表达式与运算符。 v表达式由操作数与运算符组成,操作数可以是常量、变量,也可以是方法,而运算符就是数学中的运算符号 。任务任务14:学习:学习Java中运算符的常用分类中运算符的常用分类v【任务内容任务内容】学习Java
33、中运算符v【能力目标能力目标】v掌握每种运算符的含义v掌握每种运算符的使用方法 2.3 Java中的运算符与表达式v根据运算符连接操作符多少,根据运算符连接操作符多少,Java语言将运算符分为三类:语言将运算符分为三类:n 一元运算符:只需要一个操作数的运算符。 n 二元运算符:需要两个操作数的运算符;绝大多数运算符为二元运算符。n 三元运算符:需要三个操作数的运算符;只有条件运算符(?:)一个属于这类运算符。v根据运算符的功能,根据运算符的功能,Java将其分为以下几类:将其分为以下几类:v 赋值运算符、算术运算符、逻辑运算符、关系运算符、位运算符及条件运算符等。算术运算符功能描述表操作数数
34、操作数数目目运算运算符符名称名称功能描述功能描述用法举例用法举例二元运算符+加法两数相加3+5,x+y-减法两数相减9-6,x-y*乘法两数相乘3*7,x*y/除法操作数为整数时,结果值只保留整数部分8/3(结果为2)6.0/3.0(结果为2.0)%求模求取两数相除的余数5%3(结果为2)5.0%3.0(结果为2.0)一元运算符+var前置自增1先对变量自加1,然后使用自增后的值完成计算3*(+a)(结果为9,a为3)-var前置自减1先对变量自减1,然后使用自减后的值完成计算3*(-b)(结果为3,b为1)var+后置自增1先使用原有值完成计算,然后自加13* c+(结果为6,c为3)var
35、-后置自减1先使用原有值完成计算,然后自减13*d-(结果为6,d为1)关系运算符功能描述表运算符运算符 名称名称 功能描述功能描述 用法举例用法举例 =相等op1=op2,判断是否相等a=38(结果为true)!=不等op1!=op2,判断是否不等a!=b(结果为true) 大于op1 op 2,op1是否大于op2ab(结果为false)=大于等于 op1=op2, op1是否大于等于op2a=b(结果为false) 小于 op1op2,op1是否小于op2ab(结果为true)=小于等于op1=op2, op1是否小于等于op2ab)(结果为true)&逻辑与op1&op2,运算结果见真
36、值表(a=b)&(ab)|(ba)(结果为true)逻辑异或op1op 2,运算结果见真值表(ab)(ba)(结果为true)位运算符运算符运算符名称名称功能描述功能描述用法举例用法举例位反op1,对op1逐位求反a(结果为01100100)&位与op1&op2,对两操作数逐位进行与操作a&b(结果为00011010)|位或op1|op 2,对两操作数逐位进行或操作a|b(结果为10111011)位异或op1op 2,对两操作数逐位进行异或操作ab(结果为10100001)左移op1n,op1左移n位,右边空出位补0a右移op1n,op1右移n位,左边空出位补符号位的值(正0负1) an(结果
37、为11110011)无符号右移op1n,op1右移n位,左边空出位补0an(结果为00010011)赋值运算符表运算符运算符功能描述功能描述用法举例用法举例+=var+=exp等价于var=var+expx+=a(x值为15)-=var-=exp等价于var=var-expx -=a(x值为5)*=var*=exp等价于var=var*expx *=a(x值为50)/=var/=exp等价于var=var/expx /=a(x值为2)%=var%=exp等价于var=var%expx %=a(x值为0)&=var&=exp等价于var=var&expx &=a(x值为00000000)|=va
38、r|=exp等价于var=var|expx |=a(x值为00001111)=var=exp等价于var=varexpx =a(x值为00001111)=var=exp等价于var=varexpx =var=exp等价于var=varexpx =n(x值为00000001)=var=exp等价于var=varexpx =n(x值为00000001)其它运算符运算符运算符功能描述功能描述用法举例用法举例()方法调用System.out.println(“欢迎学习Java技术”);.分量运算符a.x 索引运算符a2instanceof类的对象运算符“ab”instanceof Stringnew堆
39、内存空间分配运算符Person p=new Person();(类型)强制类型转换 float f=(Float)12.4任务任务15:掌握表达式及运算符优先级、:掌握表达式及运算符优先级、结合性结合性【任务内容任务内容】学习Java中运算符的优先级和结合性【能力目标能力目标】v掌握每种运算符的结合方向v掌握每种运算符的优先级次序2.3 Java中的运算符与表达式运算符的优先级表优先级优先级运算符运算符描述描述结合性结合性1.、( )域、数组、括号从左至右2+ 、-、-、!、一元运算符从右至左3*、/、%乘、除、取余从左至右4+ 、-加、减从左至右5 、位运算从左至右6 、=逻辑运算从左至右7
40、= 、!=逻辑运算从左至右8&按位与从左至右9按位异或从左至右10|按位或从左至右11&逻辑与从左至右12|逻辑或从左至右13?:条件运算从右至左14=、*=、/=、%= 、+=、=、=、=、&=、=、|= 位运算从右至左任务任务16:了解语句和语句块:了解语句和语句块【任务内容任务内容】了解Java的语句和语句块【能力目标能力目标】v掌握Java语句的类别v了解语句块的语法含义和使用特点2.4 语句和语句块语句块(Block)又称为复合语句,是由一对大括号()限定起始边界的一个语句集合;语句块可以多层嵌套例如类的定义就是一个语句块。public class BirthDateint day;
41、int month;int year;语句与语句块是构成语句与语句块是构成JavaJava程序的基本组成部分程序的基本组成部分语句(Statement)是以分号(;)作为结束符的一条完整命令。一个表达式加上分号就是一条语句;一行上只写上单纯的一个分号,也是语句,称为空语句.Java语句还包括:选择语句、循环语句、挑砖语句、方法调用语句、复合语句(又称为语句块)等。任务任务17:了解程序结构:了解程序结构【任务内容任务内容】学习Java中的程序结构【能力目标能力目标】v掌握程序结构的分类v了解每种程序结构的特点2.5 程序的流程控制程序运行的过程就是执行一条条语句的过程。程序执行的逻辑次序称为程
42、序的流程。在不进行任何流程控制的情况下,程序执行的次序就是语句的排序顺序,这种程序结构称为顺序结构。顺序结构的程序是最简单的程序,也是组成其他复杂结构程序的基础。Java提供了以下几类流程控制语句: 分支语句循环语句跳转语句异常处理语句 try catch-finally throw任务任务18:掌握选择结构:掌握选择结构【任务内容任务内容】学习Java中的选择结构【能力目标能力目标】v掌握选择结构的特点v了解选择结构的分类v了解选择结构程序的执行流程v会应用选择结构解决实际问题2.5 程序的流程控制二路分支结构Java的分支语句分为二路分支与多路分支两种。二路分支if-else语句提供了较为
43、简单的双路流程控制的机制。if-else语句的用法可分为三种形式:单一分支结构,即省略else的if语句。其使用格式为:if (条件表达式) 语句或语句块 范例2-9:IfDemo.java双路分支结构,即完整的if-else语句。if (条件表达式) 语句或语句块1else 语句或语句块2范例2-10:IfElseDemo .java嵌套分支结构嵌套的if-else语句,用来解决多种条件构成的复杂操作。其一般格式为:if (条件表达式1) 语句或语句块1else if (条件表达式2)语句或语句块2 else else if (条件表达式n) 语句或语句块n else 语句或语句块n+1范例
44、2-11:MoreIfElseDemo .javaswitch语句实现多路分支switch语句可以将多选一的情况简化,使程序简洁易懂。它避免了使用嵌套ifelse语句最常发生的if与else配对混淆从而造成阅读及运行上的错误的情况。其一般的语法格式如下: switch(表达式) case 选择值1:语句主体1; break; case 选择值2:语句主体2; break; case 选择值n:语句主体n; break; default: 语句主体; 范例2-12:SwitchDemo01 .java任务任务19:掌握循环结构:掌握循环结构【任务内容任务内容】学习Java中的循环结构【能力目标能
45、力目标】v掌握循环结构的特点v了解循环结构的分类v了解循环结构程序的执行流程v会应用循环结构解决实际问题2.5 程序的流程控制循环语句的作用是在一定条件下,反复执行一段程序代码,被反复执行的语句或语句块称为循环体。使循环体得以执行的特定条件称为循环条件。循环条件中最重要的变量称为循环控制变量,简称为循环变量,它是用来控制循环执行的次数,其值一般要在循环体中不断地被修改。Java语言支持三种循环语句:while循环语句dowhile循环语句for循环语句333132while循环结构while循环语句,也称为当型循环,是一种在执行循环体之前先测试循环条件的循环结构。while循环语句的格式为:w
46、hile (循环条件表达式) 语句或语句块 /循环体 范例2-13 :WhileDemo.javadowhile循环结构dowhile循环语句语句,也称为直到型循环,是一种在执行循环体后才去测试循环条件的循环结构。dowhile循环语句的格式为:do 语句或语句块 /循环体 while (循环条件表达式);先执行循环体,然后计算循环条件表达式,若表达式值为真,则重复执行循环体,直至循环条件表达式为假时,才终止循环结构。范例2-14:DoWhileDemo.javafor循环结构for循环语句作为最常用与最灵活的一种循环结构,一般用于循环次数事先可确定的情况。for循环语句的格式为:for(循环
47、变量初始化表达式;循环条件表达式; 改变循环变量表达式) 语句或语句块 /循环体范例2-15:ForDemo.java范例2-16:ForNestedDemo .java任务任务20:掌握中断结构:掌握中断结构【任务内容任务内容】学习Java中的中断结构【能力目标能力目标】v掌握中断结构的特点v了解中断结构的分类v了解各类中断结构程序的执行流程v会应用中断结构解决实际问题2.5 程序的流程控制跳转结构Java语言提供了4种跳转语句来改变程序的执行路径,它们是:break语句、continue语句、return语句及throw语句。break语句break语句具有两种使用格式:格式1:break
48、;格式2:break ; 范例2-17:BreakDemo .javacontinue语句continue语句具有两种使用格式:格式1:continue;格式2:continue ;范例2-18:ContinueDemo.java任务任务21:维数组的创建及使用:维数组的创建及使用【任务内容任务内容】将10个整型数据,按从小到大的顺序排序并输出。【能力目标能力目标】v掌握一维数组的声明与内存分配v学会对一维数组进行初始化v掌握一维数组元素的表示方法v会使用一维数组解决实际问题2.6 数组v public class BubbleSort v/采用冒泡法实现批排序算法vpublic static
49、 void sort(int data) vint temp;vfor (int i = 0; i i; j-) vif (datai dataj) vtemp = datai;vdatai = dataj;vdataj = temp;vvvvvpublic static void main(String args) v int a = 12,45,56,98,87,13,65,97,67,9;/声明一维数据并进行初始化v sort(a); /调用排序方法对a数组排序vfor (int i = 0; i a.length; i+) /将排序后的数组输出vSystem.out.print(ai
50、+ );vv数组的基本概念数组是具有相同类型的一批数据的集合数组的类型,既可以是基本类型,也可以是类或者接口根据下标个数,分为一维和多维数组数组中的每个成员称为数组元素 数组必须先经过声明和初始化后才能使用。 用数组名和下标可以唯一确定数组中的元素31 一维数组的声明一维数组的声明只有一个下标的数组称为一维数组。数据类型 数组名 或数据类型 数组名一维数组声明的格式为:一维数组声明的格式为:例如:声明一个用来存放员工工资的数组,数组名称为gongzi,元素的数据类型为float类型。float gongzi; 注意:注意: 数组在声明时不为数组分配内存空间,因此不必给出数组的元素个数。数组在声