欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《面向对象程序设计》第二章教学.ppt

    • 资源ID:6529531       资源大小:437KB        全文页数:51页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《面向对象程序设计》第二章教学.ppt

    第二章 Java基础,学习目标:掌握标识符和关键字熟练使用各种数据类型的定义、表示和引用掌握算术、逻辑和布尔运算符自动类型转换和强制类型转换,2.1 标识符Java保留字,标识符的命名规则,一定要牢记啊,类名首字母大写;符号常量名全部字母大写;变量名、对象名、方法名、包名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写;,合法的标识符identifier userName User_Name_sysval$change A98_23 _abc非法的标识符2mailroom#class A-43_1the,Java保留字(又称关键字),关键字不能作为标识符;关键字是具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word),下面列出了java语言中的所有保留字:abstract do implements protected throws boolean double import public transient break else instanceof return true this throwbyte extends int short try synchronizedcase false interface static void continuecatch final long strictpf volatile goto defaultchar finally native super while packageclass float new switch const for null if privatejava中的关键字均用小写字母表示。,数据类型与常量、变量,数据是计算机程序处理的对象,数据的类型决定了数据的表示方式、取值范围以及可进行的操作。基本类型包括:整型 byte,short,int和long浮点型 float和double字符型 char逻辑型boolean引用类型(需要用户自己定义)数组接口类,基本数据类型,存储没有小数部分的数据类型Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性,1、整型,数值20在内存中的存储形式,00010100 byte(1字节)00000000 00010100 short(2字节)高位置000000000 00000000 00000000 00010100 int(4字节)00000000 00000000 00000000 00000000 00000000 00000000 00000000 00010100 Long(8字节),2、浮点型,浮点型是带有小数部分的数据类型,包括两种不同的数据类型:float和double。float类型的变量占用4个字节(32位),double类型的数据则需要8个字节(64位)内存。在许多程序中,就其表示的数值范围而言,使用float类型来存储浮点数已经足够了。,浮点数据有两种表示形式十进制数形式,必须含有小数点,例如:3.14 314.0.314 科学记数法形式,如3.14e2 3.14E-12Java浮点数据默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:double d=3.14;float f=3.14f;,3、布尔型(boolean),布尔数据类型用于表达两个逻辑状态之一的值:true(真)或false(假)。布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:boolean b=true;,4、字符型(char),字符型数据类型用于存放单个字符,每个字符占用2个字节(16位)的存储空间。将一个字符放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的Unicode代码放到存储单元中。char c1=t;char c2=3;char基于Unicode编码,u前缀标志着这是一个Unicode值例如,u0061代表字符a。,新术语,在Java技术中:变量=属性方法=操作类仍然称作类,所谓类就是一类属性(变量)和操作(方法)的描述。其中,属性可用一系列的变量表达,而操作用一系列方法表示。一类人员Person:抽象出下列属性:名字、年龄、身高、婚否、性别,分别用变量name、age、height、marriage、sex表示(见名知义),吃饭,讲话,走路等行为可表示为相应的方法eat(),speak(),walk()等。,用Java语言描述Person类如下:,class Person/以下5个是变量String name;int age;double height;boolean marriage;char sex;speak()/方法eat()/方法,对Person类中某一特定的人,上述变量就有特定的值,如name(张三),age(20),height(1.76),marriage(false),sex(m)。,变量(属性),变量是用来存放指定类型的数据,其值在程序运行过程中是可变的。在使用Java中的每个变量之前,都必须对它进行声明。变量的声明形式如下:修饰符类型标识符号 变量名常量;变量声明包括指明变量的数据类型、变量名和作用域 其中数据类型说明了这个变量能存放什么样的数据。变量名是用来标识该变量的,我们存取变量的内容(变量的值)都是通过变量名来实现的。,变量名,在Java中用标识符来表示变量名。象Person这个类,我们使用了name、age、tall、marriage、sex这几个标识符,分别定义了五个变量。程序员应该为变量取有意义的名称,以利于程序的阅读和理解。(见名知义)但变量取名时还有一些限制:变量名由字母、数字、下划线或美元符“$”组成的变量名不能以数字作为第一个字符区分大小写下面是合法的变量名:Month(不同于month),student_name,class1,dollar$,$abc而下面的变量名都不合法:3a46,ab,abc-d,#ef.,变量名,变量名中字母大写和小写是有区别的,name和Name表示两个不同的变量名。Java中约定,变量名以小写字母开头,若一个变量名由超过一个单词所组成,则第一个单词之后的所有单词都以大写字母开头,以便于理解该变量名。例如:anIntVar表示一个整型变量。,变量的初始化,赋予变量一个初值,称为变量的初始化。可在定义变量的同时进行变量的初始化,如:int anIntVar=1;char aCharVar=A;float aFloatVar=1.23f;boolean aBooleanVar=true;,也可定义变量后再单独初始化,如:,int anIntVar;char aCharVar;float aFloatVar;boolean aBooleanVar;anIntVar=1;aCharVar=A;aFloatVar=1.23f;aBooleanVar=true;两种方法都完成了定义变量:anIntVar、aCharVar、aFloatVar、aBooleanVar,并分别给它们赋初值:1、A、1.23、true。,变量的作用域,变量的作用域:变量的使用范围。假定在某代码段中能够使用一特定变量,则此段代码即是该变量的作用域。,在类中声明的类成员变量,可在该类的各个成员方法中使用;在某个方法体中或参数表中声明的变量,只能在该方法体中使用;在某个语句块中声明的变量,只能在该语句块中使用。,变量的作用域,public class VariableLifeTimepublic static void main(String args)int sum=0;int A=10;for(int x=1;x=5;x+)int y=0;y=y+A;sum=sum+y;System.out.print(x=+x);System.out.print(y=+y);System.out.println(sum=+sum);System.out.println(sum=+sum);,查看结果:VariableLifeTime.java,class Person/以下5个成员变量String name;int age;double tall;boolean marriage;char sex;/以下2个方法eat(String eatwhat)System.out.println(name+”ate up the“+eatwhat);,Speak(String saywhat,int time)int i;for(i=0;itime;i+)System.out.println(name+”say:”+saywhat);,变量name、age、tall、marriage、sex的作用域,变量i的作用域,下图为变量作用域的示意图:,由左图可以看出,变量name、age、tall、marriage、sex和变量i的作用域是不同的。变量name、age、tall、marriage、和sex的作用域是整个类,在类的方法中也可使用它们。这种变量称之为成员变量。确切地讲,成员变量是在类当中、但不是在其类的方法中定义的变量。而变量i是定义在speak方法中,它的作用域仅限于speak方法中。这类定义在某方法中的变量叫做局部变量。注意:同一作用域中不可有同名的变量。如上面的代码在speak方法中不能再定义一个名字为i的变量。,在Java中嵌套的程序块的内层和外层,不允许定义相同的变量名,否则将导致编译错误。public class ScopeErrorpublic static void main(String args)int E=999;int E=999;System.out.println(“E=+E);,常量,常量是指在程序运行过程中其值不变的量。定义常量的方法有两种:(1)在定义变量的类型前面加final关键字,并同时进行初始化,如下所示:final int aFinalVar=0;final double PI=3.14159;(2)在定义变量的类型前面加final关键字,不进行初始化。通过另外的语句进行赋值。如下所示:final int aFinalVar;aFinalVar=0;,常量和变量,常量与变量之间最根本的区别是:常量在经过定义并给它一个值之后,不能再对它进行修改。而变量则无此限制。对于常量a,进行如下的操作是错误的:final int a=1;.a=2;而对于变量a,如下这段代码则是正确的。int a=1;a=2;,示例:public class Assign public static void main(String args)int x;int y;/定义x,y两个整型变量 float z=1.234f;/指定变量z为float型,且赋初值为1.234double w=1.234;/指定变量w为double型,且赋初值为1.234boolean flag=true;/指定变量flag为boolean型,且赋初值为truechar c;/定义字符型变量cString str;/定义字符串变量strString str1=Hi;/指定变量str1为String型,且赋初值为Hic=A;/给字符型变量c赋值Astr=bye;/给字符串变量str赋值byex=12;/给整型变量x赋值为12y=x;/给整型变量y赋值为12,2.3 运算符和表达式,运算符分类依据操作数的个数:单目运算符(一元运算符)、双目运算符(二元运算符)、多目运算符。根据操作数和运算结果分为:算术、关系、逻辑、位运算符、赋值运算符、条件运算符、括号运算符。,1、算术运算符:,运算符优先级别,优先级规则:()乘除(从左到右)加减(从左到右)复杂的表达式:C=25-5*4/2-10+4;从左到右的规则求值,结果是:34按照优先级规则求值,结果是:9用()来表述想要的结构,2、关系运算符:,3、逻辑(布尔)运算符:,逻辑(布尔)运算真值表:,条件与(短路与)条件或(短路或),4、位运算符:,位运算是对整数类型的操作数按二进制的位进行运算,运算的结果仍然是整数类型值。,位运算真值表,位移运算符,位移运算举例,运算符:将操作数的二进制位右移,低位溢出,高位补充原来高位的值。如 int b=60;b=b1;(此时b的值为30,二进制右移一位相当于该数除?)考虑若b=-60,b=b1,b?运算符:将操作数的二进制位右移,低位溢出,高位补0。,5、赋值运算符及条件运算符:,赋值运算符的形式:变量名=表达式;复合赋值运算符 x+=y x=x+y x/=y x=x/y条件运算符的形式:表达式1?表达式2:表达式3举例 int min,x=4,y=20;min=(xy)?x:y;,运算符的优先级及结合性,表达式的运算法则:按照运算符优先级从高到低的顺序进行计算,同级运算符按运算符的结合性进行;到遇到圆括号时,先进行括号内的运算,再将括号内的运算结果与括号外运算符和操作数进行计算。运算符号的优先级:.、()单目运算符算术运算位移运算关系运算按位逻辑运算逻辑运算条件运算赋值运算,升级和类型转换,赋值和表达式可能引起计算的数据类型与保存结果的存储位置之间的不匹配。,右边的数据类型小于左边的数据类型:byte num1=53;byte num2=47;long num3;num3=num1*num2;右边的数据类型大于左边的数据类型:int num1=53;int num2=47;byte num3;num3=num1+num2;右边的数据类型和数据大于左边的数据类型:int num1=53;int num2=47;byte num3;num3=num1*num2;,注意:Java是强类型语言,因此,在进行赋值操作时要对类型进行检查;当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换(升级);当将占位数多的类型赋值给占位数少的类型时,需要由用户使用显式的强制类型转换;其一般形式为:(类型名)(表达式),类型转换,短类型 长类型:自动升级长类型 短类型:强制转换,自动升级规则,1.(byte或 short)op int int 2.(byte或 short或 int)op long long 3.(byte或 short或 int或 long)op float float 4.(byte或 short或 int或 long或 float)op double double 5.char op int int 其中,箭头左边表示参与运算的数据类型op为运算符(如加、减、乘等)右边表示运算结果的数据类型。如:3+4.5,因为4.5是float型,所以3先被转换为float型,然后再于4.5相加,其结果也为float型。,例:自动升级实例,public class Promotion public static void main(String args)byte b=10;char c=a;int i=90;float f=3.5f;double d=1.234;float f1;f1=f*b;int i1;i1=c+i;double d1;d1=f1/i1 d;查看结果:Test.java,查看结果:Promotion.java,强制类型转换,类型转换可缩小值的范围例:int a;long b;b=a;a=(int)b;/*把long型变量b强制转换为int型*/int x=365;byte y=(byte)x;/*把int型变量i强制转换为byte型*/强制转换后丢失一部分数据,使得y的值为100。一般使用强制类型转换可能会导致数值溢出或精度的下降,应尽量避免。浮点类型转换为整数类型将使所有小数部分丢失。,public class Agepublic static void main(String args)int ageYears;int ageDays;long ageSeconds;ageYears=Integer.parseInt(args0);ageDays=ageYears*365;ageSeconds=(ageYears*365*24L*60*60);System.out.print(“You are”+ageDays+”days old.”);System.out.print(“You are”+ageSeconds+”seconds old.”);查看结果:Age.java,变量类型转换,短类型 长类型:默认长类型 短类型:强制例:int a;long b;b=a;a=(int)b;,不同类型数据间的优先关系如下:低-高byte,short,char-int-long-float-double,高级数据类型要转换成低级数据类型,需要用到强制类型转换。其一般形式为:(类型名)(表达式)如:int i;byte b;i=356;b=(byte)i;/强制转换后丢失一部分数据,使得b的值为100。一般使用强制类型转换可能会导致数值溢出或精度的下降,应尽量避免。,

    注意事项

    本文(《面向对象程序设计》第二章教学.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开