书签 分享 收藏 举报 版权申诉 / 47
上传文档赚钱

类型JAVA程序设计教案课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4301065
  • 上传时间:2022-11-27
  • 格式:PPT
  • 页数:47
  • 大小:438KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《JAVA程序设计教案课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    JAVA 程序设计 教案 课件
    资源描述:

    1、 Java程序编写过程就是设计类、实现类,定程序编写过程就是设计类、实现类,定义其属性、行为的过程。义其属性、行为的过程。例例1-1 HelloWorldApp.java 例例1-2 MyMusic.java 例例1-3 ColorRect.java 例例1-4 HelloWorld.java一、一、Java程序的构成程序的构成 从上面演示的程序可以看出,一般的从上面演示的程序可以看出,一般的Java源程源程序文件由以下三部分组成:序文件由以下三部分组成:1、Package 语句(语句(0句或句或1句)句)2、import 语句(语句(0句或多句)句或多句)3、类定义、类定义 说明:说明:1、

    2、Package语句表示本程序所属的包。它只能语句表示本程序所属的包。它只能有有 1句或没有。如果有,必须放在最前面。如果没句或没有。如果有,必须放在最前面。如果没有,表示属于默认包。有,表示属于默认包。2、import表示引入其他类的库,便于使用。该表示引入其他类的库,便于使用。该语句可以有语句可以有0句或多句,它必须放在类定义的前面。句或多句,它必须放在类定义的前面。3、类定义是、类定义是Java源程序的主要组成部分,每个源程序的主要组成部分,每个文件中可以定义若干个类。文件中可以定义若干个类。Java程序中定义类使用程序中定义类使用关键字关键字Class,每个类的每个类的定义由类头和头体两

    3、部分组成。类头除了声明类名定义由类头和头体两部分组成。类头除了声明类名之外,还可以说明类的继承特性,当一个类被定义之外,还可以说明类的继承特性,当一个类被定义为是另一个已存在的类(父类)的子类时,它就可为是另一个已存在的类(父类)的子类时,它就可以从其父类中继承一些已定义好的类成员而不必自以从其父类中继承一些已定义好的类成员而不必自己重复编码。类体部分用来定义属性和方法这两种类己重复编码。类体部分用来定义属性和方法这两种类的成员,其中的成员,其中方法方法类似于其他高级语言中的函数,类似于其他高级语言中的函数,而而属性属性则类似变量。则类似变量。4、在、在java源程序中只能有一个公共类,应用程

    4、源程序中只能有一个公共类,应用程序中包含序中包含main方法,整个类定义由大括号方法,整个类定义由大括号 括起括起来。来。在方法或属性前面可以加修饰符,在方法或属性前面可以加修饰符,如如public、static、void等。等。5、语句是构成、语句是构成java程序的基本单位之一。每一程序的基本单位之一。每一条语句都由分号条语句都由分号“;”结束,语句块可以使用结束,语句块可以使用。6、Java程序允许任意多的空白。程序允许任意多的空白。7、/后的内容为注释。注释也可使用下列方式后的内容为注释。注释也可使用下列方式:/*.多行多行.*/或或 /*多行多行*/。二、标识符、数据类型、变量与常量

    5、二、标识符、数据类型、变量与常量2.1 标识符标识符 任何一个变量、常量、方法、函数、对象和类任何一个变量、常量、方法、函数、对象和类都需要有一个名字,这些名字就是标识符。标识都需要有一个名字,这些名字就是标识符。标识符由编程者自行确定。标识符要满足以下规定:符由编程者自行确定。标识符要满足以下规定:1、标识符必须以字母、下划线或美元符号开、标识符必须以字母、下划线或美元符号开头,不能以数字开头;头,不能以数字开头;2、在字母、下划线或美元符号后可以跟数字、在字母、下划线或美元符号后可以跟数字、字母、下划线或美元符号,没有长度限制;字母、下划线或美元符号,没有长度限制;3、标识符区分大小写,如

    6、、标识符区分大小写,如Abc不同于不同于abc;4、标识符不能为关键字,但是它可以包含关、标识符不能为关键字,但是它可以包含关键字作为它名字的一部分,如键字作为它名字的一部分,如thisone。有效标识符,如:有效标识符,如:identifer thisWto User_naIn$max$123 q1 qqq_$567maqwww_111 无效标识符,如:无效标识符,如:12qqqq wooo#wo woclass 98.3 说明说明:类名首字母应大写;类名首字母应大写;变量、方法、对象的首字母应小写;变量、方法、对象的首字母应小写;在标识符中的所有单词都应靠在一起,在标识符中的所有单词都应靠

    7、在一起,而且大写中间单词的首字母,如而且大写中间单词的首字母,如ThisIsClassName;常数初始化字符则全部大写。常数初始化字符则全部大写。2.2 数据类型数据类型 JAVA编程语言有八个原始编程语言有八个原始(基本基本)数据类型数据类型,分为分为以下四种:以下四种:1、逻辑类、逻辑类boolean boolean用来表示布尔型(逻辑)数据的数据类用来表示布尔型(逻辑)数据的数据类型。型。Boolean型变量或常量的取值只有型变量或常量的取值只有true和和false两个。两个。true代表代表“真真”,false代表代表“假假”。2、字符类、字符类char 使用使用char类型可表示

    8、单个字符,用单引号括起来类型可表示单个字符,用单引号括起来的一个字符,如的一个字符,如q,H等。它在内存中占两个字节。等。它在内存中占两个字节。它表示的是它表示的是Unicode集。集。Java也提供转义字符,也提供转义字符,以反斜杠(以反斜杠()开头,将其后的字符转变为另外的)开头,将其后的字符转变为另外的含义。含义。用用“”引用的文字是字符串类型,不是字符类引用的文字是字符串类型,不是字符类型。型。ddd:1到到3位八进制数据所表示的字符位八进制数据所表示的字符rxxx:1到到4位十六进制数据所表示的字符位十六进制数据所表示的字符:单引号字符单引号字符 “:双引号字符双引号字符:反斜扛字符

    9、反斜扛字符 r:回车回车n:换行换行 f:进纸进纸t:水平制表符水平制表符 b:退格退格 3、整数类、整数类byte、short、int、long 四种整数类型四种整数类型byte(字节型字节型)、short(短整型短整型)、int(整型整型)、long(长整型长整型)在内存中所占长度不在内存中所占长度不同,分别是同,分别是1,2,4,8字节。表示的范围是不字节。表示的范围是不一样的。一样的。整数默认为整数默认为int类,如在其后有一个字母类,如在其后有一个字母“L”或或“l”则表示为长整型值。则表示为长整型值。十进制整数,如十进制整数,如123,-314,0 八进制整数,要求以八进制整数,要

    10、求以0开头,如开头,如012,-021 十六进制整数,要求以十六进制整数,要求以0 x开头,如开头,如0 x124、浮点类、浮点类double,float 如果一个数包括小数点或指数部分,或者在数字如果一个数包括小数点或指数部分,或者在数字后带有字母后带有字母F或或f(float)、)、D或或d(double),则则该数为浮点数。如果不明确指明浮点数的类型,则该数为浮点数。如果不明确指明浮点数的类型,则认为是认为是double。如:。如:3.14159 2.08E25 6.56f float为单精度为单精度(32位位)、double为双精度为双精度(64位位).2.3 常量与变量常量与变量 在

    11、在JavaJava中,不同类型的数据既可以以常量的形中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。式出现,也可以以变量的形式出现。常量就是指在程序执行期间其值不能发生变化常量就是指在程序执行期间其值不能发生变化的数据,常量是固定的。如整型常量的数据,常量是固定的。如整型常量123123,实型,实型常量常量1.231.23,字符常量,字符常量AA,布尔常量,布尔常量truetrue等。等。a.a.整型常量整型常量 b.b.浮点型常量浮点型常量 c.c.布尔常量布尔常量 d.d.字符常量字符常量 如如AA、DD e.e.字符串常量字符串常量 如如“ASD”ASD”、“A123”

    12、A123”变量的值则是可以变化的,它的定义包括变量变量的值则是可以变化的,它的定义包括变量名、变量类型和作用域几个部分。声明变量语句如名、变量类型和作用域几个部分。声明变量语句如下:下:类型类型 变量名变量名,变量名变量名=变量初值变量初值 例如:例如:int a,b,c;int a,b,c;double d1=3.2,d2=0.0;double d1=3.2,d2=0.0;注意以下几点:注意以下几点:(1 1)变量名必须是一个合法的标识符。变量名)变量名必须是一个合法的标识符。变量名应具有一定的含义,以增加程序的可读性。应具有一定的含义,以增加程序的可读性。(2 2)变量类型可以为前面所说的

    13、任意一种数据)变量类型可以为前面所说的任意一种数据类型类型。(3)声明一个变量的同时也就指明了变量的)声明一个变量的同时也就指明了变量的作用域,变量的作用域指明可访问该变量的一段作用域,变量的作用域指明可访问该变量的一段代码。代码。(4)(4)变量的分类:变量的分类:方法(语句块)局部变量、方法参数变量、方法(语句块)局部变量、方法参数变量、例外处理参数变量、对象变量、实例变量、类变例外处理参数变量、对象变量、实例变量、类变量等六种。量等六种。局部(局部(locallocal)变量)变量是在一个方法或语句块内是在一个方法或语句块内定义的变量定义的变量,也被称作自动(也被称作自动(automat

    14、icautomatic)、临)、临时(时(temporarytemporary)或栈()或栈(stackstack)变量。)变量。当执行进入一个方法或语句块时,局部变量被当执行进入一个方法或语句块时,局部变量被创建,当执行离开该方法或语句块时,局部变量创建,当执行离开该方法或语句块时,局部变量被清除,它的作用域为它所在的代码块被清除,它的作用域为它所在的代码块 (整个整个方法或方法中的某块代码)。在成员函数方法内方法或方法中的某块代码)。在成员函数方法内定义的变量对该成员变量是定义的变量对该成员变量是“局部的局部的”,因而,因而,你可以在几个成员函数方法中使用相同的变量名你可以在几个成员函数方

    15、法中使用相同的变量名而代表不同的变量。而代表不同的变量。在一个确定的域中,变量名应该是唯一的。通在一个确定的域中,变量名应该是唯一的。通常,一个域用大括号常,一个域用大括号“”和和“”来划定。来划定。int a=0 int a=0方法参数变量方法参数变量(形参形参)传递给方法,它的作用域就是传递给方法,它的作用域就是这个方法。这个方法。例外处理参数变量例外处理参数变量传递给例外处理代码,它的作用传递给例外处理代码,它的作用域就是例外处理部分。域就是例外处理部分。对象变量对象变量就是一个类的对象,如就是一个类的对象,如:Student aaa。实例变量和类变量实例变量和类变量指在类中声明的变量,

    16、而不是在指在类中声明的变量,而不是在类的某个方法中声明,它的作用域是整个类。如描类的某个方法中声明,它的作用域是整个类。如描述汽车类时,有颜色、长短、重量、排气量、品牌述汽车类时,有颜色、长短、重量、排气量、品牌等属性值。一部具体的汽车这些值有的不会相同,等属性值。一部具体的汽车这些值有的不会相同,但当描述某一品牌的汽车时,品牌就是固定的,每但当描述某一品牌的汽车时,品牌就是固定的,每部车都相同。这种情况下,颜色、长短、重量、排部车都相同。这种情况下,颜色、长短、重量、排气量就是实例变量,而品牌就是类变量。用关键字气量就是实例变量,而品牌就是类变量。用关键字static来区别。如:来区别。如:

    17、static x;下面看一道考试题:下面看一道考试题:一、简述变量的类型,并用一个简单、片段程序说明哪些一、简述变量的类型,并用一个简单、片段程序说明哪些变量属于的类型(变量属于的类型(10分)分)。一、答:一、答:在面向对象编程中,变量可以分为在面向对象编程中,变量可以分为6种类型,它们分别是:种类型,它们分别是:类变量、实例变量、局部变量、方法参数变量、对象变量、类变量、实例变量、局部变量、方法参数变量、对象变量、例外参数变量。如:例外参数变量。如:Class aaaint x;static int y;JButton text;public void sa(string w)Int cc

    18、=0;上例中的上例中的x实例变量;实例变量;y类变量;类变量;w方法参数变量;方法参数变量;cc局部变量;局部变量;text对象变量。对象变量。(4 4)下面是几个变量的声明:)下面是几个变量的声明:int a,b,c;/定义定义a,b,c为为int型变量型变量 double d,e;/定义定义d,e为为double型变量型变量 float f=2.5,g=5.8;/定义定义f,g为为float型变量,型变量,并赋初值。其中,多个变量间用逗号隔开。并赋初值。其中,多个变量间用逗号隔开。(5 5)在)在JavaJava程序中声明变量后,需给该变量赋程序中声明变量后,需给该变量赋值。可用赋值语句来

    19、初始化变量值。可用赋值语句来初始化变量任何局部变任何局部变量都不能没有初始值(否则,则无法通过编译)。量都不能没有初始值(否则,则无法通过编译)。赋值方式如下:将已声明的变量名放在左边,赋值方式如下:将已声明的变量名放在左边,然后是等号(),右边是有适当值的然后是等号(),右边是有适当值的JavaJava表达表达式。式。它的意思是它的意思是“取得右边的值,把它复制到左取得右边的值,把它复制到左边边”。右边的值可以是任何常数、变量或者表达。右边的值可以是任何常数、变量或者表达式,只要能产生一个值就行。但左边的值必须是式,只要能产生一个值就行。但左边的值必须是一个明确的、已命名的变量。如:一个明确

    20、的、已命名的变量。如:int a;/这是声明这是声明 a=45;/这是赋值这是赋值 char c;/这是声明这是声明 c=y;/这是赋值这是赋值 相对于一个方法的相对于一个方法的“局部局部”变量,如果在初始变量,如果在初始化之前想使用它,编译器会提示出错,如下面这化之前想使用它,编译器会提示出错,如下面这样就是不允许的:样就是不允许的:void f()()int i;i=i+1;当一个对象被创建时,实例变量在分配存储当一个对象被创建时,实例变量在分配存储器的同时被值初始化。初始化值如表器的同时被值初始化。初始化值如表3-43-4所示。所示。下面给出几个Java程序的例子,使大家对数据类型进一步

    21、加深理解。【例1.5】Java中的数据类型 【例1.6】Java中变量的作用域一 【例1.7】Java中变量的作用域二 【例1.8】Java中对象的初始化 三、运算符三、运算符 按照运算符功能来分,基本的运算符分包括算术按照运算符功能来分,基本的运算符分包括算术运算符、关系运算符、逻辑运算符、位运算符、赋运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符等。值运算符、条件运算符等。3.1 算术运算算术运算 算术运算符包括加号(算术运算符包括加号(+)、减号()、减号(-)、乘号)、乘号(*)、除号()、除号(/)、取模()、取模(%)、自增运算符)、自增运算符(+)、自减运算符(

    22、)、自减运算符(-)等。)等。在算术运算中,有以下值得注意的地方:在算术运算中,有以下值得注意的地方:(1 1)算术运算符的总体原则是先乘除、再加减,)算术运算符的总体原则是先乘除、再加减,括号优先。括号优先。(2 2)整数除法会直接砍掉小数,而不是进位。)整数除法会直接砍掉小数,而不是进位。(3 3)与)与C C语言不同,对取模运算符语言不同,对取模运算符%来说,其来说,其操作数可以为浮点数。如:操作数可以为浮点数。如:37.2%10=7.237.2%10=7.2。(4 4)JavaJava也用一种简写形式进行运算,并同也用一种简写形式进行运算,并同时进行赋值操作。例如,为了将时进行赋值操作

    23、。例如,为了将1010加到变量加到变量x x,并将结果赋给并将结果赋给x x,可用:,可用:x+=10 x+=10。(5 5)JavaJava对加运算符进行了扩展,使它能够对加运算符进行了扩展,使它能够进行字符串的连接,如进行字符串的连接,如abc+defabc+def,得到串,得到串abcdefabcdef。(6 6)前缀)前缀+、-与后缀与后缀+、-的区别:的区别:+i+i(前缀(前缀+)在使用)在使用i i之前,使之前,使i i的值加的值加1 1,因此执行完因此执行完+i+i后,整个表达式和后,整个表达式和i i的值均为的值均为i+1i+1;i+i+(后缀(后缀+)在使用)在使用i i之

    24、后,使之后,使i i的值加的值加1 1,因此,因此执行完执行完i+i+后,整个表达式的值为后,整个表达式的值为i i,而,而i i的值变的值变为为i+1i+1。例子:例子:int j=15,k=15;int x=+j;int y=k+;结果:结果:x16j 16y15k16int i=3;System.out.println(+i);结果为结果为4,i=4int i=3;System.out.println(i+);结果为结果为3,i=4int a=1;int b=2;int c=+b;int d=a+;c+;System.out.println(“a=”+a);System.out.prin

    25、tln(“b=”+b);System.out.println(“c=”+c);System.out.println(“d=”+d);结果:结果:a=2 b=3 c=4 d=1 -i在使用i之前,使i的减1,因此执行完-i后,整个表达式和i的值均为i-1;i-在使用i之后,使i的减1,因此执行完i-后,整个表达式的值为i,而i的值变为i-1。【例1.9】Java中算术运算符的使用 3.2 关系运算关系运算 关系运算符用来比较两个值,返回布尔类型的关系运算符用来比较两个值,返回布尔类型的值值truetrue或或falsefalse。关系运算符都是二元运算符,如。关系运算符都是二元运算符,如下所示。

    26、下所示。op1op2 op1 op1op2 op1大于大于op2 tureop2 ture =op1=op2 op1 =op1=op2 op1大于等于大于等于op2 tureop2 ture op1op2 op1 op1op2 op1小于小于op2 tureop2 ture =op1=op2 op1 =op10)&(ab);e=(ab)&(ac);f=(b=c)|(ab);g=(b=c)&(ay&x+y-;运行结果:运行结果:b=false 对对“或运算或运算”如果运算符左边的表达式的值为如果运算符左边的表达式的值为truetrue,则整个表达式的结果为则整个表达式的结果为truetrue,不

    27、必对运算符右边的,不必对运算符右边的表达式再进行运算;同样,对表达式再进行运算;同样,对“与运算与运算”,如果左边,如果左边表达式的值为表达式的值为falsefalse,则不必对右边的表达式求值,则不必对右边的表达式求值,整个表达式的结果为整个表达式的结果为falsefalse。【例【例1.111.11】JavaJava中逻辑运算符的使用中逻辑运算符的使用 逻辑表达式往往可用于表示比较复杂的条件,逻辑表达式往往可用于表示比较复杂的条件,例如要判别某一年例如要判别某一年year是否为闰年,闰年的判别条是否为闰年,闰年的判别条件是:能被件是:能被4整除但不能被整除但不能被100整除,或者能被整除,

    28、或者能被400整除。整除。(year%4=0&year%100!=0)|(year%400=0)当当year为某一数值时,上述表达式值为为某一数值时,上述表达式值为true,则则year年为闰年,否则为非闰年。年为闰年,否则为非闰年。在逻辑表达式的求解中,并不是所有的逻辑运在逻辑表达式的求解中,并不是所有的逻辑运算都被执行,例如:算都被执行,例如:1.a&b&c:如果如果a非真,则不用判别非真,则不用判别b和和c,直接,直接输出输出false;若若a为真,则判别为真,则判别b,若若b非真,则不用非真,则不用判别判别c,直接输出,直接输出false;当;当a、b都为都为true时时,才判别才判别

    29、c的真假。的真假。2.a|b|c:如果如果a为真,则不用判别为真,则不用判别b和和c,直接输出直接输出true;若;若a为非真,则判别为非真,则判别b,若,若b为真,则不用判别为真,则不用判别c,直接输出,直接输出true;当当a、b都为都为false时,才判别时,才判别c的的真假。真假。3.4 位运算位运算 在在JavaJava语言中,位运算符有按位与运算符(语言中,位运算符有按位与运算符(&)、按位)、按位或运算符(或运算符(|)、按位异或运算符()、按位异或运算符()、按位取反运算符)、按位取反运算符()、左移位运算符()、左移位运算符()。)。1 1按位与运算(按位与运算(&)参与运算

    30、的两个值,如果两个相应位都为参与运算的两个值,如果两个相应位都为1 1,则该位的结果为则该位的结果为1 1,否则为,否则为0 0。即:即:0&0=0,0&1=0,1&0=0,1&1=12 2按位或运算(按位或运算(|)参与运算的两个值,如果两个相应位都是参与运算的两个值,如果两个相应位都是0 0,则该位结果为则该位结果为0 0,否则为,否则为1 1。即:即:0|0=0,0|1=1,1|0=1,1|1=13按位异或运算(按位异或运算()参与运算的两个值,如果两个相应位的某一个参与运算的两个值,如果两个相应位的某一个是是1,另一个是,另一个是0,那么按位异或(,那么按位异或()在该位的结)在该位的

    31、结果为果为1。也就是说如果两个相应位相同,输出位为。也就是说如果两个相应位相同,输出位为0,否则为,否则为1。即:即:00=0,01=1,10=1,11=04按位取反运算(按位取反运算()按位取反运算(按位取反运算()属于一元运算符,它只对)属于一元运算符,它只对一个自变量进行操作(其他所有运算符都是二元一个自变量进行操作(其他所有运算符都是二元运算符)。按位取反生成与输入位的相反的值运算符)。按位取反生成与输入位的相反的值若输入若输入0,则输出,则输出1;输入;输入1,则输出,则输出0。即:即:0=1,1=05左移位运算符(左移位运算符()运算符运算符执行一个左移位。作左移位运算时,执行一个

    32、左移位。作左移位运算时,右边的空位补右边的空位补0。在不产生溢出的情况下,数据左。在不产生溢出的情况下,数据左移移1位相当于乘以位相当于乘以2。例如:。例如:int a=64,b;b=a与与)运算符运算符执行一个右移位(带符号),左边按执行一个右移位(带符号),左边按符号位补符号位补0或或1例如:例如:int a=16,b;b=a2;/b=4 运算符运算符同样是执行一个右移位,只是它执同样是执行一个右移位,只是它执行的是不带符号的移位。也就是说对以补码表示行的是不带符号的移位。也就是说对以补码表示的二进制数操作时,在带符号的右移中,右移后的二进制数操作时,在带符号的右移中,右移后左边留下的空位

    33、中添入的是原数的符号位(正数左边留下的空位中添入的是原数的符号位(正数为为0,负数为,负数为1);在不带符号的右移中,右移后);在不带符号的右移中,右移后左边留下的空位中添入的一律是左边留下的空位中添入的一律是0。【例【例1.12】Java中位运算符的使用中位运算符的使用 假若对主数据类型执行任何算术运算或按位运假若对主数据类型执行任何算术运算或按位运算,算,“比比int小小”的数据(的数据(char、byte、short)在)在正式执行运算之前,那些值会自动转换成正式执行运算之前,那些值会自动转换成int,这,这样一来,最终生成的值就是样一来,最终生成的值就是int类型。类型。整型、实型、字

    34、符型数据可以混合运算。运算整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。通常,表达式中最行运算,转换从低级到高级。通常,表达式中最大的数据类型是决定了表达式最终结果大小的那大的数据类型是决定了表达式最终结果大小的那个类型。例如:若将一个个类型。例如:若将一个float值与一个值与一个double值值相乘,结果就是相乘,结果就是double;如将一个;如将一个int值和一个值和一个long值相加,则结果为值相加,则结果为long。不是所有的数据类型都允许隐含自动转换。例不是所有的数据类型都允许

    35、隐含自动转换。例如,下面的语句把如,下面的语句把longlong型数据赋值给型数据赋值给intint型数据,型数据,在编译时就会发生错误:在编译时就会发生错误:long i=10;int j=i;这是因为当把占用位数较长的数据转化成占用这是因为当把占用位数较长的数据转化成占用位数较短的数据时,会出现信息丢失的情况,因位数较短的数据时,会出现信息丢失的情况,因而不能够自动转换。这时就需要利用强制类型转而不能够自动转换。这时就需要利用强制类型转换,执行非兼容类型之间的类型转换。上面的语换,执行非兼容类型之间的类型转换。上面的语句写成下面的形式就不会发生错误:句写成下面的形式就不会发生错误:long

    36、 i=10;int j=(int)i;强制类型转换的格式是:强制类型转换的格式是:(数据类型)变量名(数据类型)变量名 经过强制类型转换,将得到一个在经过强制类型转换,将得到一个在“()()”中中声明的数据类型的数据,该数据是从指定变量所声明的数据类型的数据,该数据是从指定变量所包含的数据转换而来的。值得注意的是,指定变包含的数据转换而来的。值得注意的是,指定变量本身不会发生任何变化。量本身不会发生任何变化。将占用位数较长的数据转化成占用位数较短的将占用位数较长的数据转化成占用位数较短的数据时,可能会造成数据超出较短数据类型的取数据时,可能会造成数据超出较短数据类型的取值范围,造成值范围,造成

    37、“溢出溢出”。如:。如:long i=10000000000;int j=(int)i;因为转换的结果已经超出了因为转换的结果已经超出了intint型数据所能表示型数据所能表示的最大整数(的最大整数(42949672954294967295),造成溢出,产生了),造成溢出,产生了错误。错误。3.5 3.5 其他运算符其他运算符1 1三目条件运算符(?:)三目条件运算符(?:)在在JavaJava语言中,三目条件运算符(?:)与语言中,三目条件运算符(?:)与C C语言中的语言中的使用规则是完全一致的,使用的形式是:使用规则是完全一致的,使用的形式是:x?y:z;上面的三目条件运算的规则是:先计

    38、算表达式上面的三目条件运算的规则是:先计算表达式x x的值,若的值,若x x为真,则整个三目运算的结果是表达式为真,则整个三目运算的结果是表达式y y的值;若的值;若x x为假,为假,则整个三目运算的结果是表达式则整个三目运算的结果是表达式z z的值。的值。下面的例子实现了从两个数中找出较大的数的功能。下面的例子实现了从两个数中找出较大的数的功能。int a=3,b=4;int max=ab?a:b;maxmax的值为的值为4 4。三目条件运算是可以嵌套的,如有以下的语句,则三目条件运算是可以嵌套的,如有以下的语句,则max表示的是表示的是a、b、c三个数中的最大值,其值为三个数中的最大值,其

    39、值为5。int a=3,b=4,c=5;int max=(ab?a:b)c?(ab?a:b):c;2 2复合赋值运算符复合赋值运算符 赋值运算符赋值运算符“=”的作用是将运算符右边表达式的值赋的作用是将运算符右边表达式的值赋给左边的变量。复合赋值运算符的作用是先进行某种运算给左边的变量。复合赋值运算符的作用是先进行某种运算后,再对运算的结果进行赋值操作。后,再对运算的结果进行赋值操作。Java可以用一种简写形式进行运算,并同时进行赋值可以用一种简写形式进行运算,并同时进行赋值操作。例如,为了将操作。例如,为了将10加到变量加到变量x,并将结果赋给,并将结果赋给x,可用:,可用:x+=10(等价

    40、与(等价与x=x+10)。)。实际上不只是实际上不只是“+”可以这么做,表可以这么做,表3-7列出了列出了Java中中的所有复合赋值运算符。的所有复合赋值运算符。复合赋值运算符的简单使用:复合赋值运算符的简单使用:int a=5,b=8;System.out.println(“a=”+a+”,b=”+b);a+=b;System.out.println(“a=”+a+”,b=”+b);a-=b;System.out.println(“a=”+a+”,b=”+b);a*=b;System.out.println(“a=”+a+”,b=”+b);a/=b;System.out.println(“a

    41、=”+a+”,b=”+b);结果:结果:a=5,b=8 a=13,b=8 a=5,b=8 a=40,b=8 a=5,b=8 3对象运算符(对象运算符(instanceof)对象运算符instanceof用来判断一个对象是否是某一个类或者其子类的实例。如果对象是该类或者其子类的实例,返回ture;否则返回flase。4 4()和()和 括号运算符()的优先级是所有运算符中最高的,所以它可以改变表达式运算的先后顺序。在有些情况下,它可以表示方法或函数的调用。方括号运算符 是数组运算符。5 5 运算符运算符 运算符用于访问对象实例或者类的类成员函数。6 6newnew运算符运算符 new运算符用于创建一个新的对象或者新的数组。运算符优先级:运算符优先级:多种运算按预算符优先级从高向低进行,同级从左向右多种运算按预算符优先级从高向低进行,同级从左向右。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:JAVA程序设计教案课件.ppt
    链接地址:https://www.163wenku.com/p-4301065.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库