《Java编程基础》课件_第1页
《Java编程基础》课件_第2页
《Java编程基础》课件_第3页
《Java编程基础》课件_第4页
《Java编程基础》课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章Java编程基础通过本章的学习,掌握Java语言的语法结构和书写规范,为今后Java编程打好基础。本章的主要内容有:数据类型,常量、变量、表达式,数组,数据类型的转换,流程控制语句。2.1数据类型2.2常量、变量、表达式2.3数组2.4流程控制语句1整理ppt第2章Java编程基础通过本章的学习,掌握Java语言的学习目标

学习Java编程基础,使学生能比较快速地进入学习Java编程环境,为以后熟练地应用开发工具进行试验和验证各种技术细节打下良好的基础。2整理ppt学习目标学习Java编程基础,使学生能比较快速2整理pp本章知识点

数据类型常量、变量、表达式数据类型的转换数组流程控制语句3整理ppt本章知识点数据类型3整理ppt2.1数据类型Java语言的数据类型可以分为两大类:基本类型(primitivetype)和引用类型(referencetype)。Java数据类型基本类型整型浮点型字符型布尔型引用类型数组接口类4整理ppt2.1数据类型Java语言的数据类型可以分为两大类:基本2.1数据类型数据所占存储空间的大小是以字节为单位。数据类型所占字节表示范围long(长整型)8-9223372036854775808~9223372036854775807int(整型)4-2147483648~2147483647(-231~231-1)short(短整型)2-32768~32767(-215~215-1)byte(位)1-128~127(-27~27-1)char(字符)10~255boolean(布尔)1布尔值只能使用true或falsefloat(单精度)4-3.4E38~3.4E38double(双精度)8-1.7E308~1.7E3085整理ppt2.1数据类型数据所占存储空间的大小是以字节为单位。数2.2常量、变量、表达式

2.2.1常量

2.2.2变量

2.2.3数值类型之间的转换以及混合运算

2.2.4表达式

2.2.5运算符的优先级6整理ppt2.2常量、变量、表达式2.2.1常量6整理pp2.2.1常量1.整数类型常量2.浮点型常量3.字符型常量4.字符串常量5.布尔型常量7整理ppt2.2.1常量1.整数类型常量7整理ppt1.整数类型常量在Java中,整数的数据类型可以分为long、int、short和byte四种类型。整型的取值范围参见下表。

类型存储位数值范围单精度(float)4(bits)-3.4×1038~3.4×1038双精度(double)8(bits)-1.7×10308~1.7×103088整理ppt1.整数类型常量在Java中,整数的数据类型可以分为long2.浮点型常量在计算中,为了要求计算的准确性,对数据的要求是非常严格的。使用整数不能很好地表现数据的准确性,这种情况下就引入了浮点型。浮点型就是可以带小数点的数据类型。(1)表示形式浮点型有两种表示形式:小数点形式(如:12.37,-0.5946)和指数形式(如2.5E4,2.1E-4)(2)单精度和双精度常数的表示方法Java语言在使用浮点数数据时默认的类型是double类型,如果要指定是float或double型常数时,可以在常数的后面加上F(f)或D(d),如单精度表示12.37F,双精度数表示:-0.5946D。9整理ppt2.浮点型常量在计算中,为了要求计算的准确性,对数据的要求是3.字符型常量Java采用Unicode编码系统,这样就可以在多平台的系统中安心使用而不必担心在程序移植中出现问题。Java的字符型常量的表示形式有4种,分别是:(1)用单引号括起来的单个字符,这些字符包含在Unicode字符集中,如'A','a'。(2)Java字符集中还包括一些控制字符,但这些控制字符是不能显示的,可以通过转义字符来表示。(3)用单引号括起来的八进制Unicode字符,形式是'\ddd',其中d的范围是0~7,表示数值的范围在八进制的000~777之间,它只能表示部分Unicode字符内容。如'\023'。(4)用单引号括起来的十六进制Unicode字符,形式是'\uxxxx',u字符后面带4位十六进制数,它可以表示全部Unicode字符内容。如'\u2af3'。10整理ppt3.字符型常量Java采用Unicode编码系统,这样就可以4.字符串常量字符串常量是用双引号括起来的由0个或多个字符组成的一个字符序列,字符串可以包含有转义字符。如“Howareyou?”、“Goodafternoon\n”。转义字符功能Unicode码\b退格\u0008\t水平制表\u0009\n换行\u000a\f换页\u000c\r回车\u000d11整理ppt4.字符串常量字符串常量是用双引号括起来的由0个或多个字符组5.布尔型常量布尔型变量的取值只有true(真)和false(假)两种,它表示逻辑的两种状态。

