Java学习第三天

1.流程控制
  break语句:1.结束其所在的循环,如果想结束外循环,加标记,break 标记
       2.结束switch case选择判断语句
  continue:结束某一次循环,直接进入下一次循环
      (一般应用于for循环中,遇到continue则布直接跳到for循环的i++部分,结束当前循环,执行下一次循环)

2.函数(方法):作用:实现特定功能的一段独立的代码段,可反复使用。
      应用场景:每次遇到相同的功能,都要写相同的代码,出现了重复性代码
        优点:避免了重复性代码,减少冗余
           提高复用性
           可读性
           可维护性
           方便分工合作

        定义
          public static 数据类型 函数名(参数类型 参数1,参数2,参数3…….) :
          {
            执行语句;
            return 返回值
          }
        使用:调用,什么时候用,什么时候调用
   函数专注于功能:函数不应该专注于数据,所以使用参数的方式接收传入的数据
           通常函数使用的数据由main函数提供,自定义的函数只要实现该实现的功能即可
  函数内存的入栈和出栈:java内存:栈,堆,方法区,本地方法区,寄存器
        函数内存用栈(栈是先进后出)。外部函数使用完立刻释放内存。
        函数是入栈的,函数中定义的变量是在栈中开辟内存,当函数内部的代码全部执行完,函数出栈,也就是释放内存
3.return
  注意:1.函数没有返回值也可以使用return,表示函数结束
     2.如果一个函数有返回值,那么在任何情况下都要有返回值。(例如a<b a>b a==b这三种情况都要有返回值)

4函数的重载:在同一个class中,出现了多个名称相同,但参数不同的函数,这种现象叫重载。
  参数不同:个数不同,类型不同,个数类型都不同
  注意:重载和返回值无关。

5.自定义函数:

  明确参数(明确自定义的函数是否需要接收参数)
  明确返回值(明确自定义的函数是否有返回值,返回值的类型是什么)

6.数组:属于引用数据类型,是一种数据类型

  定义:一组连续的存储空间,存储多个相同数据类型的值

  特点:长度固定,类型相同

  new int[5];//在内存中开辟连续的5个整型空间
  java的内存是有java虚拟机划分的,JVM虚拟机把内存分为5块,栈,堆、方法区、本地方法区,寄存器(寄存器存放的是字节码的行号)
  :什么样的数据入栈?在方法(函数)、语句中定义的变量(局部变量)
  特点:作用域结束了立刻释放内存
  :什么样的数据入堆?实体(数组、对象)(引用数据类型都是入堆的)
  特点:存储的都是多个数据
  arr存放的数组的内存首地址,我们称arr是数组的引用。
  当没有引用指向数组时,这个数组就没办法被使用了,这个数组就成为垃圾,但不会立刻释放内存,等待垃圾回收线程。
  特点:1.堆中有默认值,栈中没有默认值
  2.垃圾回收线程回收机制,没有引用的不会立刻释放内存,等待垃圾回收线程。
  引用类型的变量存储的是引用类型

 

点赞