高级程序设计语言

发布时间 2023-12-22 17:52:55作者: GuMeng123

1. Java语言概述

1.1 Java 与 c++ 的区别

  1. Java中对内存的分配是动态的,C语言通过 malloc() 和 free() 这两个库函数来分别实现分配内存和释放内存空间的,C++语言中则通过运算符new和delete来分配和释放内存。

  2. Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。

  3. Java不用if-else语句,而是用try-catch-finally异常处理语句来代替if-else语句处理出错的功能。

  4. Java不支持头文件,而C和C++语言中都用头文件来定义类的原型,全局变量,库函数等。

  5. Java不支持宏定义,而是使用关键字final来定义常量,在C++中则采用宏定义来实现常量定义。

  6. Java对每种数据类型都分配固定长度,而在C和C++中,对于不同的平台,同一个数据类型分配不同的字节数。

  7. 类型转换不同,在C和C++中,可通过指针进行任意的类型转换,这在Java中是不允许的。

  8. 在C和C++中,结构体和联合体的所有成员均为公有,而在Java中根本就不包含结构和联合,所有的内容都封装在类里面。

  9. Java不再使用指针

  10. Java语言编写的类库可以在其它平台的Java应用程序中使用,而不像C++语言必须依赖于Windows平台。

  11. 在B/S开发方面,Java要远远优于C++。

1.2 Java 平台包括哪些内容

  1. JRE:类库,JAVA虚拟机

  2. 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() { }

3.7