归纳注释:Java是一种面向对象的语言,应将所有的数据类型都封装成类,应使用与类或对象有关的引用类型。但是,由于这些简单数据类型应用得十分广泛,已被广大程序员所接受,所以为了提高效率和简化编程,

Java也就允许使用这些与面向对象无关的基本数据类型。当然这些基本数据类型都有对应的类,在定义数据时也可以使用这些类去定义。例如,对应基本的double类型,存在一个Double类;对应基本的char类型,存在一个Character类等。12整理ppt5.布尔型常量布尔型变量的取值只有true(真)和false2.2.2变量变量就是在程序运行过程中其值可以被改变的量。变量蕴涵有两个含义,其一是变量的名称;其二是赋给变量的值。变量名称就是用户自己为变量定义的标识符,而变量的值则是存储在用变量标识符所标记的存储位置处的数据。在程序设计过程中,要想使用变量,首先要对变量进行声明,声明有两点:第一是声明变量的名称;第二是声明变量的数据类型。声明的一般格式如下:类型名变量名1[,变量名2][,……]或类型名变量名1[=初值1][,变量名2[=初值2],…….]其中方括号中的内容为可选项。

变量要先经过声明,然后就可以对变量进行赋值和使用,如果没有对变量赋值就使用,程序就会出现语法错误。变量类型名包括整数类型、浮点类型、字符类型、字符串和布尔型等类型。13整理ppt2.2.2变量变量就是在程序运行过程中其值可以被改变的量2.2.3数值类型之间的转换以及混合运算

Java语言中对变量定义时需要指名其数据类型,然而在Java中允许对变量的类型进行转换。变量的数据类型转换是指在同一表达式中的各种不同的数据类型之间所进行的转换。数据类型的转换分为“自动类型转换”和“强制类型转换”两种。1.自动类型转换自动类型转换是需要符合以下两个条件:(1)转换前的数据类型与转换后的数据类型兼容。(2)转换后的数据类型比转换前的数据类型表示的范围大。查看例2.1不同整数数据类型的转换14整理ppt2.2.3数值类型之间的转换以及混合运算Java语言中2.2.3数值类型之间的转换以及混合运算

2.强制类型转换强制类型转换分为两种:一种是为了保证计算的精度,对数据类型进行转换,它与自动类型转换不同的是强制类型转换表达式中的变量类型是相同的,如两个整型数据类型进行除法运算,所得的结果应该不是整型才能保证计算的精度,所以要对数据类型进行强制转换;另一种是不需要精度要求,不让系统进行自动转换处理,如两个数据类型一个是int类型,另一个是float类型,所得的结果按照前面所讲内容应该是float类型,但是如果不想要小数点后面的数据,则就要进行强制数据转换。查看例2-2强制整数数据类型的转换15整理ppt2.2.3数值类型之间的转换以及混合运算2.强制类型转例:

floatx=2.7f;inty=(int)x;

