编程基础核心知识(2)
一、条件语句
条件语句用于根据不同条件执行对应代码逻辑,主要分为以下类型:
1. 单分支if
- 适用场景:仅有一种情况需要判断(满足条件则执行,不满足则不执行)。
- 核心逻辑:判断条件是否为真,若为真则执行大括号内的代码。
2. 双分支if...else
- 适用场景:存在两种对立情况(满足条件执行一套代码,不满足执行另一套)。
- 核心逻辑:条件为真时执行if内代码,条件为假时执行else内代码。
3. 多分支if...else if...else
- 适用场景:需要判断三种及以上情况(按条件顺序依次匹配,匹配成功则执行对应代码)。
- 核心逻辑:从第一个条件开始判断,满足则执行对应代码;若所有条件均不满足,可执行末尾else内代码(可选)。
4. 其他类型
- switch:常用于多值匹配场景(基于整数、枚举等固定类型判断)。
- 嵌套if:在if或else的代码块中再次嵌套if语句,用于处理多层复杂条件判断。
二、运算符
运算符是实现数据运算与逻辑判断的核心符号,按功能分为以下类别:
1. 赋值运算符
- 功能:将等号右侧的值或表达式结果,赋值给左侧的变量。
- 核心符号:`=`(如“变量=值”)。
2. 比较运算符
- 功能:比较两个值的关系,结果为布尔值(真/假)。
- 常用符号:`==`(恒等于)、`!=`(不等于)、`>`(大于)、`<`(小于)、`>=`(大于等于)、`<=`(小于等于)。
3. 算术运算符
- 取商(/):
- 若两侧均为整数,结果为整数(如1÷2=0);若有一侧为小数,结果为小数(如1.0÷2=0.5)。
- 整数相除时,“小数÷大数”结果为0。
- 取余(%):
- 仅适用于整数运算;“小数%大数”结果为小数本身。
- 自增/自减(++/--):
- 符号在变量前(如++a):先让变量自身+1,再参与后续运算或输出。
- 符号在变量后(如a++):先让变量参与运算或输出,再让自身+1。
4. 逻辑运算符
- 逻辑与(&&,短路与):
- 规则:两个表达式均为真时,整体结果为真;只要有一个为假,整体为假。
- 特性:若第一个表达式为假,直接返回假,不执行第二个表达式。
- 逻辑或(||,短路或):
- 规则:两个表达式均为假时,整体结果为假;只要有一个为真,整体为真。
- 特性:若第一个表达式为真,直接返回真,不执行第二个表达式。
- 逻辑非(!):
- 功能:对布尔值取反(真变假,假变真)。
5. 位运算
- 位与(&):两个数字对应二进制位均为1时,结果位为1,否则为0;可用于判断奇偶(如数字&1,结果为1是奇数,为0是偶数)。
- 位或(|):两个数字对应二进制位有一个为1时,结果位为1,否则为0。
- 异或(^):两个数字对应二进制位相同为0,不同为1。
- 按位取反(~):将数字二进制位的0变1、1变0。
- 左移(<<):数字二进制位整体左移,溢出部分丢弃,空缺位补0。
- 右移(>>):数字二进制位整体右移,溢出部分丢弃,空缺位补0。
三、二叉树
二叉树是一种重要的数据结构,每个节点最多有两个子节点(左子节点、右子节点),核心知识如下:
1. 二叉树的定义与特点
- 核心特点:无需创建结构体集合,通过一个根节点即可访问所有节点。
- 节点构成:每个节点包含数据、左孩子指针(指向左子节点)、右孩子指针(指向右子节点)。
2. 二叉搜索树(特殊二叉树)
- 核心规则:左子树所有节点的值小于根节点的值,右子树所有节点的值大于根节点的值(左小右大)。
- 新增节点逻辑:
1. 若树为空(根节点为null),直接创建新节点作为根节点。
2. 若树非空,将新增值与当前节点值比较:
- 新增值更小:递归向左子树插入。
- 新增值更大:递归向右子树插入。
3. 二叉树的遍历方式
遍历指按特定顺序访问所有节点,常见方式有4种:
- 前序遍历:顺序为“根节点→左子树→右子树”(先访问根,再递归遍历左右子树)。
- 中序遍历:顺序为“左子树→根节点→右子树”;二叉搜索树的中序遍历结果为升序序列。
- 后序遍历:顺序为“左子树→右子树→根节点”(最后访问根节点)。
- 层次遍历:顺序为“从上到下、从左到右”(按树的层级依次访问节点);基于“先进先出”的队列实现。
