《java-2面向对象程序设计基础》java语法基础ppt

上传人:命****币 文档编号:128360083 上传时间:2020-04-21 格式:PPT 页数:62 大小:464.50KB
返回 下载 相关 举报
《java-2面向对象程序设计基础》java语法基础ppt_第1页
第1页 / 共62页
《java-2面向对象程序设计基础》java语法基础ppt_第2页
第2页 / 共62页
《java-2面向对象程序设计基础》java语法基础ppt_第3页
第3页 / 共62页
《java-2面向对象程序设计基础》java语法基础ppt_第4页
第4页 / 共62页
《java-2面向对象程序设计基础》java语法基础ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《《java-2面向对象程序设计基础》java语法基础ppt》由会员分享,可在线阅读,更多相关《《java-2面向对象程序设计基础》java语法基础ppt(62页珍藏版)》请在金锄头文库上搜索。

1、第3章Java语法基础 时间 3次课 6学时 第3章Java语法基础 教学提示 任何复杂的软件系统都是采用某种语言的基本特性构建起来的 本章主要介绍 Java语言的基础知识 包括Java语言的基本元素 Java语言的流程控制 第3章Java语法基础 3 1标识符 关键字 数据类型3 2变量 声明和赋值3 3变量的初始化3 4类型转换与强制类型转换3 5表达式和流程控制3 6数组3 7课后练习 3 1标识符 关键字 数据类型 3 1 1标识符3 1 2Java关键字3 1 3基本Java数据类型 3 1标识符 关键字 数据类型 在前两章中已经介绍了几个Java程序 本节将介绍正式的Java程序构

2、成的基本要素 3 1 1标识符 在Java语言中 标识符是变量 类或方法的名称 例如 intidCounter idCounter就是一个整型变量的标识符一个标识符可以由大写或小写的字母 数字 下划线 美元符号 按任意顺序组合而成 但不可以以数字开头 这是因为如果允许以数字开头就会和数字常量发生混淆 另外 标识符是大小写敏感的 例如idCounter和IdCounter不是同一个标识符 3 1 2Java关键字 关键字是对Java编译器有特殊含义的字符串 是编译器和程序员的一个约定 程序员利用关键字来告诉编译器其声明的变量类型 类 方法特性等信息 目前的Java语言共定义了如表3 1所示48个

3、关键字 具体每个关键字的意义和用法将在本书之中逐步介绍 3 1 2Java关键字 表3 1Java关键字 3 1 3基本Java数据类型 Java定义了8个简单 或基本 的数据类型 字节型 byte 短整型 short 整型 int 长整型 long 字符型 char 浮点型 float 双精度型 double 布尔型 boolean 这些类型可分为4组 整数 该组包括字节型 byte 短整型 short 整型 int 长整型 long 它们是有符号整数 浮点型数 该组包括单精度浮点型 float 和双精度浮点型 double 它们代表有小数精度要求的数字 字符 该组包括字符型 char 它代

4、表字符集的符号 例如字母和数字 布尔型 该组包括布尔型 boolean 它是一种特殊的类型 表示真 假值 3 1 3基本Java数据类型 1 整数 byte short int longJava定义了4个整数类型 字节型 byte 短整型 short 整型 int 长整型 long 这些都是有符号的值 数值为正数或是负数 Java不支持只能是正的无符号的整数 许多其他计算机语言 包括C C 支持有符号或无符号的整数 然而 无符号整数是不必要的 具体地说 无符号概念主要被用来指定高位状态 它定义了当int表示一个数字时的符号 3 1 3基本Java数据类型 2 浮点型数 float double

5、浮点数字也就是我们所熟知的实数 在Java中表示这些实数的方法是采用两类浮点数据类型 见表3 3 一类是单精度浮点类型 float 一类是双精度浮点类型 double Java实现浮点数采用的是标准浮点型 IEEE 754 和运算符集 并且是独立于平台的 3 1 3基本Java数据类型 3 字符 char在Java中 存储字符的数据类型是char Java的char与C或C 中的char不同 在C C 中 char的宽度是8位 但Java的情况不同 Java使用Unicode码代表字符 Unicode定义的国际化的字符集能表示迄今为止人类语言的所有字符集 它是几十个字符集的统一 因此它要求16

