java学习笔记

  1. 方法

    1. 方法是以段代码片段,并且这段代码片段可以完成某个特殊的功能,并且可以被重复使用
    2. 方法定义在类体中,在一个类当中可以定义多个方法,方法编写的位置没有先后位置,可以随意
    3. 方法体当中不能再定义方法
    4. 方法体由java语句构成,方法体当中的代码遵循自上而下的顺序依次执行
    5. 方法的定义:
      [修饰符列表] 返回值类型 方法名(形式参数列表){
          方法体;
      }
    6. 修饰符列表
      1. 可选项,不是必须的
      2. 一般统一写成:public static
      3. 方法中的修饰符列表当中有static关键字的话,调用方法
        1. 类名.方法名(实际参数列表);
    7. 返回值
      1. 只要带有return关键字的语句执行,return语句所在的方法结束【不是JVM结束,是return语句所在的方法结束】
      2. 在同一个作用域当中,return语句下面不能编写任何语句,因为这些语句永远不会执行
      3. 返回值类型是void的时候,在方法体当中不能再编写return 值;这样的语句。当时可以编写return ;这样的语句
      4. 返回值类型若不是void,表示这个方法结束之后必须返回一个具体的数值。return 值;
      5. 也可能这个方法执行结束之后不返回任何数据,java中规定,当一个方法执行结束之后不反回任何数据的话,返回值类型位置不行编写:void关键字
      6. 返回值类型可以是java任意类型
      7. 返回值类型:返回值是一个具体的数据,数据都是有类型的,此处需要指定的是返回值的类型
      8. 一个方法是可以完成某个特定功能的,这个功能结束之后大多数都是需要返回最终执行结果的,执行结果可能是一个具体的数据。而这个具体的数据就是返回值
    8. 方法名
      1. 只要合法的标识符就行
      2. 方法名最后见名知意
      3. 方法名最后是动词
      4. 方法名的首字母小写,后面每个单词首字母大写
    9. 方法体必须有大括号括起来,方法体当中的代码有顺序,遵循自上而下的顺序依次执行。并且方法体有java语句构成,每一个java语句以";“结尾
    10. 形式参数列表:简称形参
      1. 形参是局部变量
      2. 形参的个数可以是:0-N个
      3. 多个形参之间用逗号隔开
      4. 形参中起决定性作用的是形参的数据类型,形参的名字就是局部变量的名字
      5. 方法再调用的时候,实际给这个方法传递的参数被称为:实际参数,简称实参
      6. 实参和形参必须满足:
        1. 数量相同
        2. 类型对应相同
      7. 方法的调用
        1. 方法只定义不去调用时不会执行的。只有被调用才会执行
        2. 语法规则:《方法的修饰符列表当中有static》
          1. 类名.方法名(实参列表);《这是一条java语句,表示调用某个类的方法,传递这样的实参》
        3. 方法调用不一定在main方法当中,可以在其他方法当中,只要程序可以执行到的位置都可以调用方法
        4. 方法调用的时候实参和形参要求个数对应相同,数据类型对应相同类型不同的时候要求能进行相应的数据类型转换
        5. 对于方法修饰符列表有static关键字的,在当前类定义的方法进行调用:"类名."可以省略,在其他类进行调用的方法不可以省略
        6. 一般一个java源文件只定义一个class
    11. 方法在执行过程中,在JVM中的内存时如何分配的
      1. 方法只定义,不调用时不会执行的,JVM也不会为该方法分配运行所属的内存空间,只有在调用这个方法的时候,才会动态的给这个方法分配内存空间
      2. 在JVM内存划分中有这样三块主要的内存空间
        1. 方法区内存
        2. 堆内存
        3. 栈内存
      3. 关于栈这种数据结构
        1. 栈,stack,时一种数据结构
        2. 数据结构反应的数据的存储形态
        3. 数据结构是独立的学科,不属于任何编程语言的范畴,只不过在大多数编程语言种要使用数据结构
        4. 作为程序员,需要提前精通:数据结构+算法
        5. java程序员在不精通数据结构和算法的前提下,也可以进行java开发,因为java有一套强大的类库支持,别人写好了,直接用
        6. 常见的数据结构:
          1. 数组
          2. 队列
          3. 链表
          4. 二叉树
          5. 哈希表/散列表
        7. 栈:
          1. 栈帧永远指向栈顶元素
          2. 栈顶元素处于活跃状态,其他元素静止
          3. 术语:
            1. 压栈/入栈/push
            2. 弹栈/出栈/pop
          4. 栈数据结构存储数据的特点
            1. 先进后出,后进先出
        8. 方法代码片段属于.class字节码文件的一部分,字节码文件在类加载的时候,将其存放在方法去当中。所以JVM中的三块主要内存空间中方法区最先有数据,存放了代码片段。
        9. 代码片段在方法区虽然在方法区内存中只有一份,但可以被重新调用,每一次调用这个方法的时候,需要给该方法分配独立的活动场所,在栈内存中分配【栈内存中分配方法运行的所属内存空间
        10. 方法在调用的瞬间,会给该方法分配内存空间,会在栈中发生压栈动作,方法执行结束之后,给该方法分配的内存空间全部释放,此时发生弹栈动作
          1. 压栈:给方法分配内存
          2. 弹栈:释放该方法的内存空间
        11. 局部变量在方法体中声明,局部变量运行阶段内存在栈中储存
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值