1. 程序的执行流程有几种
(1) 顺序结构:程序从上到下逐行的执行,中间没有任何判断和跳转。
(2)分支结构
1)单路分支:If 语句。开始选择一个分支。If后面跟小括号,小括号里面的操作数是 判断条件,可以是直接量,变量,表达式,但必须是boolean类型。
形式1:if (逻辑表达式)
{}
形式2:if(逻辑表达式)
{}
else{}
形式3:if()
else if{}
else if{}...
else
2)多路分支:switch 语句:控制的表达式的数据类型只能是byte,short,char,int四种整数 类型,不能是boolean类型。
语法形式:
(3)循环结构:1)while循环:如果while中的count一开始就是false的话,则循环部分不会执 行。但是一定要保证循环条件有变成false的时候,否则该循环 将成为死循环。
2)do…while循环 :do while循环与while循环的区别在于:while循环是先判断 循环条件,如果条件为真则执行循环体;而do while循环则 先执行循环体,然后才判断循环条件,如果循环条件为 真,则执行下一次循环,否则中止循环。
3)for循环:大多数情况下,for循环可以代替while循环和do..while循环
(4)控制循环结构:break是跳出循环
continue是结束本轮循环, 进入下一轮循环
return是函数返回
2.循环的4要素:循环变量初始化
循环条件
循环体
循环迭代
3.什么是函数:函数是一系列指令的集合, 通过函数封装指令, 可以达到代码复用的目的
函数是组织代码的最小单元
类是程序的最小单元
函数的组成部分 :(1)权限修饰符
public : 公共的, 可以在任何外部类中调用
private: 私有的, 只能在本类的内部调用
(default)默认不写权限修饰符: 同包的, 只能在同一个包里面调用
静态修饰符:static 函数必须添加static修饰符, 如果没有static修饰, 就不是函数, 而是 方法
方法的调用方式跟函数是不一样的
(2)返回值类型
写 void 代表函数没有返回值
写一种具体的类型 代表函数有返回值, 并且约定了返回值的 类型
例如: 返回值类型的double, 那么调用方调用后, 只能用double 类型的变量来接受函数的返回值并且函数内必须用 return返回值的double类型的操作数出去
4. 函数名:函数的标识需要满足标识符语法规范,当调用函数用函数名进行调用
5. 参数列表
6. 函数体
7. 返回值
8. 什么是类加载:加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对 象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。
9. 静态变量与局部变量的区别
定义的位置不同
静态变量: 定义在函数外面, 类的里面
局部变量: 定义在函数里面
作用域不同
静态变量: 当前类中所有的函数都可以使用
局部变量: 只能在当前函数内使用
局部变量一定不可以被外部访问, 因为不可用加访问权限修饰符
静态变量可以被外部访问, 因此可以添加访问权限修饰符
10. 什么是栈:为每个新创建的线程都分配一个堆栈。堆栈以帧为单位保存线程的状态。jvm对堆栈 只进行两种操作:以帧为单位的压栈和出栈操作。
什么是栈帧:是用于支持虚拟机进行方法调用和方法执行的数据结构。栈帧存储了方法的局部 变量表,操作数栈,动态连接和方法返回地址等信息。第一个方法从调用开始到 执行完成,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。
11. 画出JVM内存结构图
12. 什么是debug:排除故障,排除错误;调整程序,移去程序中的错误;
13. 什么是递归: 在函数中存在着调用函数本身的情况,这种现象就叫递归。它通常把一个大型复 杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。
14.java常用的数学函数:调用Java中的数学函数需要使用import java.lang.Math.*;
ceil(double):返回不小于该参数的最小整数(最接近负无穷)的double型值。
floor(double):返回不大于该参数的最大整数(最接近正无穷)的double型值。
IEEEremainder(double, double):计算两个参数按照IEEE 754标准规定的求余运算。
pow(double, double):返回参数一的参数二次方。
random():返回0.0~1的任意值。
cos(double x):返回x 的余弦值。
max(double x,double y)∶传回x、y较大数
min(double x,double y)∶传回x、y较小数