6、位 这样 Java中的char类型是16位的 其范围是0 65536 人们熟知的标准字符集ASCII码的范围仍然是0 127 扩展的 位字符集ISO Latin 1的范围是0 255 既然Java被设计为允许其开发的Applet 小应用程序 在世界范围内使用 因此使用Unicode码代表字符是说得通的 当然 Unicode的使用对于英语 德语 西班牙语或法语的语言是有点低效 因为它们的字符能容易地被包含在8位以内 但是为了全球的可移植性 这一点代价是必须的 3 1 3基本Java数据类型 4 布尔型 boolean在Java中定义了一种基本数据类型boolean来表示逻辑值 它只有两个文字值即

7、true和false 以下是一个有关boolean类型变量的声明和初始化 booleanisClosed false 定义一个boolean型变量isClosed并把其初始化成false需要特别指出的是在整数类型和boolean类型之间无转换计算 有些语言 特别值得强调的是C和C 允许将数字值转换成逻辑值 这在Java编程语言中是不允许的 boolean类型只允许使用boolean值 即只允许使用true和false 3 2变量 声明和赋值 3 2 1变量的声明3 2 2变量的作用域 3 2变量 声明和赋值 变量是Java程序中的一个基本存储单元 变量由一个标识符 类型和一个可选初始值组合定义

8、而成 此外 所有变量都有一个作用域 来定义变量的可见性和生存期 3 2 1变量的声明 在Java中 所有的变量必须先声明后使用 声明的方法是 Datatypeidentifier value identifier value 其中Datatype是基本数据类型之一 或者是类 接口的名字 将在以后章节介绍 标识符是变量的名字 可以通过 的方式指定一个值来初始化变量 声明多个相同数据类型的变量时可以用 号隔开 3 2 2变量的作用域 本节介绍变量在Java中的作用域 可以通俗地说成变量的作用范围 在方法内定义的变量被称为局部 local 变量 有时也被称为自动 automatic 临时 tempo

9、rary 或栈 stack 变量 1 在介绍局部变量的作用域前先来介绍什么是语句 程序块 语句就是一行以分号 结束的代码 2 Java允许局部变量在任意程序块的任意位置中被声明 而在一个作用域中定义的局部变量 对于该作用域外的程序是不可见的 即不可以被访问 这个作用域规则为封装提供了基础 3 2 2变量的作用域 3 变量可以在程序块内的任何地方被声明 但是只有在它们被声明以后才是合法有效的 4 局部变量是在一个作用域被创建 当程序执行离开该作用域后被撤销 它的生存期就是程序执行其所在作用域的时间范围 5 尽管程序块能被嵌套 但不能将内部作用域声明的变量与其外部作用域声明的变量重名 3 3变量的

10、初始化 在前面的讲解中 当声明一个Java基本数据类型时 会在内存中分配对应的空间 而对一个非基本数据类型 如前面提到的String 或自己定义的类型时 声明这些变量时并没有分配与之类型大小对应的空间 而只是引用 在Java程序中 任何变量都必须经初始化后才能被使用 当一个对象被创建时 实例变量在分配存储器的同时被下列值初始化 这一点与局部变量不同 3 4类型转换与强制类型转换 3 4 1Java的自动转换3 4 2不兼容类型的强制转换3 4 3表达式中类型的自动提升 3 4类型转换与强制类型转换 程序中经常把一种类型的值赋给另外类型的一个变量 如果这两种类型是兼容的 那么Java将自动进行转

11、换 例如 把int类型的值赋给long类型的变量 总是可行的 然而 不是所有的类型都是兼容的 因此 不是所有的类型转换都是可以隐式实现的 例如 没有将double类型转换为byte类型的定义 在Java中不兼容的类型之间的转换仍然是可能的 必须使用强制类型转换来完成两个不兼容的类型之间的显式变换 接下来介绍自动类型转换和强制类型转换 3 4 1Java的自动转换 如果下列两个条件都能满足 那么将一种类型的数据赋给另外一种类型变量时 将执行自动类型转换 automatictypeconversion 这两种类型是兼容的 目的类型数的范围比来源类型的大 当以上两个条件都满足时 发生拓宽转换 wid

