关于java基础知识的归档整理(三)——函数和数组

 

  1.  
  2. 函数
  3. 一、函数
  4.  
  5. 1、函数的定义
  6. 函数就是定义在类中的具有特定功能的一段独立小程序
  7.  
  8. 2、函数的格式
  9. 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,……)
  10. {
    执行语句;
  11. return ;
  12. }
  13. 注:
  14. 返回值类型是函数运行后的结果的数据类型;
  15. 参数类型:是形式参数的数据类型。
  16. 形式参数:是一个变量,用来存储调用函数时传递给函数的实际参数。
  17. 实际参数:传递给形式参数的具体数值
  18. return:用于结束函数
  19. 返回值:函数运行后的结果,该结果将会返回给调用者
  20.  
  21. 3、函数的特点
  22. a、定义函数可以将功能代码进行封装
  23. b、便于对该功能进行复用
  24. c、函数只有被调用才会被执行
  25. d、函数的出现提高了代码的复用性
  26. e、对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行,可以省略不写

注意:函数中只能调用函数,而不能在函数内定义函数

定义函数时,函数的结果应该返回给调用者,由调用者处理

 

  1. 4、如何定义一个函数呢?
  2. 函数就是一个功能,功能就需要两部分:1、结果2、未知内容
  3. 理解了两个明确,定义函数易如反掌
  4. 明确1:这个功能的结果是什么?//其实就是明确返回值类型
  5. 明确2:这个功能需要的未知内容是什么?//其实就是明确参数列表
  6.  
  7. 5、函数的重载
  8. 概念:
  9. 在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或参数类型不同即可
  10. 特点:与返回值类型无关,只看参数列表
  11. 例://返回两个整数的和
  12. int add(int x,int y){return x+y;}
  13. int add(int x,int y,int z){return x+y+z}
  14. 注意:函数的功能一样,仅仅参与运算的未知内容不同时,可以定义多函数,却使用同一函数名,这样方便阅读
  15. 在调用时,虚拟机通过参数列表的不同来区分同名函数
  16. 6、内存结构
  17. java程序在运行时,需要在内存中分配空间,为了提高运算效率,有对空间进行了不同区域的划分,因为每片区域都有特定的数据处理方式和内存管理方式
  18. 栈内存:
  19. 用于存储局部变量,当数据使用完后,所占空间自动释放
  20. 堆内存:
  21. 数组和对象,通过new建立的实例都存放在堆内存中
  22. 每个实体都有内存地址值
  23. 实体中的变量都有默认的初始化值
  24. 实体在不被使用时,会在不确定的时间内被垃圾回收器回收
  25.  

 

 

函数在内存中的运行:

运行程序,主函数在内存中建立空间(压栈)

主函数调用功能函数,

功能函数在内存中建立空间

将值赋给功能函数

 

 

  数组

 

一、概念

同一类型数据的集合

二、数组的格式:

格式一:

元素类型【】数组名=new 元素类型【元素个数】例:int【】arr=new int[5]

格式二:

元素类型【】数组名=new 元素类型【】{2,34,2……}例:int 【】 arr={3,4,5}

 

 

三、数组常见的问题

1、数组角标越界

原因:访问到了数组中不存在的脚标时发生

2、空指针异常

原因:arr没有指向实体,却在操作实体中的元素

 

四、数组中的数组——二维数组

格式一:

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

说明:

a、定义了一个名为arr的二维数组

b、二维数组中有3个一维数组

c、每个一维数组中有2个元素

d、一维数组的名称分别为arr[0],arr[1],arr[2]

e、给第一个一维数组1角标位赋值29的写法是:arr[0][1]=29

 

格式二:

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

说明:

a、二维数组中有3个一维数组

b、每个一维数组都是默认初始化值 null

c、可以对这三个一维数组分别进行初始化

 

格式三:

int[][] arr={{1,21,3},{3,43,2},{67,56,98}}

a、定义一个名称为arr的二维数组

b、二维数组中有3个一维数组

c、每个一维数组中的具体元素都初始化

d、第二个一维数组的长度表示方式:arr[1].length

 

 

数组的特殊格式:

int[]x,y[];x是一维数组,y是二维数组

 

 

 

____________________________________________________________________________________________

 

小结:本篇重点记录的是函数和数组,需要重点掌握函数在内存中的运行情况,及数组的几种格式

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值