艾瑞 6.23 day03

1. 程序的执行流程有几种
    1). 顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。
    2). 分支结构 (单路分支, 多路分支):

         if语句:使用布尔表达式或布尔值作为分支条件来进行分支控制。

switch语句:用于对多个整型值进行匹配,从而实现分支控制。


    3). 循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体。当反复执行这个循环体时,需要在合适的时候把循环条件改为假,从而结束循环,否则循环将一直执行下去,形成死循环。

while循环语句:先判断循环条件,如果条件为真则执行循环体

do......while循环语句:先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则终止循环。与while循环的不同是,do while循环的循环条件后必须有一个分号,这个分号表明循环结束。

for循环:

注意:


    4). 函数的调用与返回:

 retrun语句:return的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。程序中大部分循环体都被放在方法中执行,一旦在循环体内执行到一个retrun语句,retrun语句就会结束该方法,循环自然也随之结束。

return可以在方法内任何地方使用:

  1. 方法内可以有return, 也可以没有, 如果没有, 编译器默认会在方法最后加一个return
  2. 方法内只能有一个return , 这句话是对的, 但是有问题, 为什么有问题

方法内可能有分支, 如果在分支中return的话, 每个分支都可以return

方法中如果没有分支, 则只能有一个return, 有分支, 可以有多个return

  1. return语句的后面不能再写任何代码, 这句话是对的, 但是有问题, 为什么有问题

方法内可能有分支, 如果在分支中return的话, 则分支中return的后面不能再写代码

但是不代表分支的外面不能继续写代码, 因为分支未必会执行

2. 整理选择分支的语法:
    单if
    互斥 if...else
    多分支互斥 if...else if...else if...else
    嵌套的if 
    switch...case
3. 整理循环语法:
    while
    do...while
    for

循环的4要素:

1.循环变量初始化
2.循环条件
3.循环条件的迭代
4.循环体

什么是函数?
    函数是一系列指令的集合, 通过函数封装指令, 可以达到代码复用的目的
    函数是组织代码的最小单元
    类是程序的最小单元

4. 什么是静态函数, 函数的组成部分, 函数调用时需要注意什么
   主函数和普通函数的区别是什么

静态函数: 函数调用的结果不会访问或者修改任何对象(非static) 数据成员 ,这样的成员声明为 静态成员 函数比较好。

主函数可以用private修饰吗? 为什么?

不能,因为private修饰符是使用在类的 ,如果在在类中声明一个成员变量使用private修饰后,这个变量只能被这个类中的方法所访问,而在方法体中声明变量,这个变量的作用域是从这个变量声明直到方法体结束,如果再使用private修饰的话两者就会冲突,所以不能在方法体内声明一个变量为private,而且在方法里声明变量为private也没什么意义,方法内声明的变量的作用域本来就在方法体内,也在他本身的类中,自然也不会被其他类中的方法所访问。

 

   1. 权限修饰符
           public : 公共的, 可以在任何外部类中调用
           private: 私有的, 只能在本类的内部调用
           (default)默认不写权限修饰符: 同包的, 只能在同一个包里面调用
   2. 静态修饰符
           static 函数必须添加static修饰符, 如果没有static修饰, 就不是函数, 而是方法
           方法的调用方式跟函数是不一样的

   3. 返回值类型
           写 void 代表函数没有返回值
           写一种具体的类型 代表函数有返回值, 并且约定了返回值的类型
               例如: 返回值类型的double, 那么调用方调用后, 只能用double类型的变量来接受函数的返回值
                     并且函数内必须用return返回值的double类型的操作数出去

3.返回值类型:

写void代表函数没有返回值

写一种具体的类型,代表函数没有返回值,并且约定了返回值的类型:

例如:返回值类型的double,那么调用方调用之后,只能用double类型的变量来接受函数的返回值,并且函数内必须使用

4. 

函数名参数返回值作用
randomdouble 随机生成0-1的浮点数
min/maxint计算最大值,最小值
absint 绝对值函数,可用于将负数变为正数
roundint可实现四舍五入
expint例如exp(2)代表e的平方
logdouble以e为底x(传进来的参数)的对数
rintint返回最接近参数的整数值


7. 什么是类加载:我们写的源代码文件和编译后生成的字节码文件都是存储到磁盘中的,而CPU是不能直接执行磁盘中的代码文件,因此在执行时需要由类加载系统将代码文件加载到方法区中执行。
8. 什么是方法区:方法区就是jvm虚拟机内存中负责存储字节码的区域称为方法区。

9.静态变量与局部变量的区别:

定义的位置不同

1).静态变量:定义在函数外面,类的里面

2).局部变量:定义在函数里面

作用域不同
         静态变量: 当前类中所有的函数都可以使用
         局部变量: 只能在当前函数内使用
     局部变量一定不可以被外部访问, 因为不可用加访问权限修饰符
     静态变量可以被外部访问, 因此可以添加访问权限修饰符

10. 什么是栈, 什么是栈帧:

什么是栈:是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。

什么是栈帧:栈帧是栈区中的最小执行单元,栈帧中包含方法中的指令集和局部变量表、返回值地址;一个方法中不能有同名的局部变量,但是不同的方法中可以有同名的局部变量,局部变量的作用域只在当前方法中可操作,无法在一个方法中操作另一个方法中的局部变量,但是可以将方法中的局部变量返回给另一个方法;方法是静止的,栈帧是运行的,栈帧是方法的运行时的时态


11. break、continue、return的作用和区别:
    break是跳出循环
    continue是结束本轮循环, 进入下一轮循环
    return是函数返回

12. 画出JVM内存结构图:


13. 什么是debug:是一个隐藏的对象,用于进行和调试相关的工作。
14. 什么是递归:在一个方法内部对自身进行调用。
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     静态的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值