12、eningconversion 3 4 2不兼容类型的强制转换 为了完成两种不兼容类型之间的转换 必须进行强制类型转换 所谓强制类型转换只不过是一种显式的类型变换 它的通用格式如下 target type value其中 目标类型 target type 指定了要将指定值转换成的类型 当把浮点值赋给整数类型时将发生一种不同的类型转换 截断 truncation 整数没有小数部分 当把浮点值赋给整数类型时 其小数部分会被舍去 3 4 3表达式中类型的自动提升 除了赋值 还有另外一种类型变换 在表达式中 对中间值的精确要求有时超过任何一个操作数的范围 除了将byte类型和short类型提升到int

13、类型以外 Java定义了若干适用于表达式的类型提升规则 typepromotionrules 所有的byte类型和short类型的值被提升到int类型 如果一个操作数是long类型 整个表达式将被提升到long类型 如果一个操作数是float类型 整个表达式将被提升到float类型 如果有一个操作数是double类型 计算结果就是double类型 3 5表达式和流程控制 3 5 1运算符3 5 2运算符优先级3 5 3流程控制3 5 4特殊循环控制 3 5表达式和流程控制 在学习完数据类型后 下面就将介绍如何利用这些数据类型进行各种逻辑操作 就是如何控制程序的执行流程 使得程序完成编程需要的行

14、为 首先介绍Java中的运算符 3 5 1运算符 Java提供了丰富的运算符环境 Java有4大类运算符 算术运算 位运算 关系运算和逻辑运算 Java还定义了一些附加的运算符用于处理特殊情况 本节将描述Java所有的运算符 比较运算符instanceof将在以后的章节讨论 Java语言中的运算符在风格和功能上都与C和C 极为相似 下面将分别介绍 3 5 1运算符 1 算术运算符算术运算符用来进行整型或浮点数据的算术运算 算术运算符用在数学表达式中 其用法和功能与代数学 或其他计算机语言 中一样 Java定义的算术运算符见表3 5 3 5 1运算符 表3 5Java算术运算符 3 5 1运算符

15、 2 关系运算符关系运算符是比较两个表达式大小关系的运算 它的结果是真 true 或假 false 关系运算符有6种 如表3 6所示 3 5 1运算符 表3 6关系运算符 3 5 1运算符 3 逻辑运算符逻辑运算符 见表3 7 是对布尔型 boolean 变量进行运算 其结果也是布尔型 boolean 3 5 1运算符 表3 7逻辑运算符 3 5 1运算符 4 位运算位运算是以二进制位 bit 进行计算 操作数和结果都是整数类型 包括long int short char byte 位逻辑运算符有 与 AND 或 OR 异或 XOR 非 NOT 分别用 表示 表3 8列出了Java中位运算符

16、3 5 1运算符 表3 8位运算符 包括移位运算 3 5 1运算符 5 三元运算符 三元运算符 的用法如下 x y z其中 x y z都是表达式 运算规则是 x为真时 表示式取y的值 否则取z的值 例3 25 三元运算举例 程序如下 intx 1 y 2 z 3 inti x 0 y z 此处由于x 0成立 所以i取y的值为2 3 5 1运算符 6 用加号 进行串连接 例3 27 运算符 能够进行String对象的连接并生成一个新的String 程序如下 Stringsalutation Dr Stringname Jack Arthur Stringtitle salutation name 最后一行的结果如下 Dr JackArthur如果 运算符中有一个自变量为String对象 则其他自变量将被转换成String 所有对象都可被自动转换成String 不是串的对象是通过使用toString 成员函数而转换成串的 3 5 2运算符优先级 运算符优先级就是多个运算符联合操作时各个运算符执行的顺序 表3 10显示了Java运算符从最高到最低的优先级 表中的符号从最上方到最下方优先级依次

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号