JavaSE总结;the fourth day

一、函数的概念

1、什么是函数

函数就是定义在类中的具有特定功能的一段独立小程序,并能被多次使用

定义函数的目的:提高代码的复用性

 2、函数定义的格式

例:

注意:函数的返回值类型如果是void时,return语句可以省略不写;void表示的是没有返回值的情况

二、函数的重载

  重载的表现就是同一个类中 有多个同名函数

如何区分重载?主要看参数类型的排列组合(顺序,个数)

参数的类型的顺序和个数是否不一样

三、数组的定义

数组是同一种类型数据的集合;即能够存放多个相同类型的数据的容器。

数组的两种创建方式

     (1)1Int [] arr = new int[3];

     (2)Int [] arr={1,2,3,4,5};

数组的特点:可以存储多个数据,而且可以对数据进行编号,从0开始。操作元素完成可以通过编号(索引)完成。

Int [] arr1=arr;//这个语句其实是把数组的元素的首地址赋给arr1;如果你对arr1进行操作,arr数组也会产生相应变化。

四、数组内存图解

1、Java对内存空间的划分:五部分:栈,堆,方法区,本地方法区,寄存器。

注意;方法存储在方法区,但是方法运行时,是要进栈的。常量池在方法区中。

 

2、栈内存:存储都是局部变量。只要是在主函数和方法中定义的变量都是局部变量。一旦变量的生命周期结束该变量就被释放。

3、堆内存:存储都是实体(对象),每一个实体都有一个首地址值。堆内存的变量都有默认初始化值。不同类型不一样。当实体不在使用时,就会被垃圾回收机制处理。

4、各种数据类型数组的初始化值

int-0

double-0.0

boolean-false

char-'\u0000'

五、数组的常见问题

1、ArrayIndexOutOfBoundsException(数组越界):访问到了数组不存在的索引时,会发生该异常

2、NullPointerException(空指针异常):当使用没有任何实体指向的引用变量操作实体时,运行会发生该异常,图解如下:

六、二维数组

二维数组定义

int[][] arr = new int[3][2];

定义了名称为arr的二维数组, 二维数组中有3个一维数组,每一个一维数组中有2个元素, 一维数组的名称分别为arr[0], arr[1], arr[2]。

 

二维数组的内存图解:

内存图解说明:

int[][] arr = new int[3][];

二维数组中有3个一维数组,每个一维数组都是默认初始化值null,可以对这个三个一维数组分别进行初始化。

arr[0] = new int[3];

arr[1] = new int[1];

arr[2] = new int[2];

发布了162 篇原创文章 · 获赞 142 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44571270/article/details/103396120