面向对象程序设计教程.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
const
continue
for
goto
new
package
switch
synchronized
const和goto是保留字 true, false和null为相应类型的值,不属于关键字
2019/3/23
Java面向对象程序设计教程
6
强类型语言 (Strongly typed language)
Java面向对象程序设计教程
9
2019/3/23
基本类型的特点
基本类型在所有的平台和实现中的定义相 同,类型名称属于Java保留的关键字。 基本类型的值不允许共享,任何一个基本 类型的变量都会独自拥有一份相同类型的 值。 基本类型的变量的值只能通过赋值操作才 能被改变。
2019/3/23
Java面向对象程序设计教程
Java属于强类型的程序设计语言。 所有变量和表达式在编译时都有明确的类 型,它有助于编译时的错误检测:
• 类型限制了一个变量能够拥有的或者一个表达 式能够生成的值; • 类型还限制了各种操作对这些值的支持程度以 及决定操作的含义。
2019/3/23
Java面向对象程序设计教程
7
Java语言的类型结构
boolean 用于逻辑运算。 int、long、byte和short 用于整数算术运算。 char 主要用于输入输出。 double和float 用于实数(即浮点数)的算术运 算。 整型数值缺省为int型,long型在数值之后加l或L 浮点型数值缺省为double型,float型在数值之后 加f 或 F
实例初始化或者类初始化的语句块(Block) 实例对象构造器(Constructor,也称构造方法) 举例:ClassExample.java
Java面向对象程序设计教程
17
2019/3/23
接口类型
使用关键字“interface”,定义一套必须由类或组件实现 的操作特征标记。 一般有一个或多个操作特征标记以及零个或多个属性集合 的定义。 标识接口(Tag interface):不包含任何成员的接口类 型,如java.io.Serializable、java.lang.Cloneable 通过类来实现,使用关键字“implements”,多个接口 类型之间用“,”隔开 。类必须包括接口中定义的方法 。 接口可以进行多继承,也使用关键字“extends” 。 接口类型中不存在被其它所有接口类型继承的根接口类型。
第 3 章 Java的基本语法
2019/3/23
Java面向对象程序设计教程
1
主要内容
3.1 类型、值与基本变量
• • • • • • • • • • • • • 3.1.1 3.1.2 3.1.3 3.1.4 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 基本概念 基本类型 引用类型 类型转换 算术运算符与表达式 关系运算符与表达式 逻辑运算符与表达式 位运算符与表达式 条件运算符与表达式 赋值运算符与表达式 instanceof运算符 运算符优先级与赋值顺序的理解 基本类型所支持的操作运算 编组语句 表达式语句 选择语句 循环语句 迭代与递归 控制转移语句 注释语句
11
2019/3/23
char
16 '\u0000' ~ '\uffff' (0 ~ 65535) Java 面向对象程序设计教程 bit
基本类型的值(2)
类型 float 位数 32 bits 取值范围 –3.40282347e+38f ~ –1.40239846e-45f 0.0f
1.40239846e-45f ~ 3.40282347e+38f
• Java标识符支持几万个Unicode字母中所包含的世界上任何重要语言中 的任何字母。 • 举例: IdentifierTest.java
2019/3/23
Java面向对象程序设计教程
5
Java关键字
abstract default if private this
boolean
break byte case catch char class
Java面向对象程序设计教程
20
2019/3/23
数组表示法
Java语言中正式使用的表示法是,假如数 组元素的类型表示为Type,则数组表示 为Type[] x。如int[] x,读作int数组x。 另一种表示法是提供给那些有C/C++编 程经验的人们使用的,将方括号移到变量 名称的后面,即Type x[],如int x[]。
Java类型 基本类型 引用类型 (空类型)
(null)
布尔类型
数值类型
类/接口类型
数组类型
boolean
整 型
浮点型
class interface Type[]
float byte short int
2019/3/23
double
long
char
8
J源自文库va面向对象程序设计教程
基本类型 (Primitive Type)
ASCII(American Standard Code for Information Interchange)字符集:使用7位代码表示大小写字母、 数字0~9以及若干控制字符,如NUL和EOT。 ISO8859-1 Latin-1字符集:在西欧,用户希望字符集 能够表示他们本国字符集的所有字符,ASCII字符集因而 被扩展到8位,即增加了128个字符,用于表示英文中不 存在的各种西欧语言的字符。 Unicode字符集:是ISO标准16位字符集,支持65536 个不同的字符。其中大约有21000个字符专门用于中文、 日文和韩文的表意文字。 ASCII、ISO Latin-1都是Unicode的子集。 Java内部使用2个字节表示每个字符,采用Unicode编码。
2019/3/23
Java面向对象程序设计教程
18
接口体的结构与特点
包含与该接口有关的成员,这些成员可以是内嵌 类、内嵌接口、常量或抽象方法。 所有接口的成员都被隐式声明为“public”; 所有的内嵌类或接口都被隐式声明为“static”; 所有的成员属性都被隐式声明为“static”和 “final”,亦即所有的成员属性都是常量; 所有的成员方法都被隐式声明为“abstract”,亦 即所有的成员方法都不包含任何具体的实现,但 成员方法不能被声明为“static”,因为静态方法 不能是抽象的。 举例:InterfaceExample.java
do
double else extends final finally float
implements
import instanceof int interface long native
protected
public return short static strictfp super
throw
throws transient try void volatile while
10
基本类型的值(1)
类型 byte short 位数 8 bits 16 bit s 32 bit s 64 bit s 取值范围 –128 ~ 127 –32768 ~ 32767
int
–2147483648 ~ 2147483647
long
–9223372036854775808 ~ 9223372036854775807
3.2 运算符与表达式
3.3 语句
• • • • • • •
3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7
2019/3/23
Java面向对象程序设计教程
2
3.1 类型、值与基本变量
2019/3/23
Java面向对象程序设计教程
3
基本概念:字符集
Java面向对象程序设计教程
16
2019/3/23
类体的结构组成
类的成员
• 类型:类成员(使用关键字static)和实例成员(无关 键字static) • 形式:域(Field;也习惯地叫属性,Attribute)、方 法(Method)、内嵌类(Nested class)和内嵌接 口(Nested interface)
2019/3/23
Java面向对象程序设计教程
4
基本概念:关键字、值、标识符
关键字(Keyword) :也称保留字(Reserved word), 全部由小写的英文字母所组成。关键字总共有50多个,其 中一些留作将来供语言设计者扩充语言功能时使用。 值 (Literal):是指不能由程序员规定的代表某一特定 常量或数字的可知的或未知的字母或符号,一般译作“直 接量”或“字面值”,实际上泛指赋给各种不同类型(常 指基本类型、字符串类型、空类型等)的有效值。本书将 它简称为“值”,而另一个单词“Value”则称为“数值”。 标识符(Identifier):是程序员提供的名字,在Java中, 标识符的长度不受限制,但必须以字母、下划线或$符号 开始,随后位置也可以包含数字。
整数值的不同进制表示: NumeralExpression.java 字符的表达方式: CharacterExpression.java 浮点数运算:FloatingTest.java 数值类型的取值范围:ValueScope.java
2019/3/23
Java面向对象程序设计教程
14
引用类型
2019/3/23
Java面向对象程序设计教程
21
数组的一些特点
Java语言中没有直接的多维数组定义,而是把多维数组的 实现理解为数组的数组。 Java语言中,多维数组中每维数组的长度可以不同,数组 空间也不一定是连续分配的。 数组的直接超类是Object类,因此可以调用Object类中 的所有方法。 每个数组类型都已经实现了java.io.Serializable和 java.lang.Cloneable接口,也就是可以对数组对象直接 进行串行化处理和对象复制,但对于多维数组也是只能实 现单层复制。 数组中元素的个数可通过数组属性length进行访问。 举例:ArrayExample.java
double 64 bits –1.79769313486231570e+308 ~ –4.94065645841246544e-324
0.0
4.94065645841246544e-324 ~ 1.79769313486231570e+308
2019/3/23
Java面向对象程序设计教程
12
基本类型的值(3)
Java面向对象程序设计教程
19
2019/3/23
数组类型
一个数组对象包含一定数量的数组变量,称为数 组的组件或元素。 数组元素通过一个非负的整型索引数值被引用。 如果数组中包含有n个元素,则数组元素的索引值 分别为0~(n-1)。数组元素的个数可以为零,这 时该数组被称为empty(空)数组。 数组元素的类型可以是基本类型,也可以是其它 的引用类型,一个数组中的所有元素的类型都是 一样的。
类型 boolean 位数 1 bit 取值范围 true / false
含 义 backspace BS(退格) horizontal tab HT(Tab键) linefeed LF(换行) 转义字符 Unicode字符 \b \t \n \u0008 \u0009 \u000a
\f
\r \"
\u000c
类类型(Class type) 接口类型(Interface type) 数组类型(Array type)
2019/3/23
Java面向对象程序设计教程
15
类类型
使用关键字“class”,它定义了一个新的引用类 型,并描述这一类型的具体实现。 Java语言定义的根类(Root class)是Object类, 也就是说除了Object类以外,其它类都是Object 类的直接或间接子类(Subclass),这些类只能 扩展(使用关键字“extends” )自唯一一个业 已存在的类。 Object类是缺省的继承父类,如果有一个类直接 继承自Object类,“extends Object”可以省略 不写。
\u000d \u0022
form feed FF(换页)
carriage return CR(回车) "(double quote,双引号)
\'
\\
2019/3/23
\u0027
\u005c
'(single quote,单引号)
\(backslash,反斜杠)
Java面向对象程序设计教程
13
举 例