1. 程序的执行流程有几种
(1)顺序结构
(2)分支结构 (单路分支, 多路分支):if条件语句、Java7增强后的switch分支语句
if :开始一个选择分支, if后面跟小括号,小括号里面的操作数是判断条件, 可以是直接量,变量,表达式, 但必须是boolean类型
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跳出的是最近的那个循环
(3)循环结构 :包括循环变量初始值、循环条件、循环体、迭代语句
(4)函数的调用与返回
2. 整理选择分支的语法
单if | if (logic expression) { statement.. } |
互斥if else | if (logic expression) { statement... } else { statement... } |
多分支互斥if...else if...else if...else | if (logic expression) { statement.... } else if {statement } else { statement... } |
嵌套的if | |
switch...case | switch (expression) { case 1: { statement (s) break;} case 2: { statement(s) break;} ...... case n: { statement (s) break;} default; {statement (s) }} |
3. 整理循环语法
while | [inti_statement] while (text_expression) { statement; [liiteration_statement] } |
do..while | (init_statement) do {statement;[literation_statement] } while (text_expression); |
for | for ([init_statement];[text_expression];[literation_staement]) { statement } |
循环的4要素:循环变量初始值、循环条件、循环体、迭代语句
什么是函数?
函数是一系列指令的集合, 通过函数封装指令, 可以达到代码复用的目的
函数是组织代码的最小单元
类是程序的最小单元
4.什么是静态函数, 函数的组成部分, 函数调用时需要注意什么
主函数和普通函数的区别是什么
静态函数:如果关键字 static 在函数名之前加上前缀,则该函数称为 静态函数 。
函数的组成部分:访问权限修饰符、静态修饰符、返回值类型、函数名、参数列表
函数调用时需要注意什么:1.实际参数的类型与形式参数的类型匹配。 2.实际参数与形式参数的个数要相同。 3.实际参数与形式参数的类型个数要统一
主函数和普通函数的区别是什么:
main函数是由jvm所调用的,程序的固定入口。而普通函数的调用可以通过类调用或对象调用,调用者为其他类或对象。
普通函数的写法根据业务与java规范而定,但是main函数的写法是为了被jvm调用,所以写法固定(除了参数名字,但是参数类型是固定的字符串数组)
5.主函数可以用private修饰吗? 为什么?
不可以因为private修饰符是使用在类的 ,如果在类中声明一个成员变量使用private修饰后,这个变量只能被这个类中的方法所访问。
1. 权限修饰符
public : 公共的, 可以在任何外部类中调用
private: 私有的, 只能在本类的内部调用
(default)默认不写权限修饰符: 同包的, 只能在同一个包里面调用
2. 静态修饰符
static 函数必须添加static修饰符, 如果没有static修饰, 就不是函数, 而是方法
方法的调用方式跟函数是不一样的
3. 返回值类型
写 void 代表函数没有返回值
写一种具体的类型 代表函数有返回值, 并且约定了返回值的类型
例如: 返回值类型的double, 那么调用方调用后, 只能用double类型的变量来接受函数的返回值
并且函数内必须用return返回值的double类型的操作数出去
6.什么是类加载:就是将类的class文件读入内存,并为之创建一个java.lang.class文件。
7.什么是方法区:用来存放有关类方法的一块逻辑上的区域
8. 静态变量与局部变量的区别
定义的位置不同
静态变量: 定义在函数外面, 类的里面
局部变量: 定义在函数里面
作用域不同
静态变量: 当前类中所有的函数都可以使用
局部变量: 只能在当前函数内使用
局部变量一定不可以被外部访问, 因为不可用加访问权限修饰符
静态变量可以被外部访问, 因此可以添加访问权限修饰符
9. 什么是栈, 什么是栈帧
栈:又名堆栈。是一种运算受限的线性
栈帧:是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区的虚拟机栈的栈元素。
10. break、continue、return的作用和区别
break是跳出循环
continue是结束本轮循环, 进入下一轮循环
return是函数返回
(1)break用于跳出循环语句(即终止循环语句)或跳出switch语句
break语句之后没有使用任何标签时用于跳出循环或switch语句
break语句之后有标签时用于跳出标签所标记的循环语句
(2)continue用于循环语句
continue用于略过本次循环中的后续语句进行下次循环
continue语句之后没有使用任何标签时用于略过本次循环后续语句进入下次循环
continue语句之有标签时用于略过后续语句进入标签所标记循环的下次循环
(3)return用于方法体中
return可用于返回数据
return可将当前正在执行的方法终结
11. 画出JVM内存结构图
12.什么是debug
debugs是一种计算机程序,包括排除故障和调试程序。
13.什么是递归
就是在程序运行的过程中不断调用自己
15. 整理以下关键字
class 定义类
public 公共的
private 私有的
class | 要在前面加上static关键字 |
public | 共有的,可以被外部调用 |
private | 私有的,只能在本垒内部调用 |
16.Java常用的数学函数
(1)函数名
(2)函数的参数
(3)函数的返回值
(4)函数的值作用是什么
(5)完成一次函数调用
例如:
函数名 参数 返回值 作用
random 无 double 随机生成0-1的浮点数
函数名 | 参数 | 返回值 | 作用 |
ceildouble给定参数的最小正数 floorfloat给定参数的最大整数 | |||
abs | 将负数变为正数 | ||
rint | 返回最接近参数的整数值 | ||
round | 实现四舍五入 | ||
max/min | 计算最大最小值 | ||
exp | 返回e的x次方 | ||
cbrt | 计算立方根 | ||
log() | 返回x的自然底数 |