初窥Java之五

一、方法

1、语法格式

修饰符  返回值类型 方法名(形参列表){

方法体

}

2、返回值类型

返回值类型可以时:1、void(无返回值)

       2、8大基本数据类型中的任意一种

      3、引用数据类型中的任意一一种

怎么判断是否需要返回值?

  结合需求,该返回就返回

return:指的是返回一个值给调用方并且结束方法

3、方法签名

方法签名 = 方法名 + 形参列表

怎么判断方法是否一样?

判断方法签名是否一样

怎么判断方法签名是否一样?

1、方法名是否相同,如果相同,则看形参列表

2、看形参列表中的数据类型

3、看形参列表中的形参个数

4、看形参列表中的形参顺序

4、方法重载(overload

指的是方法名相同,参数列表不同的方法。

1、必须在同一个类中;

2、方法名相同,形参列表不同;

3、与修饰符、返回值类型无关

简而言之,方法重载就是为了减少程序员的记忆量

5、怎么去调用方法

1. 类名.方法名()   前提:你的方法有被static所修饰

2. 对象名.方法名() 前提:你的方法没有被static所修饰

3. 直接方法名()    前提: 调用方和被调用方,都在同一个类中,要么都被static所修饰,要么都没有被static所修饰

调用方法的注意事项: 调用方法的时候,实参列表与形参列表必须一致(参数个数,参数类型,参数类型顺序)

二、数组

1、动态创建数组

语法格式:数组中数据类型[] 变量名 = new 数组中数据类型[数组的长度];

例:int[] arr = new int[5];

              也可以这样写:数组中数据类型[] 变量名;

变量名 = new 数组中数据类型[数组的长度];

例:int[] arr ;

arr = new int[5];

2、静态创建数组

语法格式:数组中数据类型[] 变量名= new 数组中数据类型[]{1,3,2};或者

  数组中数据类型[] 变量名= []{1,3,2};

注意:静态数组的创建必须立即赋值,不能像下面这样写:

:数组中数据类型[] 变量名;

   变量名= []{1,3,2};   这是错误的!!!

3.数组的赋值

arr[0] = 33;    把33装进索引为0的盒子中

4.数组的取值异常

1System.out.println(arr[0]);    取出数组索引为0的盒子中的值

2、数组特点:数组一旦创建成功,它的长度是不能更改的

3、数组:它是引用数据类型,默认值为null

4、数组常见的错误:

1.数组脚标越界

原因:

    1. 索引为负数,或者超过了最大索引

2.空指针异常

原因:

  1. 调用方法的时候,或者调用属性的时候,对象的值已经为null了

三、堆栈内存图分析数组,方法

得出两个重要结论:

1、方法调用时其实是将实参的值复制一份赋值给形参;

引用数据类型才有堆栈内存图,基本数据类型没有,因为基本数据类型复制并赋值给形参的就是具体数据,而引用数据类型复制并赋值给形参的是内存地址,实参,形参操作的时同一个对象。

原文地址:https://www.cnblogs.com/limengkun/p/10575123.html