day4

发布时间 2023-11-29 00:25:14作者: zzzzzzzzzlx

方法(完成特定功能的代码块)

  • 注意:在很多语言里面有函数的定义,而在java中函数被称为方法。

  • 格式:

修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型 参数名2......){

方法体语句;

return 返回值;

}

 

  • 详细解释:

修饰符: 目前就用public static ,后面我们再详细的讲解其他的修饰符

返回值类型:就是功能结果的数据类型。

方法名:符合命名规则即可,方便我们得到调用。

参数:

实际参数:就是实际参与运算的

形式参数: 就是方法定义上的,用于接收实际参数的。

参数类型:就是参数的数据类型

参数名:就是变量名

方法体语句:就是完成功能的代码。

return:结束方法的。

返回值:就是功能的结果,由return带给调用者。

  • 想要写好一个方法,就必须明确两个东西:

A:返回值类型 结果返回的类型

B: 参数列表: 你要传递几个参数,以及每个参数的数据类型

需求:求两个数据之和的案例

 

方法的调用

 

有明确返回值的调用

  1. 单独调用:sum(x,y) ,

  2. 输入调用:System.out.println(sum(x,y))

  3. 赋值调用 int result =sum(x,y)

 

  • 方法的注意事项:

    1. 方法不调用不执行

    2. 方法与方法是平级关系,不能嵌套定义

    3. 方法定义的时候参数之间用逗号隔开

    4. 方法调用的时候不用再传递数据类型

    5. 如果方法有明确的返回值,一定要有return带回一个值

     

    void类型返回值的方法调用

    1. 单独调用

    2. 输出调用(错误)

    3. 赋值调用(错误)

     

     

    方法重载(在一个类中,方法名相同,参数列表不同,与返回值类型无关)

    参数列表不同:

    1. 参数个数不同

    2. 参数类型不同

     

     

    数组

    数组概念

    1. 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器

    2. 数组既可以存储基本数据类型,也可以存储引用数据类型

    数组的定义格式

    1. 数据类型 [] 数组名 int [] a; 定义一个int类型的数组a变量

    1. 数据类型 数组名 [] int a [ ]; 定义一个int类型的a数组变量

      注意 : 效果可以认为是一样的,都是定义一个int数组,但是念法上有些小区别。推荐使用第一种

    数组的初始化

    1. 初始化概念:就是为数组开辟内存空间,并为每个数组元素赋予值

    2. 方式

      • 动态初始化

        1. 格式 数据类型 [] 数组名 = new 数据类型 [数组长度]

          举例:int [ ] arr = new int [3]

          左边 :

          int: 说明数组中的元素的数据类型是int类型

          [] :说明这是一个数组

          arr:是数组的名称

          右边:

          new: 为数组分配内存空间

          int:说明数组中的元素的数据类型是int类型

          [ ] : 说明这是一个数组

          3 : 数组长度,其实也就是数组中元素的个数

      • 静态初始化

        1. 格式 : 数据类型 [ ]数组名 =new 数据类型[ ]{ 元素1,元素2...}

     

    Java中的内存分配

    1. 具体分为五个内存空间

      • 栈:存放的是局部变量 局部变量 :在方法中或者方法声明 上的变量都称为局部变量

      • 堆:存放的是所有new 出来的东西

        1. 堆内存的特点:

          • 每一个new 出来的东西都有地址值

          • 每个变量都有默认值:

            byte,short,int,long 0

            float, double,0.0

            char \u0000

            boolean false

            引用类型 null

           

      • 方法区:(面对对象部分)

      • 本地方法区(和系统有关)

      • 寄存器(cpu使用)

     

    数组操作的两个 常见小问题

    1. ArrayIndexOutOfBoundsException:数组索引越界异常

      原因:你访问了不存在的索引

      1. NullpointerException:空指针异常

        原因:数组已经不在指向堆内存了。而你还用数组名去访问元素