java基础知识篇——学习中

224 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,点击查看活动详情

java内存分配

  • 栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
  • 堆:存储对象或者数组,new来创建的,都存储在堆内存
  • 方法区:存储可以运行的class文件
  • 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
  • 寄存器:给CPU使用,和我们开发无关

栈内存:程序的主入口(main方法),开始执行会进栈,代码执行完毕会出栈

堆内存:new出来的东西会在这块内存中开辟空间并产生地址

方法

  • 把一些代码打包在一起,该过程称为方法定义
  • 方法定义后并不是直接运行的,需要手动调用才能执行,该过程称为方法调用

方法的定义格式

最简单的方法定义和调用

格式

public static void 方法名(){
    方法体(就是打包起来的代码)
}

范例

public static void playGame(){
    七个打印语句;
}

!注意:方法必须先定义后调用,否则将会报错

口诀:看到方法调用方法,执行完毕回到调用处

带参数的方法定义和调用

  • 单个参数:方法名(参数)
  • 多个参数:方法名(参数1,参数2... ...)

**! 注意:方法调用时,参数的数量与类型必须与方法定义中小括号里的变量一一对应,否则程序将报错。 **

  • 形参:全称形式参数,方法定义中的参数
  • 实参:全称实际参数,方法调用中的参数 ! 方法调用时,形参和实参必须一一对应,否则程序将报错。

带返回值的的方法定义和调用

在调用处要根据方法的结果去编写另一段代码时,就要用到带返回值的方法了

定义格式

public static 返回值类型 方法名(参数){
    方法体;
    return 返回值;
}

方法的注意事项

  • 方法不调用就不执行
  • 方法与方法之间是平级关系,不能互相嵌套
  • 方法的编写顺序与执行顺序无关
  • 方法的返回值类型为void,表示该方法没有返回值
  • return语句下面不能写代码,因为永远执行不到,属于无效代码

return关键字

  • 方法没有返回值:可以省略不写,如果书写,表示结束方法
  • 方法有返回值:必须要写,表示结束方法和返回结果

方法的重载

  • 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
  • 每个方法具有不同的参数类型或参数个数,这些同名的方法就构成了重载关系

简记

  • 同一个类中,方法名相同,参数不同的方法,与返回值无关。
  • 参数不同:个数不同、类型不同、顺序不同

(参数是不同类型比如int和double也是不一样的) eg.

public class MethodDemo{
    public static void fn(int a){
        //方法体
    }
    public static int fn(double a){
        //方法体
    }
}

这个构成重载关系

public class MethodDemo{
    public static void fn(int a,double b){
        //方法体
    }
    public static int fn(double a,int b){
        //方法体
    }
}

这个也构成重载关系,但是不建议用

java虚拟机会根据参数的不同来区分同名的方法