二、数据类型
三、变量
1.作用域:一个变量在程序中的可见性和生命周期,根据作用域的范围,可以分为
类变量:class ,在整个类中被访问
局部变量:function,仅在此方法中被访问
块变量: {},一对花括号之间的代码块,仅在此块中被访问
public class Variable{
static int classVaria le
}
四、类和对象
(一)类
(二)对象
1.创建对象
- 【1声明】 - 具有变量名称和对象类型的变量声明。
- 【2实例化 】-
new
关键字用于创建对象。 - 【3初始化】 -
new
关键字后跟对构造函数的调用,此调用初始化新对象。
String str = new String("str");
类型 名称 = new 类型(赋值)
五、运算符
-1 < i < 10
C:非0即真,↑不对但不会报错,而是如果i>1的话就是返回1,而后有1又与10进行比较.
java:关系运算符的结果只有真(true)和假(false),是直接编译报错的
a+=b
a=a+b
C 等价
JAVAa+=b等价与a=(short)(a+b)
六、数组
用来存储相同类型元素的固定大小顺序集合
数据类型[] 数组名称 = new 数据类型[]
七、循环
while循环:在每次循环之前检查条件表达式的真假,只有当条件为真时才执行循环体内的代码。
八 递归 一种强大且常用的编程技术
(一)概念
在函数或方法的定义中调用自身的过程
(二)原理
函数调用栈的原理
当一个方法(包含参数、局部变量和返回地址等信息)被调用时,会在调用栈中创建一个对应的栈帧,在递归中,方法会在自身的定义中调用自身,这会导致多个相同方法的栈帧依次入栈。当满足终止条件时,递归开始回溯,栈帧依次出栈,方法得以执行完毕。
(三)关键
定义好递归的终止条件和递归调用的条件。
如果没有适当的终止条件或递归调用的条件不满足,递归可能会陷入无限循环,导致栈溢出错误
(四)应用场景
-
数学问题:如计算阶乘、斐波那契数列等。
-
数据结构操作:如遍历树的节点、链表反转等。
-
搜索和回溯算法:如深度优先搜索、回溯法等。
-
分治法:如归并排序、快速排序等。
(五)实现方法
在Java中,实现递归通常需要定义一个递归函数或方法。递归函数需要满足以下两个要素: * 终止条件(Base Case):定义递归结束的条件,避免陷入无限循环。
(六)递归调用(Recursive Call)
在方法的定义中调用自身,处理更小规模的子问题。
public class Factorial {
public static int factorial(int n) {
// 终止条件
if (n == 0) {
return 1;
}
// 递归调用
return n * factorial(n - 1);
}
public static void main(String[] args) {
int n = 5;
int result = factorial(n);
System.out.println("Factorial of " + n + " is: " + result);
}
}