1). 顺序结构
2). 分支结构 (单路分支, 多路分支)
3). 循环结构
4). 函数的调用与返回
2. 整理选择分支的语法
单if
互斥 if...else
多分支互斥 if...else if...else if...else(条件严格的在前)
嵌套的if
switch...case(break与default是其他;不加break各case结果输出)
3. 整理循环语法
while
do...while(比起其他两种至少循环一次)
for
循环的4要素:循环变量初始化,循环变量条件,循环变量条件的迭代,循环体
什么是函数?
函数是一系列指令的集合, 通过函数封装指令, 可以达到代码复用的目的
函数是组织代码的最小单元
类是程序的最小单元
4. 什么是静态函数, 函数的组成部分, 函数调用时需要注意什么
主函数和普通函数的区别是什么
静态函数是内部函数,如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用(private)
函数调用时注意Math之类系统自带还是;private(私有函数)public(公开函数)啥都不加(可以被同包的调用)
主函数和普通函数,:主函数main函数栈底;普通函数可以被调用。
主函数可以用private修饰吗? 为什么?
不可以,不可以调用外部的函数
1. 权限修饰符
public : 公共的, 可以在任何外部类中调用
private: 私有的, 只能在本类的内部调用
(default)默认不写权限修饰符: 同包的, 只能在同一个包里面调用
2. 静态修饰符
static 函数必须添加static修饰符, 如果没有static修饰, 就不是函数, 而是方法
方法的调用方式跟函数是不一样的
3. 返回值类型
写 void 代表函数没有返回值
写一种具体的类型 代表函数有返回值, 并且约定了返回值的类型
例如: 返回值类型的double, 那么调用方调用后, 只能用double类型的变量来接受函数的返回值
并且函数内必须用return返回值的double类型的操作数出去
4. 函数名
5. 参数列表
6. 函数体
7. 返回值
5. 参数
6. 返回值
7. 什么是类加载 : 字节码文件(*。class)通过类加载进入方法区
8. 什么是方法区: 方法区里储存字节码文件,等待执行。
定义的位置不同
静态变量: 定义在函数外面, 类的里面
局部变量: 定义在函数里面
作用域不同
静态变量: 当前类中所有的函数都可以使用
局部变量: 只能在当前函数内使用
局部变量一定不可以被外部访问, 因为不可用加访问权限修饰符
静态变量可以被外部访问, 因此可以添加访问权限修饰符
10. 什么是栈, 什么是栈帧
12. 画出JVM内存结构图
11. break、continue、return的作用和区别
return的功能是结束一个方法
continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。
break用于完全结束一个循环,跳出循环体。
13. 什么是debug
找bug,可以安步检查,理解栈逻辑
14. 什么是递归
public static int n(int a){
if(a==1||a==2){
return 1;
} return n(a-2)+n(a-1);
}
15. 整理以下关键字
class 定义类
public 公共的
private 私有的
if 开始一个选择分支, if后面跟小括号,小括号里面的操作数是判断条件, 可以是直接量,变量,表达式, 但必须是boolean类型
else else后面不跟条件, 但是else if后面必须跟条件
switch 开始一个选择分支, switch后面跟小括号
小括号里面的操作数只能是byte, short, int, char类型
Java5后支持枚举类型
Java7后支持String类型, 但通过观察字节码可以发现, 本质上还是int类型
注意, switch不支持long类型, 也不支持浮点型和boolean类型
case 是switch中的一个分支, 后面跟直接量, 直接量与switch()中的操作数的数据类型必须相同
default 在switch中所有case都不满足时执行default分支, 它相当于是多重if分支中的最后的else, 是所有情况都不满足时, 默认执行的分支
break 1. 用于跳出switch...case
2. 用户跳出循环
如果有循环嵌套循环, 那么break跳出的是最近的那个循环
while 开始一个循环, while后面跟小括号,小括号里面的操作数是判断条件, 可以是直接量,变量,表达式, 但必须是boolean类型
do do必须和while组合使用, do在前面, while在后面, 先执行一次do, 再通过判断while条件是否成立, 来决定是否循环
for 开始一个循环, for后面跟小括号, 小括号里面有3组表达式, 分别是循环变量初始化, 循环条件, 循环变量的迭代
continue 本轮循环结束, 进入下一轮循环
void 函数没有返回值
return 函数返回,
后面可以什么都不跟, 也可以跟一个操作数, 具体要看函数是否定义了返回值类型
static 静态的
17、数组的使用
数据类型[] 变量名=new 数据类型[长度];
- 数据类型可以是8大基本数据类型的任意一个或者是复杂数据类型
- [] 必须有, 没有的话就不是数组, 而不是普通变量, [] 可以放在数据类型后面, 也可以放在变量名后面, 通常是放在数据类型后面
- int[] arr1 语法正确, arr1是int类型的数组
- int arr2[] 语法正确, arr2是int类型的数组
- int[] arr3[] 语法错误, 不能出现2个[]
- int arr4 语法正确, 但是arr4是普通的int类型变量, 而不是int类型数组
- new 关键字用于开辟数组的内存空间, 在堆区中开辟内存空间
- 数据类型[长度] 长度不能不写, 不写语法错误
=是将堆区中数组的内存地址返回后存储在变量中
二维数组
数据类型[][] 变量名=new数据类型[长度][长度];
生成随机数
Random random = new Random();
arr[i] = random.nextInt(100);



