Java基础编程模型
# Java编程模型
本文主要介绍Java编程时用到的基础编程模型以及Java8最新的语法特性。
# Java程序的基本结构
一段 Java 程序(类)或者是一个静态方法(函数)库,或者定义了一个数据类型。要创建静态方法库和定义数据类型,会用到下面七种语法,它们是Java语言的基础,也是大多数现代语言所共有的。
- 原始数据类型:它们在计算机程序中精确地定义整数、浮点数和布尔值等。它们的定义包括取值范围和能够对相应的值进行的操作,它们能够被组合为类似于数学公式定义的表达式。
- 语句:语句通过创建变量并对其赋值、控制运行流程或者引发副作用来进行计算。我们会使用六种语句:声明、赋值、条件、循环、调用和返回。
- 数组:数组是多个同种数据类型的值的集合。
- 静态方法:静态方法可以封装并重用代码,使我们可以用独立的模块开发程序。
- 字符串:字符串是一连串的字符,Java 内置了对它们的一些操作。
- 标准输入 / 输出:标准输入输出是程序与外界联系的桥梁。
- 数据抽象 : 数据抽象封装和重用代码,使我们可以定义非原始数据类型,进而支持面向对象编程。
基本结构如图所示:
# 原始数据类型
# Java语言4种最原始的类型
- 整型,及其算术运算符(int);
- 双精度实数类型,及其算术运算符(double);
- 布尔型,它的值 {true, false}及其逻辑操作(boolean);
- 字符型,它的值是你能够输入的英文字母数字字符和符号(char)
### 其他5中原始类型 - 64 位整数,及其算术运算符 (long); - 16 位整数,及其算术运算符 (short); - 16 位字符,及其算术运算符 (char); - 8 位整数,及其算术运算符 ( byte); - 32 位单精度实数,及其算术运算符 (float)
## 语句 Java 程序是由语句组成的。语句能够通过创建和操作变量、对变量赋值并控制这些操作的执行流程来描述运算。 - 声明语句:创建某种类型的变量并用标识符为其命名。 - 赋值语句:将(由表达式产生的)某种类型的数值赋予一个变量。Java 还有一些隐式赋值的语法可以使某个变量的值相对于当前值发生变化,例如将一个整型值加 1。 - 条件语句:能够简单地改变执行流程——根据指定的条件执行两个代码段之一。 - 循环语句:更彻底地改变执行流程——只要条件为真就不断地反复执行代码段中的语句。 - 调用和返回语句:和静态方法有关 , 是改变执行流程和代码组织的另一种方式
语句使用示例如下: ![](https://cdn.jsdelivr.net/gh/pixyshu/picgo@main/image/20221019100113.png)
## 数组 ### 创建并初始化数组 - 声明数组的名字和类型; - 创建数组; - 初始化数组元素。
数据的声明代码如下:
### 简化写法 为了精简代码,我们常常会利用 Java 对数组默认的初始化来将三个步骤合为一条语句。(⚠️注意,在Java中**数值类型默认初始值为0,布尔类型为false**)。 如果我们需要声明并指定初始化值,还可以使用**花括号将一系列逗号分隔的值在编译时将数组初始化**。
# 使用数组
典型数组处理代码:
# 二维数组定义和初始化
以下两种方式本质上都是一样,不过使用方式二,可以根据自己的需要进行初始化。
// (1)声明并初始化 方式一
double[][] = new double[M][N];
// (2)方式二
double[][] a;
a = new double[M][N];
for(int i = 0; i < M; i++){
for(int j = 0; j < N; j++)
a[i][j] = 0.0;
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
## 静态方法 在Java程序中,要么是数据类型的定义,要么就是一个静态方法库。静态方法也被称为函数,使用static修饰符与实例方法区分开来。
# 静态方法解析
方法封装了一系列语句所描述的运算,每个方法都有签名和函数体构成。
静态方法解析:
# 方法的性质
- 方法的参数按值传递:在方法中参数变量的使用方法和局部变量相同,唯一不同的是参数变量的初始值是由调用方提供的。
- 方法名可以被重载。
- 方法只能返回一个值,但可以包含多个返回语句。
- 方法可以产生副作用:方法的返回值可以是void,这表示该方法没有返回值。返回值为void的静态函数不需要明确的返回语句,方法的最后一条语句执行完毕后控制权将会返回给调用方。我们称 void类型的静态方法会产生副作用(接受输入、产生输出、修改数组或者改变系统状态)。
# 编写递归方法的注意点
- 递归总有一个最简单的情况——方法的第一条语句总是一个包含return的条件语句。
- 递归调用总是去尝试解决一个规模更小的子问题,这样递归才能收敛到最简单的情况。
- 递归调用的父问题和尝试解决的子问题之间不应该有交集。
# 基础编程模式
Java基础编程模式,编写静态方法库来完成具体的某一个任务,通过静态方法库来实现模块化编程。 实现模块化编程的好处是:
- 程序整体的代码量很大时,每次处理的模块大小仍然适中;
- 可以共享和重用代码而无需重新实现;
- 很容易用改进的实现替换老的实现;
- 可以为解决编程问题建立合适的抽象模型;
- 缩小调试范围
总结,就是通过模块化编程,提高了重复的代码块的复用性,降低模块之间的耦合性,提高了代码的可读性和可维护性。
# 常用代码库
- 系统标准库 java.lang.* :这其中包括Math库,实现了常用的数学函数;Integer 和 Double 库,能够将字符串转化为int和double值;String和StringBuilder库。
- 导入的系统库,例如 java.util.Arrays。
# Math库常用函数
# Arrays库 VS Collections库
Arrays库是用来专门用来操作数组的静态方法库,比如int[]
,String[]
等等。
Collections库是专门用来操作实现了Collection接口容器的静态方法库。
Collection集合的依赖关系图如下:
图片来源:JavaGuide
编辑 (opens new window)
上次更新: 2022/11/26, 22:18:38
- 01
- 基于微服务案例的Maven实战05-08
- 02
- 使用Seata彻底解决Spring Cloud中的分布式事务问题11-26
- 03
- Spring Boot整合RabbitMQ实现延迟消息11-26