JAVA语言程序设计教程 书本知识点汇总
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 Java 语言基础 1. 标识符与保留字
1.2 标识符命名语法规则与 Java 推荐的标识符命名规则 1.3 Java 中的关键字 2. 数据类型 byte, short, int long, char, float, double, boolean 注意点:Java 中所有数据类型是确定的,与平台无关,没有 sizeof 操作,其中特别 注意 char 类型是 2 字节 Unicode 编码,与 C++不同;知道基本类型都有对应的默认值。 整型数的十进制、八进制、十六进制值的表示。 实型数的十进制、十六进制与科学计数法表示,注意实型常量默认类型为 double 型。 3. 运算符与表达式 算术运算符: + - * / % ++ -关系运算符:> >= < <= == != 逻辑运算符:&& || ! & | 注意短路计算与非短路计算的差别 位运算符: >> << >>> & | ^ ~ 要认识异或(^)与按位取反(~)运算符 赋值运算符: += -= *= /= %= &= |= ^= <<= >>= >>>=
4. 多态 Java 中不支持用户定义符号重载,支持用户定义方法的重载。
方法的重载就是在一个类内(或父子类间)用一个标识符定义不同的方法或符号运算的 方法名或符号名。注意重载要求方法名称相同,但参数不同,返回值不作为方法重载判断的 依据。
方法的覆盖和隐藏:方法覆盖是子类具有重新定义父类成员方法的能力,要求方法具有 和父类方法相同的名称、参数、返回值,访问限制不能被父类的方法小,抛出的异常不能比 父类方法多。
Java 语言程序设计教程 书本知识点汇总参考
第一章 Java 语言概述 1. 面向对象的基本概念
1.1 对象、类、消息、封装、继承、多态 2. Java 语言发展历史和现状及前景 3. Java 语言的特点
简单、面向对象、分布式、健壮性、结构中立、 安全性、可移植、解释的、高性能、多线程、多态性 4. Java 虚拟机概念,Java 程序的执行过程 5. Java 应用程序分类:Application 和 Applet 6. Java 程序的开发环境:JDK,IDE 课后习题: 2. 解释几个概念:对象、实例、类、消息、封装、继承、多态。 4. 简述 Java 语言的主要特点。 5. 简述 Java 语言与 C/C++语言的主要差异。 7. 简述 Java 程序的运行过程。
类体 }
3. 抽象方法 用 abstract 修饰的方法 抽象方法只有方法的签名没有方法体,只提供方法的规格说明,没有具体的实现。 final 关键字不能修饰抽象方法。static 也不能修饰抽象方法。
注意:抽象类中不一定包含抽象方法;但是只要类中包含抽象方法则类一定是抽象类。 抽象类必须在派生的子类中重写抽象方法,没有重写抽象方法的子类还是抽象类。 非抽象类的子类源自文库以重新声明为抽象类。
构造方法一般由用户定义,如果用户没有定义构造方法,则系统会自动提供一个 默认的无参构造方法,来初始化对象。
用户可以定义多个带有不同参数的构造方法,称为重载构造方法。【P60.例 4.9】 构造方法通过 new 操作符来实现方法的调用,不像一般方法那样显式的调用。 8. this 关键字 用于访问对象的成员或实现在构造方法内调用其他的构造方法。【P62.例 4.11】 9. 嵌套类(内部类) 分为静态内部类和非静态内部类。另外比较重要的是匿名类。【P69.例 4.15】 10. final 修饰的意义 final 修饰变量: 变量为基本类型表示为常量,修饰引用表示引用不允许指向其他对 象。 final 修饰方法:表示该方法不能被重写。 final 修饰类:表示类不能被继承。 课后习题: 3. 写出构造方法的定义和用途? 4. 关键字 static 在修饰类、类的成员数据和成员方法中的作用各是什么? 6. this 关键字的含义是什么?主要用途有哪些? 8. 编程队列 9. 编程栈 10. 编程复数运算
4. 常用的输入输出 System 类管理的标准输入输出流:System.in System.out System.err 常 用 的 方 法 : System.out.println() 与 System.out.print() 的 区 别 ;
System.in.read()方法。 javax.swing.JOptionPane 类提供的对话框界面: String showInputDialog(String toShowInfo) void showMessageDialog(Component parent, String toShowInfo)
需要注意的是:静态方法和属性的访问看引用类型;而实例方法的调用代码根据引用指 向的具体的对象来决定。 5. super 关键字
引用父类的构造函数;引用父类中被子类覆盖的成员方法和隐藏的数据成员。 6. 接口
接口实质上为外界提供运算,但不揭示这些运算的结构或具体的实现。编程角度看,接 口实际上是一组抽象方法和常量的集合,为其他使用者提供外部的说明。
第五章 继承和多态 1. 继承
继承是一个新的类继承原有的类的基本特性,并增加新的特性,体现类的层次关系,新 的类与原有类之间体现一种 IS-A 的关系。
继承通过 extends 关键字来实现,任何类都有父类,除了 Object 类外。 class 子类名称 extends 父类名称 {
类的描述 } 如果没有写 extends 标明父类,则表示该类的父类为 Object。 需要掌握子类在继承父类时,哪些被继承,哪些没有被继承。 2. 抽象类 用 abstract 修饰的类 抽象类是对一组固定实现的抽象描述,并不对应具体的概念,只作为一个抽象概念存在, 是不能被修改的,通常只用来派生子类。 abstract class 抽象类名称 {
实现接口中定义的方法 }
接口的定义类似于抽象类,但其实现依赖于类,而不是通过继承来实现的。 理解下面程序出现的问题: class Point {
int x, y; private Point() { reset(); } Point(int x, int y) { this.x = x; this.y = y; } private void reset() { this.x = 0; this.y = 0; } } class ColoredPoint extends Point { int color; void clear() { reset(); } } class Test { public static void main(String[] args) {
5. Java 流程控制 if-else 与 if-else-if 格式 switch 分支结构 for、while、do-while 循环 break、continue 与 return 语句,注意带标号的 break 与 continue 用法
6. 数组的创建和使用 要区分数组的引用声明与数组的创建两个概念 声明仅仅给出了一个引用,但没有可用的数组对象。 如:int[] a; 此时 a 是引用,还不可以使用,如果此时就访问 a.length 是错误的 要使用数组必须进行创建,使用 new 关键字。
[ public ]interface 接口名称 [extends 父接口, ...] { 接口体
} 接口 中定义 的方法隐 含为公 共 public 和抽 象的 abstract ;定 义的常 量默认 为 public static final 型。 接口的实现: 通过 implements 来实现接口, class 类名称 implements 接口名, ... {
要注意赋值运算符中包含了强制转换: 若: int k = 1; k += 44.232D;
则相当于: k = (int) ( k + 44.232D); 条件运算符:exp ? stat1 :stat2 要注意 stat1 与 stat2 要求类型相兼容且不 能为 void 类型。 运算符的优先级: 算术运算 > 关系运算 > 逻辑运算 数值型之间可以相互强制转换,但不能在数值型与复合型类型(数组、对象等)间强制转 换。
第四章 面向对象编程基础 1. 类和对象
对象就是对现实世界的存在的实体的一个模拟,每一个对象都有自己的状态和行为。对 象的状态描绘对象的静态属性特征,对象行为说明对象会发生变化的动态行为,对象的行为 一般通过方法的调用来实现。
类是对一组具有相同属性、行为、关系及语义的对象的描述,是具有相同类型对象的抽 象。类中使用变量来表示对象的抽象状态,用方法抽象出对象的行为特征。在 Java 编程时, 可以将类理解为数据类型,将对象理解为数据类型中的变量实例。 2. 类的声明与使用
创建字符串的方法,构造函数: String(String original) String(char[] value) String(char[] value, int offset, int count) 常用的方法: int length() int indexOf(int toFindChar) int compareTo(String anotherString) boolean equals(Object stringObject) boolean equalsIgnoreCase(String anotherString) static String valueOf(double d)
如:int[] b = new int[8]; 注意创建时必须指定数组的大小,且在程序运行期间 是不可以改动大小的。
数组的初始化:声明时就给数组一个初始值,如:int[] c = { 3, 4, 5 }; 或 int[] d = new int[]{ 3, 4, 5};
注意复合类型的数组中仅仅存放了符合类型的引用,没有具体的对象,如: Person[] x = new Person[3];则数组中仅仅存放三个 Person 对象的引用,而不是 创建了 3 个 Person 对象。
方法的声明 [public | protected | private][static][final | abstract] [native] [synchronized] 返回值类型 方法名称( [参数列表] ) [throws 异常名表] {
方法体 } 知道成员访问控制的差别。 4. 类的静态成员
2. StringBuffer 与字符串变量 理解 StringBuffer 与 String 的差异
课后习题: 1. Java 中字符串常量用什么类表示?字符串变量用什么类表示?主要区别在哪? 2. 说明程序 String s1 = “I like ”; s1 += “Java!”;与 StringBuffer s1 = new StringBuffer(“I like ”); s1.append(“Java!”);的区别。根据结论,指出 程序处理大量字符串连接时的操作策略。
访问的数组长度:数组名.length,在循环中尤为重要。 二维及多维数组的创建与使用
二维及多维数组可以创建锯齿形数组。
课后习题: 2. Java 有哪些基本数据类型?与 C/C++相比有何特点?复合数据类型是哪几种? 3. Java 的字符类型采用何种编码方案?有何特点?
第三章 字符串 1. String 类与字符串常量
静态方法与静态属性 5. 类的创建
理解声明、实例化、初始化的过程。 6. 包的概念
包的创建与命名,如何组织类导入 7. 构造方法
构造方法:用于对象初始化的特殊的方法,必须与类名相同,没有返回值。 特点:构造方法的命名不符合方法的命名规则,它和类名相同,没有返回值。
成 员 方 法 的 非 访 问 控 制 符 如 final, static, abstract, native, synchronized 等关键字不能修饰构造方法。
[修饰符] class 类名 [extends 父类] [implements 接口, ... ] { 类的成员
} 其中修饰符可以有:public final abstract,理解各修饰符的意义,理解类的访问控 制,当使用其他包中的公共类时需要使用 import 导入。 对于内部类可以使用的修饰符有:public, protected, private, final, static, abstract。 3. 类的成员 属性与方法的定义与使用
1.2 标识符命名语法规则与 Java 推荐的标识符命名规则 1.3 Java 中的关键字 2. 数据类型 byte, short, int long, char, float, double, boolean 注意点:Java 中所有数据类型是确定的,与平台无关,没有 sizeof 操作,其中特别 注意 char 类型是 2 字节 Unicode 编码,与 C++不同;知道基本类型都有对应的默认值。 整型数的十进制、八进制、十六进制值的表示。 实型数的十进制、十六进制与科学计数法表示,注意实型常量默认类型为 double 型。 3. 运算符与表达式 算术运算符: + - * / % ++ -关系运算符:> >= < <= == != 逻辑运算符:&& || ! & | 注意短路计算与非短路计算的差别 位运算符: >> << >>> & | ^ ~ 要认识异或(^)与按位取反(~)运算符 赋值运算符: += -= *= /= %= &= |= ^= <<= >>= >>>=
4. 多态 Java 中不支持用户定义符号重载,支持用户定义方法的重载。
方法的重载就是在一个类内(或父子类间)用一个标识符定义不同的方法或符号运算的 方法名或符号名。注意重载要求方法名称相同,但参数不同,返回值不作为方法重载判断的 依据。
方法的覆盖和隐藏:方法覆盖是子类具有重新定义父类成员方法的能力,要求方法具有 和父类方法相同的名称、参数、返回值,访问限制不能被父类的方法小,抛出的异常不能比 父类方法多。
Java 语言程序设计教程 书本知识点汇总参考
第一章 Java 语言概述 1. 面向对象的基本概念
1.1 对象、类、消息、封装、继承、多态 2. Java 语言发展历史和现状及前景 3. Java 语言的特点
简单、面向对象、分布式、健壮性、结构中立、 安全性、可移植、解释的、高性能、多线程、多态性 4. Java 虚拟机概念,Java 程序的执行过程 5. Java 应用程序分类:Application 和 Applet 6. Java 程序的开发环境:JDK,IDE 课后习题: 2. 解释几个概念:对象、实例、类、消息、封装、继承、多态。 4. 简述 Java 语言的主要特点。 5. 简述 Java 语言与 C/C++语言的主要差异。 7. 简述 Java 程序的运行过程。
类体 }
3. 抽象方法 用 abstract 修饰的方法 抽象方法只有方法的签名没有方法体,只提供方法的规格说明,没有具体的实现。 final 关键字不能修饰抽象方法。static 也不能修饰抽象方法。
注意:抽象类中不一定包含抽象方法;但是只要类中包含抽象方法则类一定是抽象类。 抽象类必须在派生的子类中重写抽象方法,没有重写抽象方法的子类还是抽象类。 非抽象类的子类源自文库以重新声明为抽象类。
构造方法一般由用户定义,如果用户没有定义构造方法,则系统会自动提供一个 默认的无参构造方法,来初始化对象。
用户可以定义多个带有不同参数的构造方法,称为重载构造方法。【P60.例 4.9】 构造方法通过 new 操作符来实现方法的调用,不像一般方法那样显式的调用。 8. this 关键字 用于访问对象的成员或实现在构造方法内调用其他的构造方法。【P62.例 4.11】 9. 嵌套类(内部类) 分为静态内部类和非静态内部类。另外比较重要的是匿名类。【P69.例 4.15】 10. final 修饰的意义 final 修饰变量: 变量为基本类型表示为常量,修饰引用表示引用不允许指向其他对 象。 final 修饰方法:表示该方法不能被重写。 final 修饰类:表示类不能被继承。 课后习题: 3. 写出构造方法的定义和用途? 4. 关键字 static 在修饰类、类的成员数据和成员方法中的作用各是什么? 6. this 关键字的含义是什么?主要用途有哪些? 8. 编程队列 9. 编程栈 10. 编程复数运算
4. 常用的输入输出 System 类管理的标准输入输出流:System.in System.out System.err 常 用 的 方 法 : System.out.println() 与 System.out.print() 的 区 别 ;
System.in.read()方法。 javax.swing.JOptionPane 类提供的对话框界面: String showInputDialog(String toShowInfo) void showMessageDialog(Component parent, String toShowInfo)
需要注意的是:静态方法和属性的访问看引用类型;而实例方法的调用代码根据引用指 向的具体的对象来决定。 5. super 关键字
引用父类的构造函数;引用父类中被子类覆盖的成员方法和隐藏的数据成员。 6. 接口
接口实质上为外界提供运算,但不揭示这些运算的结构或具体的实现。编程角度看,接 口实际上是一组抽象方法和常量的集合,为其他使用者提供外部的说明。
第五章 继承和多态 1. 继承
继承是一个新的类继承原有的类的基本特性,并增加新的特性,体现类的层次关系,新 的类与原有类之间体现一种 IS-A 的关系。
继承通过 extends 关键字来实现,任何类都有父类,除了 Object 类外。 class 子类名称 extends 父类名称 {
类的描述 } 如果没有写 extends 标明父类,则表示该类的父类为 Object。 需要掌握子类在继承父类时,哪些被继承,哪些没有被继承。 2. 抽象类 用 abstract 修饰的类 抽象类是对一组固定实现的抽象描述,并不对应具体的概念,只作为一个抽象概念存在, 是不能被修改的,通常只用来派生子类。 abstract class 抽象类名称 {
实现接口中定义的方法 }
接口的定义类似于抽象类,但其实现依赖于类,而不是通过继承来实现的。 理解下面程序出现的问题: class Point {
int x, y; private Point() { reset(); } Point(int x, int y) { this.x = x; this.y = y; } private void reset() { this.x = 0; this.y = 0; } } class ColoredPoint extends Point { int color; void clear() { reset(); } } class Test { public static void main(String[] args) {
5. Java 流程控制 if-else 与 if-else-if 格式 switch 分支结构 for、while、do-while 循环 break、continue 与 return 语句,注意带标号的 break 与 continue 用法
6. 数组的创建和使用 要区分数组的引用声明与数组的创建两个概念 声明仅仅给出了一个引用,但没有可用的数组对象。 如:int[] a; 此时 a 是引用,还不可以使用,如果此时就访问 a.length 是错误的 要使用数组必须进行创建,使用 new 关键字。
[ public ]interface 接口名称 [extends 父接口, ...] { 接口体
} 接口 中定义 的方法隐 含为公 共 public 和抽 象的 abstract ;定 义的常 量默认 为 public static final 型。 接口的实现: 通过 implements 来实现接口, class 类名称 implements 接口名, ... {
要注意赋值运算符中包含了强制转换: 若: int k = 1; k += 44.232D;
则相当于: k = (int) ( k + 44.232D); 条件运算符:exp ? stat1 :stat2 要注意 stat1 与 stat2 要求类型相兼容且不 能为 void 类型。 运算符的优先级: 算术运算 > 关系运算 > 逻辑运算 数值型之间可以相互强制转换,但不能在数值型与复合型类型(数组、对象等)间强制转 换。
第四章 面向对象编程基础 1. 类和对象
对象就是对现实世界的存在的实体的一个模拟,每一个对象都有自己的状态和行为。对 象的状态描绘对象的静态属性特征,对象行为说明对象会发生变化的动态行为,对象的行为 一般通过方法的调用来实现。
类是对一组具有相同属性、行为、关系及语义的对象的描述,是具有相同类型对象的抽 象。类中使用变量来表示对象的抽象状态,用方法抽象出对象的行为特征。在 Java 编程时, 可以将类理解为数据类型,将对象理解为数据类型中的变量实例。 2. 类的声明与使用
创建字符串的方法,构造函数: String(String original) String(char[] value) String(char[] value, int offset, int count) 常用的方法: int length() int indexOf(int toFindChar) int compareTo(String anotherString) boolean equals(Object stringObject) boolean equalsIgnoreCase(String anotherString) static String valueOf(double d)
如:int[] b = new int[8]; 注意创建时必须指定数组的大小,且在程序运行期间 是不可以改动大小的。
数组的初始化:声明时就给数组一个初始值,如:int[] c = { 3, 4, 5 }; 或 int[] d = new int[]{ 3, 4, 5};
注意复合类型的数组中仅仅存放了符合类型的引用,没有具体的对象,如: Person[] x = new Person[3];则数组中仅仅存放三个 Person 对象的引用,而不是 创建了 3 个 Person 对象。
方法的声明 [public | protected | private][static][final | abstract] [native] [synchronized] 返回值类型 方法名称( [参数列表] ) [throws 异常名表] {
方法体 } 知道成员访问控制的差别。 4. 类的静态成员
2. StringBuffer 与字符串变量 理解 StringBuffer 与 String 的差异
课后习题: 1. Java 中字符串常量用什么类表示?字符串变量用什么类表示?主要区别在哪? 2. 说明程序 String s1 = “I like ”; s1 += “Java!”;与 StringBuffer s1 = new StringBuffer(“I like ”); s1.append(“Java!”);的区别。根据结论,指出 程序处理大量字符串连接时的操作策略。
访问的数组长度:数组名.length,在循环中尤为重要。 二维及多维数组的创建与使用
二维及多维数组可以创建锯齿形数组。
课后习题: 2. Java 有哪些基本数据类型?与 C/C++相比有何特点?复合数据类型是哪几种? 3. Java 的字符类型采用何种编码方案?有何特点?
第三章 字符串 1. String 类与字符串常量
静态方法与静态属性 5. 类的创建
理解声明、实例化、初始化的过程。 6. 包的概念
包的创建与命名,如何组织类导入 7. 构造方法
构造方法:用于对象初始化的特殊的方法,必须与类名相同,没有返回值。 特点:构造方法的命名不符合方法的命名规则,它和类名相同,没有返回值。
成 员 方 法 的 非 访 问 控 制 符 如 final, static, abstract, native, synchronized 等关键字不能修饰构造方法。
[修饰符] class 类名 [extends 父类] [implements 接口, ... ] { 类的成员
} 其中修饰符可以有:public final abstract,理解各修饰符的意义,理解类的访问控 制,当使用其他包中的公共类时需要使用 import 导入。 对于内部类可以使用的修饰符有:public, protected, private, final, static, abstract。 3. 类的成员 属性与方法的定义与使用