1. Java语言概述
1.1 Java 与 c++ 的区别
-
Java中对内存的分配是动态的,C语言通过 malloc() 和 free() 这两个库函数来分别实现分配内存和释放内存空间的,C++语言中则通过运算符new和delete来分配和释放内存。
-
Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。
-
Java不用if-else语句,而是用try-catch-finally异常处理语句来代替if-else语句处理出错的功能。
-
Java不支持头文件,而C和C++语言中都用头文件来定义类的原型,全局变量,库函数等。
-
Java不支持宏定义,而是使用关键字final来定义常量,在C++中则采用宏定义来实现常量定义。
-
Java对每种数据类型都分配固定长度,而在C和C++中,对于不同的平台,同一个数据类型分配不同的字节数。
-
类型转换不同,在C和C++中,可通过指针进行任意的类型转换,这在Java中是不允许的。
-
在C和C++中,结构体和联合体的所有成员均为公有,而在Java中根本就不包含结构和联合,所有的内容都封装在类里面。
-
Java不再使用指针
-
Java语言编写的类库可以在其它平台的Java应用程序中使用,而不像C++语言必须依赖于Windows平台。
-
在B/S开发方面,Java要远远优于C++。
1.2 Java 平台包括哪些内容
-
JRE:类库,JAVA虚拟机
-
JDK:开发工具,类库,JAVA虚拟机
1.2 名字和标识符
程序必须有一个名字,文件名必须与类名一致包括大小写
命名规范:单词首字母大写。
标识符:必须是字母\、_或$开头,随后的字符可以是字母、_、$或数字
1.3 Write Once, Run Anywhere
Java 源代码 \(\rightarrow\) Java 编译器将 Java 代码翻译为二进制代码 \(\rightarrow\) Java 虚拟机将二进制代码翻译为机器语言 \(\rightarrow\) 机器
2. Java 语言基础
2.1 变量的定义
数据类型 变量1, 变量2, …, 变量n;
2.2 表达式
表达式:有“值”的式子,通常由一些变量、常量、函数调用和运算符组合。
算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的式子。
赋值表达式:用赋值运算符 “=”把一个数据赋给一个变量。如 a = 3。
2.3 一维数组的定义方式
声明:
创建:数组名 = new
char[] RollerCoaster = new char[5];
2.4 二维数组的定义方式
数组名 = new
int[][] scores = new int[150][16];
3. 面向对象编程
3.1 面向对象方法
面向对象分析:对问题建立对象模型
面向对象设计:解决方案建模
面向对象编程:使用面向对象程序设计语言进行编码实现
3.2 对象模型
对象模型:面向对象方法的概念框架
对象模型主要包括:1. 抽象 2.封装 3.模块化
抽象:抽象是从一个对象的外部视角来观察它,从而将对象的本质行为和它的具体实现分开
封装:封装通常采用信息隐藏来实现,即接口对外公开,而数据结构、算法等实现细节则被隐藏
3.3 对象
对象是一个具有状态、行为和标识的实体。
对象的属性:对象所具有的一些特征称为属性。
对象的状态:一个对象的状态包括该对象的所有属性及每个属性的值。
对象的行为:对象不是孤立存在的,一个对象可以作用于其他对象,也可被其他对象所作用,从而导致状态的变化。
对象的操作:一个对象(类)对外提供的服务。
3.4 类
类:类是一组具有类似属性和行为的对象,抽象地定义了该类对象的本质特征(属性和操作)。
对象:类的实例,具有各自的属性值,占用存储空间
3.5 成员变量初始化
在定义类时即可确定:直接赋值
在创建对象时即可确定:用构造函数
在创建对象后才能确定:用成员函数
3.6 构造函数
构造函数名字 = 类的名字
没有返回值类型:不返回任何数据
创建对象时自动调用,初始化成员变量
每个类需要至少一个构造函数,若不写,则默认为:CLASSNAME() { }