floatz=x;问:1、z=?,y=?2、Java程序实现?16整理ppt例:16整理ppt2.2.4表达式表达式是用运算符把操作数(变量、常量和方法等)连接起来表达某种运算或含义的式子。其中运算符是对操作数进行运算的符号,如数学上的加号“+”就是一个运算符,它是算术运算符。系统在处理表达式后根据处理结果返回一个值,该值的类型为表达式的类型。例如:intc=10+20;运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符等。表达式是包含运算符和操作数的算式,它操作的对象叫操作数,而操作是通过运算符来实现的。一个表达式可能同时包括多个操作,而操作的顺序是由各运算符的优先级及括号来决定的。也就是说有括号先进行括号内的操作,否则按运算符的优先级次序运算。17整理ppt2.2.4表达式表达式是用运算符把操作数(变量、常量和方法等2.2.4表达式如果表达式包含有逻辑运算符和逻辑变量,我们称为逻辑表达式,所得结果是逻辑型常数。表达式通常有计算结果,通过赋值运算符将结果赋给运算符左面的变量。表达式是通过运算符将操作数连接起来组成的,下面来讲解运算符。1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符18整理ppt2.2.4表达式如果表达式包含有逻辑运算符和逻辑变量,我们称1、算术运算符算术运算符是数学上最常用的一类(种)运算符,Java语言为浮点数和整型数提供了多种算术操作符,包括+、-、×、/等。在表达式中,由于算术运算符中操作数数目的不同,算术运算符可以分为一元运算符和二元运算符。二元运算符是指算术运算符的两侧都有操作数。二元运算符如下表所示。运算符操作说明+操作数1+操作数2求和-操作数1-操作数2求差*操作数1×操作数2求积/操作数1/操作数2求商%操作数1%操作数2取余19整理ppt1、算术运算符算术运算符是数学上最常用的一类(种)运算符,1、算术运算符一元运算符是指运算符只需要一个操作数。一元运算符如下表所示。运算符操作说明++操作数++或++操作数操作数+1――操作数――或――操作数操作数-1--操作数操作数取反说明:a++与++a的区别:a++在使用a之后,使a的值加1,因此执行完a++之后,整个表达式的值为a,而a的值变为a+1。++a在使用a之前,使a的值加1,因此执行完++a之后,整个表达式和a的值都为a+1。i--和--i也是同样的道理。20整理ppt1、算术运算符一元运算符是指运算符只需要一个操作数。一元运2关系运算符所谓关系是指将两个操作数通过某种关系关联在一起。如x>y,我们称x大于y,这就是关系。表达关系的运算符就是关系运算符,包括:运算符>、>=、<、<=、==、!=。

运算符操作举例含义>操作数1>操作数2x>yx大于y>=操作数1>=操作数2x>=yx大于等于y<操作数1<操作数2x<yx小于y<=操作数1<=操作数2x<=yx小于等于y==操作数1==操作数2x==yx等于y!=操作数1!=操作数2x!=yx不等于y注意:“==”运算符与“=”运算符是不同的,前者是关系运算符,而后者是赋值运算符,一定要注意它们之间的区别。由关系运算符组成的表达式最终的结果是一个逻辑值,它可作为程序设计中的条件判断语句。如:if(x>y)就是一个条件判断语句,关系运算符两边有两个操作数x、y。关系运算符是将运算符两边的操作数进行判别,看是否为“相等”、“大于”、“小于”等“关系”,是一个关系表达式,最后结果为布尔型值。21整理ppt2关系运算符所谓关系是指将两个操作数通过某种关系关联在一3逻辑运算符逻辑运算符与关系运算符的不同之处是关系运算符的运算结果是布尔型值,而逻辑运算的操作数和运算结果都是布尔型值。包括:&、|、!、^、&&、||。运算符运算举例含义&与x&yx,y都为真时结果才是真|或x|yx,y都为假时结果才是假!非!xx为真时结果是假,x为假时结果为真^异或x^yx,y都为真或都为假时结果为假&&条件与x&&yx,y都为真时结果为真。如果左侧表达式的值就能决定整个表达式的值,则右侧表达式不执行||条件或x||yx,y都为假时结果为假。如果左侧表达式的值就能决定整个表达式的值,则右侧表达式不执行22整理ppt3逻辑运算符逻辑运算符与关系运算符的不同之处是关系运算符4位运算符位运算是指对整数的二进制表示中的每一位进行操作,所得的结果一定是整数。包括:~、&、|、^、

<<、>>、>>>23整理ppt4位运算符位运算是指对整数的23整理ppt5赋值运算符Java语言中,赋值运算作为一种运算符来处理的,赋值运算的一般形式:变量名=表达式;其中“=”是赋值运算符。赋值运算符不能理解为过去数学学过的等号概念,它实质上是将赋值运算符右面的数据或表达式的值赋给赋值运算符左面的变量。24整理ppt5赋值运算符Java语言中,赋值运算作为一种运算符来处理5赋值运算符运算符运算举例含义运算符运算举例含义+=加法x+=yx=x+y&=与x&=yx=x&y-=减法x-=yx=x-y|=或x|=yx=x|y*=乘法x*=yx=x*y^=异或x^=yx=x^y/=除法x/=yx=x/y<<=左移x<<=yx=x<<y%=取余x%=yx=x%y>>=右移x>>=yx=x>>y>>>=不带符号右移x>>>=yx=x>>>y赋值运算符还可以与二元算术运算符、逻辑运算符和位运算符组合成简捷使用方式,如下表所示。25整理ppt5赋值运算符运算符运算举例含义运算符运算举例含义+=加法条件运算符格式:表达式1?表达式2:表达式3运算过程:先计算表达式1的值,若表达式1的值为true,则条件表达式的值为表达式2的值;若表达式1的值为false,则条件表达式的值为表达式3的值。问:求y=|x|,该怎么表达?解:y=x>0?x:-x26整理ppt条件运算符格式:表达式1?表达式2:表达式326整理ppt2.2.5运算符的优先级所谓优先级是指当一个表达式中出现多个不同运算符时,执行运算的先后次序。如右表所示。运算符描述优先级结合性.[]()域,数组,括号1从右至左++---!~一元操作符2*/%乘,除,取余3+-加,减4<<>>>>>位运算5<<=>>=逻辑运算6==!=逻辑运算7&按位与8^按位异或9|按位或10&&逻辑与11||逻辑或12?:条件运算符13=*=/=%=+=-=<<=>>=>>>=&=^=|=赋值运算1427整理ppt2.2.5运算符的优先级所谓优先级是指当一个表达式中出现2.3数组数组是有序数据的集合,数组中的每个元素具有相同的数组名,根据数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组,使用时要先声明后创建。2.3.1一维数组的声明2.3.2一维数组的创建与赋值2.3.3多维数组28整理ppt2.3数组数组是有序数据的集合,数组中的每个元素具有相同2.3.1一维数组的声明数组是Java语言中的特殊数据类型,它们保存着能通过下标索引来引用的一组同类数据。一维数组是指一个线性数据序列,声明方式为:数据类型数组名[];或数据类型[]数组名例如:intarr1[];char[]arr2;声明了两个数组,arr1是整型数组,arr2是字符型数组。说明:其中“数据类型”可以是Java中任意的数据类型,“数组名”为一个合法的标识符,“[]”指明该变量是一个数组类型变量并且是一维的。Java在数组的定义中并不为数组元素分配内存,因此“[]”中不用指出数组中元素的个数即数组长度,而且对于如上定义的一个数组暂时还不能访问它的任何元素。29整理ppt2.3.1一维数组的声明数组是Java语言中的特殊数据类2.3.2一维数组的创建与赋值定义数组后,还必须为数组分配内存、初始化。这有两种方法。1.用运算符new分配内存再赋值格式:数组名=new数据类型[size]其中,size指明数组的长度。如:intintArr[]=newint[2];charchArr[]=newchar[5];上述语句将数组的声明和创建放在一起,第一条语句声明了一个整型数组并分配了3个整型数据所占据的内存空间,顺序为intArr[0],intArr[1]。第二条语句声明并分配了5个char型变量所占据的内存空间。数组元素赋值的方法与变量相同,如:intArr[0]=10;intArr[1]=20;注意下标是从第一个元素的0开始,到数组长度减1。30整理ppt2.3.2一维数组的创建与赋值定义数组后,还必须为数组分2.3.2一维数组的创建与赋值2.直接赋初值并定义数组的大小第二种方法是直接赋初值并定义数组的大小。初值必须用大括号括起,用逗号作分隔符,初值的个数表示数组的大小。例如:inta[]={1,2,3,4,5,6,7,8,9,10};charc[]={′a′,′b′,′c′,′北′,′京′}查看例2.3一维数组的使用。31整理ppt2.3.2一维数组的创建与赋值2.直接赋初值并定义数组2.3.3多维数组(略)与C++一样,Java将多维数组看作数组的数组。例如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数组。查看例2.4二维数组的使用。32整理ppt2.3.3多维数组(略)与C++一样,Java将多维数组2.4流程控制语句任何一门面向对象的语言都必须以结构化程序设计为基础,面向对象语言中的基本模块都是用结构化程序设计的编程来实现的。结构化程序设计有3种基本的流程结构:顺序、分支和循环,如下图所示。顺序执行结构是最简单的程序流程,它不需要控制语句,而分支控制结构和循环控制结构都是比较复杂的程序流程,它们需要专门的控制语句。所谓分支控制结构是根据条件来判断执行哪一组语句,如前面已经讲的条件运算符(?:)就是实现分支控制的运算符,Java语言还提供了两个专门的独立控制语句:if语句和Switch语句。Java语言提供了3个专门的循环控制语句:for语句、while语句和do…while语句。33整理ppt2.4流程控制语句任何一门面向对象的语言都必须以结构化程2.4流程控制语句2.4.1分支语句2.4.2循环语句2.4.3特殊的控制流语句34整理ppt2.4流程控制语句34整理ppt2.4.1分支语句1.if语句if语句是实现“二选一”的选择语句,它有两种形式。第一种形式:if(条件表达式)语句组;如:if(x<0)x=y;第二种形式:if(条件表达式)语句组1;else语句组2;条件语句if…else,只要“条件表达式”值为真,就执行其后的“语句组1”,否则就执行else后的“语句组2”。注意else部分可选也可不选,,不选就是第一种情况。

2.switch分支结构switch是多分支的开关语句,其结构为:switch(条件表达式){casen1(判断值1):语句组1;break;casen2(判断值2):语句组2;break;…default:语句组;break;}查看例2.5一个条件语句if…else的例子和例2.6一个switch分支结构的例子

条件表达式的类型必须为整型或字符型;

n1,n2,…必须为常量;

default语句是可选的;

break语句用于退出

switch,若无则程序将不再比较而是依次执行所有语句。switch分支结构实际上也是一种if…else结构不过它在编码时很容易写出判断条件,特别有很多选项的时候,它把括号里变量的值同每种情况列出的值作比较,如果相等,就执行后面的语句,如果不等,就执行default语句。在switch语句中,通常在每一种case情况后都应使用break语句,否则,第一个相等情况后面所有的语句都会被执行,这种情况叫做落空。35整理ppt2.4.1分支语句1.if语句条件表达式的类型必须为整2.4.2循环语句

Java的循环语句分为3种:

1.for循环

2.while循环

3.do…while循环结构36整理ppt2.4.2循环语句Java的循环语句分为3种:361.for循环Java语言的for语句的语法格式是:For(初始语句;逻辑表达式;迭代语句){语句组;}for语句的语义是:先执行初始语句,判断逻辑表达式的值,当逻辑表达式为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值。这个过程一直进行下去,直到逻辑表达式的值为假时,循环结束,转到for之后的语句。for循环结构在实现顺序递增直到达到某一极限的循环时是一个强有力的工具,for语句的格式要求把一个变量和一个确定的极限作比较,当达到极限时,中止循环。

初始语句和迭代语句中可以含有多个语句,各语句间以逗号分隔。

for语句括号内的3部分都是可选的,逻辑表达式为空时,默认规定为恒真。37整理ppt1.for循环Java语言的for语句的语法格式是:初始语1.for循环例如:for(i=0;i<10;i++){

语句组;}在这个例子中变量i被设为0;第二个表达式i<10,指出循环何时结束,对0~9的数值表达式都为真(这就是说循环应该继续);最后的表达式i++指出循环每次对变量做什么,在例子中,循环使i(0~9)共10次执行循环体。

注意(1)初始语句可以是以逗号分开的多个语句,并且按照从左到右的顺序逐个执行。(2)迭代语句后面不能加分号。(3)三个表达式都可以为空。(4)若循环变量在for语句前面已经有定义并具有循环初值,则初始语句可以为空(分号不可省略)。(5)若逻辑表达式或迭代语句为空,则循环体为无条件循环。(6)for语句可以嵌套。38整理ppt1.for循环2.while循环while循环先判断逻辑表达式的值是否为真,若为真,则执行给定的循环体语句,直到表达式的值为假。while循环的形式如下:while(逻辑表达式)

{

语句序列;//循环体

}while循环的执行过程为:首先求逻辑表达式的值(称为循环条件),如果为true,则执行语句序列(也称循环体)。第二次循环又重新求逻辑表达式的值,判断循环条件是否成立,若还为true,再执行一遍循环体,这时第二次循环执行完毕。重复这个过程,直到循环条件为false,这时退出while循环的执行,控制权转移到while语句后。当循环体只有一条语句时,花括号可以省略。查看例2.8将例2.7改为使用while循环39整理ppt2.while循环while循环先判断逻辑表达式的值是否为真3.do…while循环结构do…while循环先执行给定的循环体语句,然后检查表达式,若表达式值为假则跳出循环,这种控制并不是很常用,但有时却非常重要,使用时注意结尾处while语句后的分号。do…while循环的形式如下:do{

语句序列; //循环体while(逻辑表达式);do…while循环的执行过程是:首先执行循环体,一旦循环体执行完毕,求逻辑表达式的值,若为true,则再执行循环体;循环体执行完毕后,重新求逻辑表达式的值,若仍为true则再执行一遍循环体。重复这个过程,直到逻辑表达式的值为false,退出do…while循环,控制权转移到do…while语句后。例2.9将例2.8改为使用do…while循环40整理ppt3.do…while循环结构do…while循环先执行给定2.4.3特殊的控制流语句Java语言抛弃了有争议的goto语句,代之以特殊的控制流语句:break和continue语句,它们用在分支语句或循环语句中,使得程序员更方便地控制程序执行的方向。1.标号(label)标号提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中遇到break后面有标号时,不管其他控制变量如何,都会终止标号的循环体。标号可以放在for,while或do语句之前,其语法格式为:标号:语句;2.breakbreak语句可用于switch,for,while及do语句中。它的语义是跳过本代码块中余下的所有语句,转到块尾,执行其后的语句,如果break后面有标号,会终止标号的循环体。查看例2.10break循环举例41整理ppt2.4.3特殊的控制流语句Java语言抛弃了有争议的go3.ContinueContinue语句必须用于循环结构中,它有两种使用形式。一种是不带标号的continue语句,它的作用是终止当前这一轮的循环,跳过本轮剩余的语句,直接进入当前循环的下一轮。在while或do…while循环中,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论