文章目录
基础编程模型
基础编程模型:描述算法和实现算法所用到的语言特性、软件库和操作系统特性总称为基础编程模型。
1.1.1 Java程序的基本结构
一段Java程序(类)或是一个静态方法库
,或者定义了一个数据类型
。
Java语言的基础 | 包含 |
---|---|
原始数据类型 | 整数、浮点数和布尔值 |
语句 | 声明、赋值、条件、循环、调用、返回 |
数组 | 多个数据类型的值的集合 |
静态方法 | 封装并重用代码 |
字符串 | 字符集合 |
标准输入输出 | |
数据抽象 | 可以定义非原始数据类型 |
1.1.2 原始数据类型与表达方式
java内置数据类型 | 英文 | 表示含义 |
---|---|---|
整型 | int | 整数 |
双精度实数类型 | double | 小数 |
布尔值 | boolean | {true,false} |
字符型 | char | 英文字母、数字字符和符号 |
还包括了:long、short、char、byte、float。
标识符:由字母、数字、下划线和$组成的字符串(首字母不能是数字)。
变量:[任意标识符]。
运算符:表示某种数据类型的运算。
字面量:值在源码中的表示。
表达式:字面量、变量或是能够计算出结果的一串字面量,变量和运算符的组合。
1.1.3 语句
1.1.3.1 声明语句
将一个变量与一个类型在编译时关联起来。
1.1.3.2 赋值语句
将(由一个表达式定义的)某个数据类型的值和一个变量关联。
1.1.3.3 条件语句
if(<boolean expression>) {
<block statements>}
if(<boolean expression>) {
<block statements>}
else {
<block statements>}
1.1.3.4 循环语句
<initialize>
while(<boolean expression>)
{
<block statements>
<increment>
}
for(<initialize>;<boolean expression>;<increment>)
{
<block statements>
}
1.1.3.5 调用和返回语句
break
和continue
1.1.4 简便记法
1.1.4.1 声明并初始化
1.1.4.2 隐式赋值
- 递增/递减运算符
- 其他复合运算符
1.1.4.3 单语句代码段
条件语句或循环语句的代码段只有一条语句,代码段的花括号可以省略。
1.1.5 数组
1.1.5.1 创建并初始化
double[] a; //声明数组
a=new double[N]; //创建数组
for(int i=0;i<N;i++) //初始化数组
a[i]=0.0;
1.1.5.2 其他创建和初始化方法
double[] a=new double[N]; //直接申明-创建数组
int[] a={
1,1,2,3,5,8}; //直接申明-初始化数组
1.1.5.3 使用数组
经典数组处理代码
/**
* 找出数组中最大的元素
*/
double max = a[0];
for (int i = 1; i < a.length; i++)
if (a[i] > max) max = a[i];
/**
* 计算数组元素的平均值
*/
int N = a.length;
double sum = 0.0;
for (int i = 0; i < N; i++)
sum += a[i];
double average = sum / N;
/**
* 复制数组
*/
int N = a.length;
double[] b = new double[N];
for (int i = 0; i < N; i++) {
b[i] = a[i];
}
/**
* 颠倒数组元素顺序
*/
int N = a.length; //N=7
for (int i = 0; i < N / 2; i++) {
//i=0,1,2,3,(4,5,6)
double temp = a[i];
a[i] = a[N - 1 - i];
a[N - 1 - i] = a[i];
}
/**
* 矩阵乘法
*/
int N = a.length;
double[][] c = new double[N][N];
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
for (int k = 0; k < N; k++)
c[i][j] += a[i][k] * b[k][j];