欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    【精品】java 实用程序设计(西电版第2章 java语言基础精品ppt课件.ppt

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

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

    【精品】java 实用程序设计(西电版第2章 java语言基础精品ppt课件.ppt

    Java 实用程序设计(西电版)第2章 Java语言基础2 2第 2 章 Java 语言基础 2.1 标识符与关键字Java语言的输入元素包含空白、注释和记号(token)三大类,而记号又分为标识符、关键字、常量、分隔符和操作符五类。记号实际上是Java语法的最小单元。3 3第 2 章 Java 语言基础1.Unicode字符集Java源程序是使用Unicode国际标准字符集中的字符编写的,这不同于C语言所使用的传统ASCII字符集。Unicode字符集中的字符最初都是用等宽的16 bit编码的,后来改为支持需要多于16 bit才能表示的字符。目前Unicode支持的字符编码范围为0 x00000 x10FFFF,其中从0 xFFFF往后的字符称为增补字符。增补字符无法用一个16 bit编码表示。4 4第 2 章 Java 语言基础5 5第 2 章 Java 语言基础2.标识符标识符的定义还应遵循以下规则。(1)标识符中的字母不仅限于AZ、az,还可以取自Unicode字符集中大于等于0 x00c0的、在所有国际语言中相当于一个字母的任何Unicode字符。因此Java支持程序员用其本国语言进行标识符命名。(2)标识符不能是Java关键字、布尔常量(true/false)或null常量。(3)标识符大小写敏感。(4)标识符不能包含空白。6 6第 2 章 Java 语言基础7 7第 2 章 Java 语言基础8 8第 2 章 Java 语言基础3.关键字关键字(keyword)是程序语言中预先定义的有特殊意义的标识符。表2-2中由ASCII字符组成的字符序列被保留为Java的关键字。9 9第 2 章 Java 语言基础10 10第 2 章 Java 语言基础4.注释Java中注释的表示方式分三种:(1)/*传统注释*/;(2)/单行注释;(3)/*文档注释,可以使用javadoc工具生成HTML格式的文档*/。11 11第 2 章 Java 语言基础使用注释时需要注意以下两点:(1)注释不支持嵌套,即在开始于“/”的注释中,“/*”和“*/”没有特殊的意义,而在开始于“/*”或“/*”的注释中,“/”没有特殊的意义。(2)Java语法规则要求注释不能出现在字符常量和字符串常量之中。12 12第 2 章 Java 语言基础5.空白与分隔符Java中的空白包括ASCII空格、水平制表符、换页符以及行终止符等。它可以由六种Unicode字符或字符串表示:(1)空格u0020,对应于ASCII字符SP;(2)水平制表符u0009,对应于ASCII字符HT;(3)换页符u000C,对应于ASCII字符FF;(4)换行符u000A,对应于ASCII字符LF;(5)回车符u000D,对应于ASCII字符CR;(6)字符串u000D u000A,对应于ASCII字符串CR LF。13 13第 2 章 Java 语言基础14 14第 2 章 Java 语言基础2.2 数 据 类 型数据类型广泛存在于Java语言的常量、变量、表达式、方法和类属性中。Java是一种强类型的语言,因而Java的每个变量和表达式均有一个编译时可知的确定类型。Java虚拟机希望尽可能多的类型检查能够在程序运行之前完成。类型的意义在于,限定变量和表达式的取值范围、限定在特定值上能够执行的操作、确定操作符的意义等。15 15第 2 章 Java 语言基础1.布尔型布尔型表示一个逻辑量,布尔型对应的关键字为boolean。boolean类型的数据有两种可能的取值,分别由布尔常量true和false表示。boolean类型的变量如果有默认初始值,则默认初始值为false。与C语言不同,Java中布尔值与整型值之间不能相互转换。boolean类型的值可以通过关系操作符、逻辑操作符等进行运算,可以作为多种复杂程序流程的分支判定条件。16 16第 2 章 Java 语言基础2.整型Java中的整形包含byte、short、int、long、char五种。它们的长度与取值范围如表2-4所示。17 17第 2 章 Java 语言基础18 18第 2 章 Java 语言基础19 19第 2 章 Java 语言基础例2-1 CharConst.java:字符常量的表示方法。2020第 2 章 Java 语言基础3.浮点型 浮点型用于表示有小数部分的数值。Java中的浮点型包括float和double两种,分别用来表示IEEE Standard for Binary FloatingPoint Arithmetic(ANSI/IEEE Std.7541985)标准(即通常所说的IEEE 754标准)定义的单精度浮点型和双精度浮点型。它们的长度与取值范围如表2-6所示。float类型的最小正非零值约为1.40E-45F,而double类型的最小正非零值约为4.9E-324。21 21第 2 章 Java 语言基础2222第 2 章 Java 语言基础例2-2 PrimitiveConst.java:基本数据类型的特殊值。2323第 2 章 Java 语言基础2424第 2 章 Java 语言基础2.3 变量、操作符与表达式1.变量Java中的变量实际上是一种与特定类型关联的存储位置(storage location),这一类型称为变量的编译时类型。2525第 2 章 Java 语言基础当声明基本类型的变量时,运行系统直接分配出数据空间,用于保存相应类型的值。而对于引用类型变量,在声明时,运行系统只是分配出存放对具体对象的引用空间,而对象的数据空间并未分配。也就是说,这时的引用类型变量并未关联到任何对象,因而不能直接通过这一变量访问对象的内容。例如:Rectangle rect;rect.width=5;/错误,rect并未指向任何Rectangle类型的实例对象2626第 2 章 Java 语言基础引用类型的变量在声明后必须先通过实例化开辟数据空间,此后才能通过变量访问对象的内容。实例化的方法是使用关键字new调用类的构造方法,例如:Rectangle rect;rect=new Rectangle(3.0,2.0);2727第 2 章 Java 语言基础图2-1 引用变量的声明与实例化2828第 2 章 Java 语言基础引用类型变量之间的赋值是引用赋值,引用赋值会导致多个引用都指向同一个数据对象,而不会创建出新的数据对象,例如:Rectangle rect,rect2;rect=new Rectangle(3.0,2.0);rect2=rect;赋值过程中内存空间的变化如图2-2所示。2929第 2 章 Java 语言基础图2-2 引用变量之间的赋值3030第 2 章 Java 语言基础1)成员变量成员变量是表示类和对象特征的变量。成员变量在类定义中进行定义,且位于方法定义之外。成员变量的作用域至少包括整个类,根据变量的访问权限修饰符的不同,成员变量还可作用于外界的其他类。31 31第 2 章 Java 语言基础2)局部变量局部变量是在方法或者代码块内部定义的变量。其作用域从声明变量的位置开始,直到包含该变量的块结束为止。当程序的执行流执行到该变量的声明语句时,局部变量被创建。当方法体或代码块执行结束后,局部变量被销毁。与成员变量不同的是,局部变量的初始化不会自动完成,需要在编程时通过显式的赋值进行初始化,否则就无法使用。如果编译器确定程序使用了没有经过初始化的局部变量,编译器会报错。3232第 2 章 Java 语言基础3)方法参数方法参数定义了在方法调用时传递给方法的参数值对应的名称,其作用域就是所在方法的内部。每当方法调用一次,方法参数变量就会被创建一次,并由方法调用者所提供的参数值进行变量初始化。方法参数还可细分为成员方法参数和构造方法参数两种。有时方法参数也可以简化地看做是局部变量。3333第 2 章 Java 语言基础4)异常处理参数异常处理参数是catch语句块的入口参数。每当try语句块中抛出的异常被一个catch语句块捕获时,就会创建一个异常处理参数,这个参数的初始化值即为被抛出的那个代表实际异常的对象的引用。当整个catch语句块执行完毕后,异常处理参数被销毁。3434第 2 章 Java 语言基础例2-3 VariablesAndLocalVarInit.java:各类变量及局部变量的初始化。3535第 2 章 Java 语言基础2.操作符与表达式Java的操作符与C语言基本相同,具有C语言基础的读者可以很快地掌握Java操作符及其运算规则,二者相同的部分,我们仅做简要介绍。二者的区别主要体现在以下几方面:首先,Java是强类型语言,其类型检查比C语言更加严格,操作符的操作对象类型会受到更多限制;其次,C语言中的指针操作符在Java中不存在,而Java中增加了引用类型测试操作符instanceof、无符号右移操作符“”、字符串连接操作符“+”等。将操作符与操作数按照特定的规则连接起来,就构成了通常意义上的表达式。3636第 2 章 Java 语言基础3737第 2 章 Java 语言基础1)算术操作符算术操作符“+”和“-”既可以作为二元操作符,又可以作为一元操作符。二元算术操作符(+、-、*、/、%)可以作用于任意整型或浮点型的操作数。当两个操作数的类型不同时,需要进行自动类型转换。自动类型转换的规则为:若两个操作数中有一个为double类型,则将另一个操作数转换为double类型;否则,若两个操作数中有一个为float类型,则将另一个操作数转换为float类型;否则,若两个操作数中有一个为long类型,则将另一个操作数转换为long类型;否则,两个操作数均转换为int类型。3838第 2 章 Java 语言基础3939第 2 章 Java 语言基础4040第 2 章 Java 语言基础2)关系操作符关系操作符用来比较两个操作数的大小、相等/不等关系。操作数与操作符共同构成关系表达式,如果表达式成立,则关系运算的结果为true,否则为false。关系操作符的操作数自动类型转换规则与二元算术操作符相同。41 41第 2 章 Java 语言基础3)逻辑操作符需要特别注意的是,两种与操作“&”和“&”的运算过程不同,两种或操作“|”和“|”的运算过程也不同。“&”和“|”称为短路的逻辑操作,在运算过程中,以先左后右的顺序依次计算两个操作数的布尔值,如果左侧操作数的布尔值能够完全决定整个逻辑表达式的布尔值,则不再计算右侧的操作数。相对应地,“&”和“|”称为非短路的逻辑操作,即不管左侧操作数的布尔值能否决定整个逻辑表达式的布尔值,都要先计算右侧操作数的布尔值,然后再求出逻辑表达式的布尔值。4242第 2 章 Java 语言基础4343第 2 章 Java 语言基础4444第 2 章 Java 语言基础4)位操作符在处理整型变量或常量时,可以直接对整型值的各个位进行操作,具体操作可通过位操作符完成。位操作符包括位逻辑操作符(&、|、)以及移位操作符(、)。二元的位逻辑操作符在操作数的每个对应位上进行相应的逻辑运算。操作符“&”、“|”和“”到底是作为位操作符使用还是作为逻辑操作符使用,完全取决于其连接的操作数的类型到底是整型还是布尔型。一元位逻辑操作符“”则是对数据的每个二进制位取反。4545第 2 章 Java 语言基础4646第 2 章 Java 语言基础4747第 2 章 Java 语言基础5)赋值操作符赋值操作符用于将一个表达式的值赋给一个变量。赋值操作符可以与其他操作符一起使用,以使程序表达简练并提高编译速度。赋值操作符的运算属于二元运算,当两个操作数类型不一致时,编译器会进行自动类型转换,转换规则如图2-3所示。4848第 2 章 Java 语言基础图2-3 数值类型之间的合法自动转换4949第 2 章 Java 语言基础5050第 2 章 Java 语言基础51 51第 2 章 Java 语言基础3.操作符的优先级由多个操作符连接而成的复合表达式,运算时需要按照表2-8所示的优先级顺序由高到低进行运算,对于同级的操作符,其结合方向如表2-8右列所示。通常,圆括号可以帮助程序员在不确定操作符优先级的情况下明确所要进行的运算,如果没有圆括号的辅助,就需要按照表2-8中的优先级次序进行运算。5252第 2 章 Java 语言基础5353第 2 章 Java 语言基础4.强制类型转换我们已经知道,收缩(narrowing)类型转换可将较大范围类型的操作数值转换为较小范围类型的操作数值,这一过程往往会损失操作数的精度。收缩类型转换需要通过强制类型转换来完成,不使用强制类型转换会导致编译器报错。类型转换的语法是将目标类型放在圆括号内,后跟要转换的变量、表达式或常量值。5454第 2 章 Java 语言基础5555第 2 章 Java 语言基础5656第 2 章 Java 语言基础2.4 程 序 流 控 制程序的执行顺序是由语句控制的,一些语句作为其他语句结构的一部分存在。Java的程序流控制结构与C和C+的程序流控制结构基本相同,不同之处包括:没有goto语句,break可以带标签,J2SE 5.0中还加入了一种变形的for循环。5757第 2 章 Java 语言基础5858第 2 章 Java 语言基础5959第 2 章 Java 语言基础6060第 2 章 Java 语言基础61 61第 2 章 Java 语言基础2.5 数组与多维数组数组是绝大多数高级语言都提供的数据结构。在Java中,数组是一种效率最高的存储和随机访问大量同类型元素的方式。数组可以用来存储一个元素个数固定、且元素类型相同的有序集。因此,数组中的元素都是同一种类型,数组的长度在创建时确定,并且在创建后不会改变。数组的大小固定且在生命周期中大小不变正是数组获得效率优势的原因。6262第 2 章 Java 语言基础1.数组的声明根据数组的概念,定义一个数组涉及的要素包括元素类型、数组变量名称、数组长度,支持多维数组的语言还涉及数组的维度。其中,元素类型、数组变量名称和维度都需要在数组声明时进行定义,而数组长度一般在数组创建时确定。6363第 2 章 Java 语言基础数组的元素类型既可以是基本类型,也可以是引用类型。数组变量的名称沿用变量的命名规则。具体地讲,一维数组的声明方法分两种:(1)元素类型 数组引用变量;(2)元素类型 数组引用变量;6464第 2 章 Java 语言基础2.数组的创建、初始化和访问在Java中,数组类型是一种引用数据类型,每个具体的数组都是被动态创建的实例对象。因而与一般引用类型变量类似地,声明数组变量并不在内存中为数组分配存储空间,而只是创建了一个对数组引用的存储位置。如果数组变量中没有包含对数组对象的引用,则这个变量的值为null。建立数组变量与数组对象之间的引用关系,通常是通过用new关键字创建数组的过程来实现的。具体创建方法为 数组引用变量=new 元素类型数组长度;6565第 2 章 Java 语言基础这条语句首先使用“new 元素类型数组长度”在堆中创建了一个数组对象,然后将这个数组对象的引用赋给了数组变量。如果将上节的数组声明与数组创建合为一步,则基本形式为:(1)元素类型 数组引用变量=new 元素类型数组长度;(2)元素类型 数组引用变量=new 元素类型数组长度;6666第 2 章 Java 语言基础以下问题还需特别注意:(1)数组变量与数组对象是不同的,变量存储了对数组对象的引用。但在一些情境下,也可以简化地将变量称为“数组”,而不是明确陈述为“指向含有n个T类型元素的数组对象的引用变量”。(2)所有数组均包含一个表示数组中元素个数的成员变量length。6767第 2 章 Java 语言基础(3)当创建的数组的元素类型为引用类型T时,数组的每一个元素实际上存储的是对T类型对象的引用,以如下程序为例 Point p=new Point10;for(int i=0;i10;i+)pi=new Point();数组p的每个元素的类型为Point引用类型,对于每个Point引用变量pi,还需要创建具体的Point对象并将对象的引用赋给pi。6868第 2 章 Java 语言基础(4)数组的元素类型必须是基本类型、类类型或者接口类型之中的一种。如果T是基本类型,T类型的数组变量可以存储null引用,或指向T类型数组对象的引用;如果T是引用类型,则T类型的数组变量可以存储null引用,或指向S类型的数组对象的引用,其中类型S是类型T的子类型或子接口。关于子类型和子接口的概念将在第3章和第4章讲解。6969第 2 章 Java 语言基础(5)在数组访问表达式中,索引值必须是int类型,对于short、byte或char类型的索引值,编译器将进行自动的扩展类型转换,将其转换为int类型。在数组创建时,new语句中的“数组长度”必须是int型,对于short、byte或char类型的值,通过自动的扩展类型转换将其转换为int类型。7070第 2 章 Java 语言基础71 71第 2 章 Java 语言基础(6)与C语言不同,在Java中char数组不是一个String,String和char数组也都不是以u0000终止的。String中的toCharArray方法可以返回一个char数组,关于String的详细介绍见第6.1节。(7)在Java中,方法可以直接返回一个数组,而不需要像C和C+那样担心对数组的使用超出其生命周期,只要还有引用指向该数组,它就会一直存在,当程序使用完数组后,垃圾收集机制会将其清理。(8)关于数组的更多操作可参见第6.4节的Arrays类。7272第 2 章 Java 语言基础3.数组的复制由于数组变量是引用变量,因而数组变量之间的赋值是引用赋值,使得两个数组变量都指向相同的内存地址,不能实现数组数据的复制。数组复制的方法有两种:(1)使用循环语句逐个复制数组元素。如可使用以下代码将source数组的数据复制到target数组:int target=new intsource.length;for(int i=0;isource.length;i+)targeti=sourcei;7373第 2 章 Java 语言基础(2)使用java.lang.System类中提供的静态arraycopy()方法,该方法的具体定义如下:static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length);其中,srcPos和destPos分别表示源数组src和目标数组dest中的起始位置,从src复制到dest中的元素个数由length决定。可使用如下代码将source数组的数据复制到target数组:System.arraycopy(source,0,target,0,source.length);7474第 2 章 Java 语言基础7575第 2 章 Java 语言基础4.多维数组多维数组的声明与一维数组类似,只是用连续的多对表示数组的维度,m维数组需要用m对。例如double d和double d都能够声明double类型的二维数组变量d。7676第 2 章 Java 语言基础如果在创建数组对象时指定了每个维度的长度值,将创建出规则的数组。如果在创建数组对象时仅指定了部分维度,则当前维度上的元素均为指向剩余维度数组的引用。例如,创建int类型的二维数组a时,使用 int a=new int 2;则第一维度上的元素a0和a1均为指向一维数组的引用,需要分别为它们创建具体的数组对象,例如:a0=new int5;a1=new int3;7777第 2 章 Java 语言基础这使得我们能够创建出不规则的数组。a01表示访问由a0指向的一维数组对象中索引为1的元素。我们也可以使用初始化器来对不规则的二维数组进行创建和初始化:int a=1,2,3,4,5,1,2,3;多维数组的每一维都有长度,每一维的长度都可以通过length变量获取,例2-14给出了例子说明不规则数组的各个维度上的数组长度。7878第 2 章 Java 语言基础

    注意事项

    本文(【精品】java 实用程序设计(西电版第2章 java语言基础精品ppt课件.ppt)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开