《jAVA2程序设计基础第二章.ppt》由会员分享,可在线阅读,更多相关《jAVA2程序设计基础第二章.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章 Java编程基础编程基础 教学提示:教学提示:在上一章中,我们对Java语言的历史、原理、开发环境的搭建和系统环境变量的设置进行了介绍,使读者对其有一个基本的了解。但仅仅掌握这些还不够。本章将进一步介绍Java语言程序设计的方法与技巧,任何技巧和能力的形成都是以基础知识作为铺垫的,因此本章把注意力集中在Java语言最基础的知识方面,这涉及到数据类型以及定义在其上的运算、表达式、基本语法格式、变量及变量的作用域和运算符等。学习这些内容后,读者对Java语言会有一个更深的了解。教学目标:教学目标:掌握标识符的命名规则、变量与常量的区别、Java语言中主要的数据类型、类型转换机制、Jav
2、a语言中的几种基本运算类型的使用和流程控制语句的应用等;熟悉数组和变量作用域的使用方法。通过上机实践,初步掌握上述内容的灵活运用。2.1 Java基本语法格式 Java中的标识符 Java中的一些注意事项 Java语言中的基本数据类型 Java中的命名规则 关键字2.1.1 关键字 关键字是Java语言中具有特定含义,用来向Java编译器提供专门指令的单词。因为这些单词对Java来说有特殊功能,所以不能用来作为变量名。例如:int用来指定变量类型,if用来控制程序流程。如果将关键字用作变量名,编译器将会报语法错误。Java中的关键字如表2.1所示:返回abstractelseinterface
3、switchbooleanextendslongsynchronizedbreakfalsenativethisbytefinalnewthrowcasefinallynullthrowscatchfloatpackagetransientcharforprivatetrueclassgotoprotectedtryconstifpublicvoidcontinueimplementsreturnvolatiledefaultimportshortwhiledoinstanceofstaticdoubleintsuper表表2.1 Java中的关键字中的关键字返回2.1.2 Java中的标识符
4、 标识符就是用来标识包名、类名、方法名、变量名、类型名、数组名和文件名的有效字符序列。更进一步说,标识符其实就是一个名字。Java语言的标识符可由任意顺序的大小写字母、美元符号($)、数字和下划线(-)组成,并且第一个字符不能是数字。同时,也不能是Java 的保留关键字。下面为合法的标识符:boy_$4 _myname jack_123$135marty computer china_1下面为不合法的标识符:public 125 165.7 78woman 25_man 返回2.1.3 Java语言中的基本数据类型1.逻辑类型 逻辑类型又称布尔类型,其值只有两种:真(true)和假(false
5、)。它使用关键字boolean 来定义逻辑变量。2.字符类型 Java中每一个字符占两个字节,它使用的是unicode字符集,因此可使用的常量共有65535个。它使用关键字char来定义字符变量。3.整数类型 Java中整型常量可以分为十进制、十六进制和八进制。而整型变量的定义可分为四种:byte型、short型、int型和long型。4.浮点类型 浮点类型可分为 float(32位)和double(64位)两种类型。float 型叫做单精度浮点数。返回2.1.4 Java中的命名规则 一般来说,变量命名只要按照标识符的命名规则来命名即可,但为了程序更加规范和易读,在Java语言规范中有以下命
6、名规则:(1)常量名中的每个字母一律要大写,形如:AABB。(2)变量名中第一个单词要小写,后面每个单词的第一个字母要大写,形如:aaBb。(3)方法名中第一个单词要小写,后面每个单词的第一个字母要大写,形如:aaBb。(4)包名中的字母一律要小写,形如:aabb。(5)类名、接口名应当使用名词,每一个单词的第一个字母要大写,形如:AaBb。返回2.1.5 Java中的一些注意事项 (1)Java是要区分大小写的。(2)功能执行语句的后面必须以分号(;)结束,这是提示该执行语句结束的标志,而且这个分号是英文的(;)而不能是中文的(;)。返回2.2 变量及变量的作用域 Java的变量类型 基本数
7、据类型之间的转换 变量的作用域 变量的定义2.2.1 变量的定义 变量(Variable)是一个由标识符标识的数据项。它的值在程序执行过程中可以发生变化,Java语言中变量须先声明后才能使用。变量容纳的值是由它的数据类型决定的。当用一个变量定义一块内存以后,程序就可以用变量名代表这块内存中的数据了。返回2.2.2 Java的变量类型 Java语言有两种数据类型,一种是基本数据类型,另一种是引用数据类型;其中,基本数据类型可分为数值型、字符型(char)和布尔型(boolean),而数值型又分为整数类型(byte,short,int,long)和浮点类型(float,double);引用数据类型
8、可分为类(class)、接口(interface)和数组(array)。Java语言的基本数据类型在任何操作系统中都具有相同的大小和属性,在所有的系统中,Java变量的取值都是一样的,这也是Java跨平台的一个特性。返回2.2.3 基本数据类型之间的转换 Java语言中有两种类型转换,它们为自动类型转换(也称为隐式类型转换)和强制类型转换(也称为显式类型转换)。返回2.2.4 变量的作用域 变量的作用域指的是可访问这个变量的代码范围。在声明一个变量的同时也就为此变量指明了作用域。如果从作用域的角度来划分,变量可以有这样几种:局部变量、方法参数变量、类变量和异常处理参数变量。返回2.3 运算符与
9、表达式 运算符的优先级2.3.1 运算符的分类2.3.1 运算符的分类 Java中的运算符可分为算术运算符、赋值运算符、关系运算符、逻辑运算符和其他运算符。2.赋值运算符与赋值表达式1.算术运算符与算术表达式4.逻辑运算符与逻辑表达式3.关系运算符与关系表达式5.其他运算符返回 算术运算符又可分为两种:单目算术运算符和双目算术运算符。1.算术运算符与算术表达式算术运算符与算术表达式 (1)单目算术运算符 单目算术运算符的操作数只有一个,只对惟一的操作数进行处理。Java语言中定义了4种单目算术运算符:递增运算符(+)、递减运算符(-)、单目加(+)和单目减(-)运算符,(2)双目算术运算符 双
10、目算术运算符是指对操作数进行的是算术运算,运算过程中由两个操作数参与完成的运算符。返回 赋值运算符的作用是将一个值赋给一个变量,最常用赋值运算符是“=”,并由“=”赋值运算符和其他一些运算符组合产生一些新的赋值运算符,如:“+=”,“*=”,“-=”等,。2.赋值运算符与赋值表达式赋值运算符与赋值表达式返回 关系运算符又称比较运算符,用来比较两个值的关系;它的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。例如:74的结果是true,643-26的结果是false。3.关系运算符与关系表达式关系运算符与关系表达式返回 逻辑运算符用于对boolean型
11、结果的表达式进行运算,运算的结果都是boolean型,。4.逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式返回 Java语言中还有三目条件运算符和位移运算符。其中,三目条件运算符的使用方式为:x?y:z;它的运算规则是,先计算表达式x 的值,若x 为真,则运算的结果为表达式y 的值;否则为表达式z的值。如下例中由于x13为假(false),则取z的值,其结果为8:int x=12,y=4,z=8;int k=x13?y:z;5.其他运算符其他运算符返回2.3.2 运算符的优先级 运算符的优先级是指在进行算术运算时,一般的原则是先乘除后加减。而运算符的结合性决定了并列的相同运算的先后执行顺序。使用
12、运算符时一定要考虑好运算符的优先级,以免出现意外结果。运算符优先级如表2.9所示。返回优先级运算符描 述结合性1()小括号/右2-!+-强制类型转换符单目运算右3*/%算术乘除运算左4+-算术加减运算左5 =大小关系运算左6=!=相等关系运算左7&非简洁与左表表表表2.9 Java2.9 Java运算符的优先级与结合性运算符的优先级与结合性运算符的优先级与结合性运算符的优先级与结合性返回2.4 修 饰 符2.protected 访问控制修饰符1.public访问控制修饰符4.private访问控制修饰符 3.default访问控制修饰符 Java语言中的访问控制修饰符有4种,分别是:publi
13、c、protected、default和 private。1.public访问控制修饰符访问控制修饰符 用public 修饰的成员变量和方法称为共有变量和共有方法,此时这个成员可以被所有的类访问,不管访问的类与被访问类是不是在同一个包中。当我们在另外一个类中用类woman创建了一个对象后,该对象能访问自己的用public 修饰的变量和方法。返回2.protected 访问控制修饰符访问控制修饰符 当用protected修饰成员变量和方法时,这个成员既可被同一个包中的其他类访问,也可被不同包中的子类访问。当在另外一个类中用类woman创建了一个对象后,该对象能访问自己的用protected 修饰
14、的变量和方法;但这个类和woman类要在同一个包中。返回 用default修饰符修饰的成员变量和成员方法被称为友好变量和友好方法,这个成员只能被同一个包中的其他类访问,或在同一个类中使用。当在另外一个类中用类woman创建了一个对象后,如果这个类与类woman在同一个包中,那么这个对象能访问自己的友好变量和友好方法。今假设类woman与类man在同一个包中。3.default访问控制修饰符访问控制修饰符返回4.private访问控制修饰符访问控制修饰符 用private修饰的成员变量和方法被称为私有变量和私有方法,此时这个成员只能在这个类中的内部使用。当在另外一个类中用类woman创建了一个对
15、象后,该对象能访问自己的用private 修饰的变量和方法。返回2.5 程序的流程控制语句 循环语句 分支语句 灵活运用return语句 跳转语句 从结构化程序设计角度出发,同其他高级语言一样,Java程序有如下3种结构:顺序结构、分支/选择结构和循环结构。顺序结构 顺序结构是一种按照从上到下逐行执行程序的结构,中间没有判断与跳转语句直到程序执行完为止。是最简单的也是最基本的程序结构,上面所举的例子都是顺序结构的流程。2.5.1 顺序结构顺序结构返回Java语言中有两种类型的分支语句:if语句和switch语句。2.5.2 分支语句分支语句1.if语句2.switch语句返回1.if语句语句i
16、f语句的基本语法格式如下:if(条件表达式)语句块A;else 语句块B;返回switch语句又称多分支的开关语句,它的基本形式如下:switch(表达式)case 判断值1:语句块1;break;case 判断值2:语句块2;break;case 判断值n:语句块n;break;default:语句块n+1;2.switch语句语句返回2.5.3 循环语句循环语句 循环结构是在一定的条件下,反复执行某段程序直到满足结束条件为止的流程控制结构,而被反复执行的程序称做循环体。Java 语言中的循环语句有while语句、dowhile语句和for语句三种,它们各自的执行流程如图2.3所示。1.wh
17、ile语句2.dowhile语句3.for语句返回图2.3 Java语言的三种循环控制语句流程 (1)while语句 (2)do-while语句 (3)for语句返回1.while语句语句while语句不仅是循环语句,而且还是条件判断语句;它的一般语法格式如下:while(条件表达式语句)循环体返回dowhile语句的功能和while语句差不多,只不过它是在执行完第一次循环之后才去判断条件表达式;这就是说循环体至少被执行一次。它的基本语法格式如下:do 循环体while(条件表达式)2.dowhile语句语句返回for语句是Java 语言中使用最多、最灵活、最有效的循环结构。它的基本格式如下:
18、for(表达式1;表达式2;表达式3)循环体3.for语句语句返回 Java语言支持3种形式的跳转语句:break语句、continue语句和return语句。2.5.4 跳转语句跳转语句1.break语句2.continue语句 返回1.break语句语句break语句只能用于两种环境,第一种是switch 语句中,第二种是循环结构中的dowhile、while 和for语句中。它有两种格式:一种是带标号的,一种是不带标号的。格式如下:break;break 标号;返回continue语句和break 语句不同,continue语句只能用于循环语句中,它起到终止本次循环的作用。即不再执行本次
19、循环中continue 语句后面的语句,而是转入下一次循环。continue语句同样也有两种格式:一种是带标号的,一种是不带标号的。格式如下:continue;continue 标号;2.continue语句语句 返回2.5.5 灵活运用灵活运用return语句语句 return语句的作用是让程序流程从方法调用中返回给调用者。它在语法格式上可分为不带返回值和带返回值两种。格式如下:return;return 表达式;不带返回值的return 语句可以省略。返回2.6 数 组 多维数组 使用数组时应该注意的问题 数组的定义及初始化 数组就是相同类型的数据按顺序组成的一种复合数据类型。数组中的每一
20、个数据也叫数组的一个元素。在使用数组之前必须先对其进行声明,声明数组有两种格式:对一维数组而言为:数组元素类型 数组名;数组元素类型 数组名;对二维数组而言为:数组元素类型 数组名;数组元素类型 数组名;2.6.1 数组的定义及初始化数组的定义及初始化返回2.6.2 使用数组时应该注意的问题使用数组时应该注意的问题 在Java 语言中使用数组时,应该注意的问题有如下几种:(1)在Java 语言中声明数组时,不管用什么方式定义数组,都不能指定其长度;例如下面的定义是非法的。(2)数组的下标是从0开始的,如果有一个数组有5个元素,那么它的下标到4为止。(3)当为数组引用变量赋值时,必须赋一个有效的
21、数组对象,否则不能引用数组中的任何一个元素。返回2.6.3 多维数组多维数组 在Java 语言中并没有真正的多维数组,只有数组的数组。Java中的多维数组不一定是规则的矩阵形式。现在让我们看看下面的程序例子:int b;b=new int2;返回2.7 上 机 指 导2.7.1 一个经典算法2.7.2 值求和问题 这是一个关于分支语句的实例,用来判断指定年份是否是闰年。这个求从1到100的和的程序,通过使用dowhile 语句来实现,这个程序相对来说比较简单,在此只希望读者能够知道dowhile循环语句是如何使用的,在上机时,通过输出的结果理解此程序。2.7.3 冒泡排序问题 排序在各种语言中是一种常遇到的数据结构,在Java语言中也不例外。排序有很多种,在此上机题中为大家讲解的是冒泡排序,它的思路是:将相邻两个数进行比较,将小的数调到前头。