java基础知识——第三篇

1、方法的概述

简单的来说方法就是完成特定功能的代码块,作用:提高代码的复用性

格式:

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

{方法体语句;return 返回值;

//参数的作用;完成此方法需要的前提条件  

//如果方法没有返回值return语句可以省略}

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

2、方法的重载

方法重载的要求:

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

3、数组

数组是存储同一数据类型多个元素的集合,它相当于一个容器

数组的作用:数组相当于一个容器,为了存储同种数据类型的多个值,可以存储基本数据类型也可以存储引用数据类型

格式:

数据类型 [ ]  数组名 = new 数据类型 [数组的长度]

数据类型 [ ]  数组名 = new 数据类型[ ]{给定的数组的值}

数组的空指针异常:访问; 为null的对象,null表示这个事物不存在,而不是说它是空值

数组的索引越界异常:访问了并不存在的索引

 4、数组的内存图结构

虚拟机内存主要用的三部分:堆、栈、方法区

栈内存:存放方法及方法中的局部变量

堆内存:存方法对象

方法区:存放代码片段、常量池(常量池中存放的是字符串的值)、静态属性

 解析:堆内存会给每一个new出来数组对象分配一个地址值,栈内存是通过这个地址值找到每一个数组对应的索引值的

 解析:int arr3=arr2;表示数组二赋值给了数组三,由于数组二的地址值没有发生改变,所以这两个数组所指的是同一个地址,当arr3[0]发生变化时,arr2[0] 的值也发生了变化

5、数组的操作

(1)数组反转

原始的方法分析:

(1)互换多少次,长度/2次

(2)谁和谁互换,每一轮的首元素和尾元素互换

(3)如何互换,引入第三变量

6、二维数组

二维数组的元素是一个个的一维数组

格式:

(1)数据类型 [][] 变量名 = new 数据类型 [m][n];

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

(2)数据类型 [][] 变量名 = new 数据类型 [m][];

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

(3)数据类型 [][] 变量名 = new 数据类型 [][]{{元素...},{元素...},{元素...}};

  简写:数据类型 [][] 变量名 = new 数据类型 [][]{{元素...},{元素...},{元素...}};

  int [][] arr = new int[][]{{11,22},{33,44},{55,66}};

  int [][] arr =  int[][]{{11,22},{33,44},{55,66}};

二维数组的内存图:

 解析:同一维数组相同都是利用地址值的指向关系来确定是哪个元素

二维数组的遍历:

日积月累
原文地址:https://www.cnblogs.com/qiumh/p/12782203.html